Initiate a Cross-border Refund

Refund a successful collection to a supplied payout destination.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

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.

Path Params
string
required

Cross-border request ID.

Body Params
string
required

Your reference for this refund attempt.

const
enum
required
Allowed:
payoutMethod
object
required
Responses

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json