Skip to main content
GET
Get receipt
The authoritative, branded receipt for a single payment, refreshed to its live status. The Zennopay SDK calls this endpoint for you inside presentReceipt — partners usually don’t call it directly.

Authorization

string
required
Bearer <receiptToken> — a Zennopay-minted receipt token (from POST /v1/payment_intents/{intent_id}/receipt_token), scoped to the user whose receipt this is. Read-only, reusable, and not intent-bound. See Reopen a receipt → the receipt token.

Path parameters

string
required
Zennopay intent ID, e.g. zp_AbCd1234EfGh5678.

Response

string
The intent ID.
string
Live status at fetch time: pending, captured, failed, or refunded. Poll a pending receipt to a terminal state.
integer
USD amount debited from the user’s wallet.
string
th_promptpay or vn_vietqr.
string
The amount delivered to the merchant, in local currency (e.g. "3500000" VND).
string
Merchant display name from the scanned QR.
string
Masked destination account, e.g. ••• 4321.
string
RFC 3339 UTC timestamp.
string
Present only when status is captured.
object
Present only when status is refunded: { amount_usd_cents, refunded_at }.
No existence leak. A receipt token scoped to one user returns 404 for any intent that isn’t that user’s — including another partner’s intents. The 404 does not distinguish “doesn’t exist” from “not yours”.

Example

Example uses the sandbox host. Swap to https://api.zennopay.com in production. The legacy api.zennopay.in hosts are still served for existing integrations. See Environments.
Response