docs
Get startedTroubleshootingPaymentsWebhooksAgent paymentsSwop MCPOviIdentity (swop.id)SwivyRPC (preview)API reference

Crypto payment not showing

The buyer says they paid, but the order isn’t there or you haven’t been paid.

Symptom: The buyer says they paid, but the order isn’t there or you haven’t been paid.

Why this happens

Crypto payments don't need anyone to press "confirm": the blockchain transfer is the confirmation, and Swop matches it to the checkout by itself. When one seems missing, it's usually one of three things: the buyer paid the wrong way, the checkout had expired, or the money arrived but is held in escrow until the order is delivered.

Crypto is never gated on identity checks, so verification is never the reason a crypto payment is missing.

Walk through it

Answer one question at a time. The first no is almost always the cause.

Diagnose: Crypto payment not showingCheck 1 of 5

Did the buyer send USDC on Solana, using that checkout’s payment request?

How to check: Headless checkouts return a paymentRequest (a solana: link for USDC). Other tokens, other chains or a hand-typed amount won’t match the checkout.

Check these in order

1. Did the buyer send USDC on Solana, using that checkout’s payment request?

How to check: Headless checkouts return a paymentRequest (a solana: link for USDC). Other tokens, other chains or a hand-typed amount won’t match the checkout.

If not: Ask the buyer to pay from the checkout’s own link or QR. If funds were sent another way, contact support with the transaction ID. See Headless checkout.

2. Was the checkout still open when they paid?

How to check: Checkouts expire (24 hours by default, up to 30 days with expiresAt). Read the checkout’s status.

If not: If it says expired or cancelled, create a new checkout. If money moved after expiry, contact support.

3. Is the order status paid?

How to check: GET /api/v5/merchant/orders, or the checkout.paid webhook. pending_payment means the transfer isn’t final yet.

If not: Give it a minute. Swop checks for new payments about once a minute. See Statuses and escrow.

4. Has your payout been released (settlement.status is released)?

How to check: Orders with a physical item sold online are held in escrow until the buyer confirms receipt, or a waiting period after delivery.

If not: Mark the order shipped and delivered in the Swop app. payout.released fires when you’re paid. See Statuses and escrow.

5. Is the order free of conversion_failed or settlement_failed?

How to check: Those statuses mean the buyer has paid and Swop has the money, but a step after payment failed.

If not: Contact support@swopme.co with the order ID; support completes the order or refunds the buyer. Never tell the buyer they weren’t charged. See Support.

Still stuck?

Email support@swopme.co with your swop.id, roughly when it happened, and any order, checkout or request ID. Never send your secret key. You can also use the Ask button on any page.

On this page