Developers

Shopwooo Payments API

Create payment links, track status, and receive webhooks — authenticate with your API key, accept crypto by chain and token, route to MoonPay or Qoay, or let customers choose on a Shopwooo-hosted page.
API key auth
Payment links
Webhooks

Authentication

Every request requires a secret API key. Pass it as a Bearer token in the Authorization header. Keep keys server-side — never expose them in browser or mobile clients.

httpheader
Authorization: Bearer sk_live_••••••••••••
Base URL

https://api.shopwooo.com/v1

Payment methods

Pass a provider name to skip choice UI, use crypto with chain + token, use auto to let Shopwooo pick, or customer_decide to show a hosted selector.

auto

Shopwooo selects the best available provider for the region and amount.

moonpay

Redirects the customer straight to MoonPay checkout.

qoay

Redirects the customer straight to Qoay checkout.

stripe

Redirects the customer straight to Stripe Checkout.

paypal

Redirects the customer straight to PayPal.

binance_pay

Redirects the customer straight to Binance Pay.

crypto

On-chain payment. Set crypto.chain (ethereum, polygon, tron, …) and crypto.currency (usdt, usdc, …).

customer_decide

Opens a Shopwooo-hosted payment page. The customer picks a method; a provider link is generated and they are redirected.

Crypto payments

Set payment_method to crypto, then pass the network and token under crypto: chain first, then currency (token).

01

Method

payment_method: "crypto" — selects on-chain settlement as the main method.

02

Chain

crypto.chain — network to receive funds on (ethereum, polygon, tron, …).

03

Currency

crypto.currency — token on that chain (usdt, usdc, eth, …).

Supported chains
Ethereum · ethereum
Polygon · polygon
Tron · tron
BNB Smart Chain · bsc
Solana · solana
Arbitrum · arbitrum
Supported tokens (currency)
USDT · usdt
USDC · usdc
ETH · eth
BNB · bnb
TRX · trx
Pairing rules

Not every token is available on every chain. For example, usdt / usdc work on ethereum, polygon, and tron; native coins like eth only apply to their home networks. Invalid pairs return 400 with a validation error.

Request — crypto

bashcreate-crypto-payment-link.sh
curl -X POST https://api.shopwooo.com/v1/payment-links \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 149.00,
    "currency": "USD",
    "payment_method": "crypto",
    "crypto": {
      "chain": "ethereum",
      "currency": "usdt"
    },
    "order_id": "ord_9f2a1c",
    "success_url": "https://yoursite.com/paid",
    "cancel_url": "https://yoursite.com/cancelled"
  }'

Response — crypto

The response echoes crypto.chain and crypto.currency. Redirect the customer to url (or show deposit_address if you build a custom UI).

jsoncrypto-response.json
{
  "id": "plink_c4d5e6f7",
  "status": "pending",
  "payment_method": "crypto",
  "amount": 149.00,
  "currency": "USD",
  "crypto": {
    "chain": "ethereum",
    "currency": "usdt"
  },
  "url": "https://pay.shopwooo.com/crypto/plink_c4d5e6f7",
  "deposit_address": "0xAbC…dEf1",
  "hosted_page_url": null,
  "expires_at": "2026-10-26T18:00:00Z",
  "created_at": "2026-10-26T16:00:00Z"
}

Customer decide flow

With payment_method: "customer_decide", the first URL is a Shopwooo-hosted page. After the customer picks a method, Shopwooo generates a fresh provider link and redirects them.

01

Create link

API returns a Shopwooo hosted_page_url. Send your customer there.

02

Customer chooses

They land on pay.shopwooo.com and select MoonPay, Qoay, crypto (chain + token), Stripe, and more.

03

Provider redirect

A new checkout URL is generated for the chosen platform and the browser redirects.

Response — customer decide

jsoncustomer-decide.json
{
  "id": "plink_a1b2c3d4",
  "status": "awaiting_method",
  "payment_method": "customer_decide",
  "amount": 149.00,
  "currency": "USD",
  "url": "https://pay.shopwooo.com/p/plink_a1b2c3d4",
  "hosted_page_url": "https://pay.shopwooo.com/p/plink_a1b2c3d4",
  "expires_at": "2026-10-26T18:00:00Z",
  "created_at": "2026-10-26T16:00:00Z"
}
Status while choosing

While the customer is on the hosted page, status is awaiting_method. After they pick a provider it moves to pending, then paid / failed / expired as usual.

Check payment link status

Poll or look up a link by ID. Prefer webhooks for real-time updates; use this endpoint for reconciliation and dashboards.

GET

https://api.shopwooo.com/v1/payment-links/{id}

ParameterTypeRequiredDescription
idstringYesPayment link ID returned from create (path parameter).

Request

bashget-status.sh
curl -X GET https://api.shopwooo.com/v1/payment-links/plink_7c3e91ab \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

jsonstatus.json
{
  "id": "plink_7c3e91ab",
  "status": "paid",
  "payment_method": "moonpay",
  "provider_reference": "mp_txn_88421",
  "amount": 149.00,
  "currency": "USD",
  "paid_at": "2026-10-26T16:12:44Z",
  "created_at": "2026-10-26T16:00:00Z"
}
pending
awaiting_method
paid
failed
expired
cancelled

Webhook integration

Register a HTTPS endpoint in your Shopwooo dashboard. We POST signed JSON when a payment link changes state so you can fulfill orders without polling.

ParameterTypeRequiredDescription
payment_link.createdevent—Fired when a payment link is created.
payment_link.method_selectedevent—Fired when customer_decide resolves to a specific provider.
payment_link.paidevent—Payment confirmed by the provider.
payment_link.failedevent—Payment failed or was declined.
payment_link.expiredevent—Link expired before payment completed.

Example payload

jsonwebhook.json
{
  "id": "evt_9d2f88",
  "type": "payment_link.paid",
  "created_at": "2026-10-26T16:12:45Z",
  "data": {
    "id": "plink_7c3e91ab",
    "status": "paid",
    "payment_method": "moonpay",
    "order_id": "ord_9f2a1c",
    "amount": 149.00,
    "currency": "USD",
    "provider_reference": "mp_txn_88421"
  }
}
Verify signatures

Each webhook includes an X-Shopwooo-Signature header (HMAC-SHA256 of the raw body with your webhook secret). Reject requests that fail verification, and return 2xx quickly — we retry failed deliveries with exponential backoff.

Ready to integrate?

Create an API key from your Shopwooo dashboard, then start generating payment links in minutes.

Contact for API access

ShopWooo

© 2026 Shopwooo. All rights reserved.