status)| Status | Meaning |
|---|---|
started | Payment created. User has not completed checkout yet (or has not sent the transfer) |
pending_bank | Bank transfer: user confirmed it was sent; pending reconciliation |
payment_received | Fiat received. Crypto purchase is being processed |
coins_sent | Crypto sent to the user’s wallet. Includes txid |
| Use case | Action |
|---|---|
After createPayment | Store payment_id and poll status until coins_sent |
After createGuidedPayment | Poll status while the user completes checkout on gateway_url |
| Polling | Query periodically until a final status is reached |
| Webhooks | Alternative: subscribe to PAY_IN and COINS_SENT via /api/subscribeToWebhook |
1. POST /api/createPayment → payment_id
2. GET /api/payment/{payment_id} → status: started
3. GET /api/payment/{payment_id} → status: payment_received
4. GET /api/payment/{payment_id} → status: coins_sent + txidfiat_amount is in cents: divide by 100 to display euros (e.g. 15050 → 150.50 EUR).txid only appears when status is coins_sent.holder may be null if the payment provider has not returned that information yet.curl --location 'https://sandbox.cryptopocket.io/api/payment/'{
"status": "ok",
"data": {
"id": "aBcDeFgHiJkLmNoPqRsTuVwXy",
"external_id": "order-abc-001",
"user_id": "100067",
"status": "started",
"fiat_amount": 15050,
"fiat_symbol": "EUR",
"coin_symbol": "USDC",
"coin_amount": 148.32,
"created_at": "2026-06-26T10:30:00.000000Z",
"holder": null
}
}