Retrieve a Charge
Fetch a single charge by ID, including the customer and payment method used
status value means, which transitions are possible, and which webhook each one emits, see Checkouts, Charges and Reviews.
Every Soap API request is authenticated with a bearer token in the Authorization header:
key_....
Requests with a missing or invalid API key return 422 — never 401 — with a JSON error field, usually {"error": "API key not found."}. Branch on the status code rather than the message: GET /api/v1/device_pings/latest_geo_check does not yet return the same wording.
Never expose your API key in client-side code — it is server-side only.
- Core:
id,amount_cents,transaction_type,currency,status,failure_code,failure_message,created_at,updated_at. - Related entities: a flattened
customerobject and apayment_methodobject.payment_methodalways containsid,payment_type,created_at,updated_at,saved, andfingerprint, plus exactly one ofcard,bank_account, orcrypto_wallet(matchingpayment_type). - Processor metadata (card charges only):
avs_result,cvv_result,network_authorization_code,processor_charge_id, and an optionalthreedsblock when 3D Secure was performed.
Authorizations
Bearer token authentication using your API key (key_...). Used for every endpoint except POST /api/v1/device_pings.
Path Parameters
Unique identifier of the charge to retrieve.
"ch_pQsQ4kz3Af6Mb9rCupnWj6VFzxJsmkYK"
Response
Charge retrieved.
"ch_pQsQ4kz3Af6Mb9rCupnWj6VFzxJsmkYK"
Charge amount in cents.
2999
Direction of the charge: credit for deposits (money into the customer balance), debit for withdrawals (money out).
credit, debit "debit"
"USD"
Current state of the charge. Not every value is reachable on every flow or processor: held occurs on withdrawals that place a hold; voided and returned follow a settled charge that the processor later reversed; cancelled applies to payouts cancelled while still pending on certain processors, and emits the opt-in checkout.cancelled event (ask Soap if this applies to you); refunded is set by a full refund of a settled NMI card charge via POST /api/v1/charges/{id}/refund or the dashboard, and emits the opt-in checkout.refunded event. See the charge lifecycle for the full transition map and which webhook each transition emits.
created, pending, succeeded, failed, held, voided, returned, refunded, cancelled "succeeded"
Machine-readable failure code; only present when status is failed.
null
Human-readable failure reason; only present when status is failed.
null
"2026-05-31T10:30:00.000Z"
"2026-05-31T10:30:05.000Z"
Payment method used for the charge. Exactly one of card, bank_account, or crypto_wallet is populated, matching payment_type.
Address Verification System result from the processor. Card charges only.
null
CVV verification result from the processor. Card charges only.
null
Authorization code returned by the card network. Card charges only.
null
External processor's identifier for this charge. Card charges only.
null
3D Secure verification details. Only present for card charges where 3DS was performed.

