Skip to main content
POST

Overview

Use the Remittance API to send cross-border payouts. Remittances are asynchronous: you receive an acceptance response immediately, then a final outcome via webhook. This call is idempotent. Reuse the same transaction.reference to safely retry the same logical remittance.

Authentication and signature

Required headers String to sign (no separators)
Use the exact string values you send in the JSON (including casing).

Request body

Top-level fields transaction originator recipient

Example request (Individual originator, BANK recipient)


Example request (Corporate originator, MOMO recipient)


Example response (accepted)


Notes

  • Final outcome is delivered via webhook. See Webhooks overview.
  • Errors follow the standard error shape. See Errors.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

X-Custom-Signature
string
required

Base64 RSA signature over: transaction.reference + transaction.amount + originator.country + transaction.service_code

Body

application/json
transaction
object
required
originator
object
required
recipient
object
required
callback_url
string<uri>
required

HTTPS URL to receive final status callbacks.

meta
object

Arbitrary key-value metadata echoed back in callbacks.

Response

Accepted

status
string
required

e.g., 200.100

code
string
required

ACCEPTED, REJECTED.

description
string
required
data
object
required