Refunds
The refund object
Return all or part of a payment to the payer.
Return all or part of a payment to the payer.
Endpoints
GET /v1/refunds: List refundsPOST /v1/refunds: Create a refundGET /v1/refunds/{id}: Retrieve a refund
Attributes
idstringUnique identifier (
re_…).objectstringlivemodebooleanamountintegerAmount refunded (USDC atoms).
currencystringpaymentstringThe refunded payment (
pay_…).statusstringOne of:
pending,succeeded,failedpending: sent, confirmation not seen yet (resolves automatically; do not retry).succeeded: funds returned.failed: nothing moved (failure_code).reasonstring | nullfailure_codestring | nullOne of:
refund_failed,settlement_revertedfailure_messagestring | nulltx_hashstring | nullRefund transaction hash on Monad.
sourcestringOne of:
api,dashboard,pos,adminWhere the refund was requested: your API key, your dashboard, a terminal, or ZyloPay support (admin, under dual control).
metadataobjectnetworkstringOne of:
mainnet,testnetcreatedstring (date-time)Creation time.
updatedstring (date-time)Last status change.
Example
{
"id": "re_4Fq9LwP2mZt8Xk3Vb7Ns1HdQ",
"object": "refund",
"livemode": false,
"amount": 1000000,
"currency": "usdc",
"payment": "pay_1042",
"status": "succeeded",
"reason": "Customer returned one item",
"failure_code": null,
"failure_message": null,
"tx_hash": "0x9e1f0c8a36f2a7b6d1e4c3b2a1908f7e6d5c4b3a2918f7e6d5c4b3a2918f7e6d",
"source": "api",
"metadata": {
"return_id": "R-2211"
},
"network": "testnet",
"created": "2026-09-28T15:10:04.000Z",
"updated": "2026-09-28T15:10:05.000Z"
}