High Wire Payments
Payments

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.

POST
/v1/payments/{id}/refund
AuthorizationBasic <token>

Basic HTTP authentication

In: header

Path Parameters

id*string

Payment id

Header Parameters

Idempotency-Key?string

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"}