Refund a captured payment
Refunds a successfully captured payment. Provide an amount for a partial refund, or omit it to refund the entire remaining refundable balance; cumulative refunds cannot exceed the captured amount.
Authorization
basic Basic HTTP authentication
In: header
Path Parameters
Payment id
Header Parameters
Optional client-supplied retry key (≤255 chars; UUID v4 recommended). Don't use sensitive data — emails, PANs, or other personal identifiers. Identical requests retried with the same key return the original response (2xx and 4xx are cached). Mismatched bodies return 422; in-flight duplicates return 409. Keys are scoped per merchant + endpoint and expire after 24 hours. NOTE: on 5xx the idempotency record is discarded — retry with the same key (provider-side dedup protects against duplicate execution).
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/payments/string/refund" \ -H "Content-Type: application/json" \ -d '{}'{ "refundId": "01928e3e-7b6c-7c8e-9b3a-5b9f8b9b9b9b", "paymentId": "01928e1c-2a4d-7c8e-8b1a-1234567890ab", "status": "CAPTURED", "amount": 500, "remainingRefundableAmount": 6500, "cardNumber": "555555xxxxxxxx4444", "cardExpiration": "1133"}{ "statusCode": 400, "error": "Bad Request", "message": [ "amount must not be less than 100" ]}{ "statusCode": 401, "error": "Unauthorized", "message": "Missing Authorization header"}{ "statusCode": 404, "error": "Not Found", "message": "Merchant not found: 01928e1c-2a4d-7c8e-8b1a-1234567890ab"}Retrieve a payment GET
Returns the authenticated merchant's payment with status, amount totals, payment-method details, and transaction and refund history. Payments owned by another merchant are not returned.
Void an authorized payment POST
Cancels an in-flight or authorized, uncaptured payment for its full amount. Captured payments cannot be voided and must be refunded instead.