Refund a successful collection to a supplied payout destination.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Refund the full original collection using POST /api/b2b/cross-border/requests/{requestId}/refunds. Supply externalReference, destination, and payoutMethod. The amount, currency, and country come from the collection. Supported destinations are momo, bank, paybill, and till; see refund destinations for required fields.
The request must be charge_successful, payout_failed, or refund_failed, with exactly one successful collection and no unsettled collections. All payouts must be failed, and no pending or successful refund may exist.
A successful response confirms initiation only. Store data.transactionId and data.originalTransactionId; follow the refund transaction's chargeStatus and the request's refund_inititated, refund_successful, or refund_failed status.
After a 502 or timeout, reconcile the request's transactions before retrying. A pending refund blocks another attempt. The error response does not include the internal submission metadata; use the submitted externalReference to filter the request's transaction list when no transaction ID was returned.
Sandbox uses /api/sandbox/b2b/cross-border/requests/{requestId}/refunds with a sandbox bearer token and simulates the outcome using the configured payout test account numbers.
