Accept crypto payments without making developers guess.
Create a test payment session, open checkout, verify webhook events, and move toward mainnet review with copy-paste examples instead of a sales call.
curl -X POST https://xpayr.com/api/v1/payments \
-H "Authorization: Bearer sk_test_xxx" \
-H "Content-Type: application/json" \
-d '{
"amount": 49.90,
"currency": "USDT",
"network": "tron-mainnet",
"metadata": {"order_id": "ORDER-1001"},
"success_url": "https://example.com/paid",
"cancel_url": "https://example.com/cancel",
"ipn_callback_url": "https://example.com/webhooks/xpayr"
}'
Choose the integration question you need to answer first.
Create a payment session
Start with a real checkout object: amount, currency, network, metadata, success URL, and webhook callback.
Open quickstartVerify webhooks
Handle payment.completed, payment.failed, and test.webhook events with HMAC signature checks.
Verify signaturesRun testnet end to end
Create a test session, open checkout, complete a wallet flow, and reconcile the status response.
Test safelyDebug API errors
Map authentication, validation, route, webhook, and fee delegation errors to the next fix.
Read error guideGive your developer one folder, not ten scattered links.
The public developer kit includes Postman files, browser SDK demo, cURL examples, PHP examples, Node examples, and webhook verification snippets. It is built for testnet-first evaluation and maps to the live API router.
Create
Call POST /api/v1/payments with amount, currency, network, and metadata.
Redirect
Open the returned payment_url so the buyer can complete the wallet payment.
Confirm
Poll GET /api/v1/payments/{id}/status or consume signed webhooks.
Reconcile
Store the session ID, transaction hash, status, gateway fee, and merchant order ID.
Ready to test a crypto checkout without production funds?
Open a merchant account, create a test session, and use the examples above to validate your integration before mainnet review.