Troubleshooting
Fixes for the common problems: payment not showing, wrong amount, expired checkout, exchange withdrawals, congestion, webhooks and emails.
Payment sent but not showing
- Wait for finality: about 15 minutes on Ethereum, usually a minute or two elsewhere (timing). The background check also settles payments after the customer closed the page.
- Open the transaction in the block explorer from the customer's wallet. Check the network, the recipient (your address for that network) and the amount.
- If the amount differs from the checkout, see the next section. If the network differs, the transfer is on another chain and cannot match this order.
- If everything matches and it is still pending after an hour, contact support with the order link and transaction hash.
Wrong amount sent
Only the exact amount, or the round price when it is unambiguous, is matched automatically. Overpayments and underpayments are not. The funds are already in your wallet, so settle the difference with the customer yourself: refund from your wallet or ask for the rest. Record the outcome for your accounting.
Checkout expired
Hosted checkout orders reserve an amount for 15 minutes. The customer opens the link again for a fresh order. A transfer that landed before expiry is still settled once final.
Paying from an exchange
- The amount that arrives must be the exact amount or the round price; add the exchange's withdrawal fee on top if it is deducted.
- Withdraw on the network shown on the checkout, and do it right away: some exchanges delay withdrawals.
- Two customers paying the same round price at the same time cannot be told apart and need manual matching. See wallets vs exchanges.
Network congestion
During congestion, transfers wait longer to be included and finalized. If a wallet offers a speed or fee setting, a higher fee helps. The order still settles if the transfer landed before expiry.
Webhook not arriving
- The URL must be public
https://on the default port, with no redirects. Check your firewall or bot protection allows POSTs from outside. - Answer 2xx within 5 seconds; do slow work after responding.
- Verify the signature over the raw body. Frameworks that parse JSON first change the bytes and the check fails.
- Failed deliveries are retried up to 8 times with growing gaps. Meanwhile, read the payment from the API.
- Replacing the webhook URL rotates the secret: update your server environment.
Email not received
- Check spam and promotions folders.
- Customer receipts only go to an email left at checkout or passed by your page.
- Your own notifications go to your account email. Payments always show in Payments whether or not an email arrives.
- For email codes (receiving networks), wait for the cooldown before requesting another code; only the newest code works.