Skip to main content
POST
/
v2
/
payout
curl --request POST \
  --url https://sandboxapi.me-cash.com/v2/payout \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "remark": "TESTING",
  "reason": "GIFT",
  "quoteId": "91e58c2d-ef14-4777-906b-xxxxxxxxxxxxx",
  "recipient": {
    "name": "Adeolu Adebayo",
    "account": {
      "bankName": "GT Bank",
      "accountNumber": "0010401234",
      "bankCode": "058"
    }
  }
}
'
{
"status": "success",
"message": "Transaction created successfully.",
"data": {
"id": "c6611ad3-805a-415b-98b7-xxxxxxxxxxxxx",
"remark": "Testing",
"reason": "Gift",
"referenceNumber": "L2TEZEHNXXXXXX",
"type": "SEND",
"state": "COMPLETED",
"quote": {
"id": "e5eec724-38f9-40e2-9i86-xxxxxxxxxxxxx",
"source": {
"currency": "NGN",
"country": "NG",
"amount": 150000
},
"target": {
"currency": "USD",
"country": "US",
"amount": 81.97
},
"rate": 1830,
"fee": {
"amount": 0
},
"rules": [
{
"category": "LIMIT",
"appliedCurrency": "USD",
"appliedCountry": "US",
"transaction": {
"minimum": 1,
"maximum": 20000000000000
},
"invoice": 200000000000
}
],
"summary": {
"total": 150000
},
"settlementTime": "1 hr",
"quoteCurrency": "USD",
"expiresInSeconds": 600
},
"recipient": {
"paymentChannel": "BANK_TRANSFER",
"currency": "NGN",
"country": "NG",
"account": {
"accountNumber": "0010401234",
"bankName": "<string>",
"sortCode": "058"
},
"name": "<string>",
"type": "INDIVIDUAL",
"address": "<string>"
},
"created": "2023-11-07T05:31:56Z",
"processed": "2023-11-07T05:31:56Z"
}
}

Error responses

StatusMessageWhat it meansHow to fix
400Insufficient wallet balance for transactionWallet cannot cover the payout total.Deposit more funds or reduce the amount before retrying.
400Quotes only last for 10 minutesThe referenced quote expired.Fetch a new quote and submit the payout right away.
400Invalid country or currency ISO codePayload contains an unsupported corridor combination.Use valid ISO codes for corridors enabled on your workspace.
400Account name mismatch, use account enquiry endpointAccount name conflicts with bank enquiry data.Run the account enquiry endpoint and mirror its response.
400Invalid Bank SortcodeProvided sort code is missing, malformed, or unsupported.Retrieve the correct sort code from the bank list endpoint.
400{field_name} cannot be emptyRequired recipient attribute missing from the payload.Populate every mandatory field before sending the request.
401API key missing or incorrectAuthentication header missing/invalid.Include the proper x-api-key for the environment.
403IP not whitelistedCall originated from an unapproved IP address.Add your server IP to the dashboard whitelist.
404The requested endpoint does not existIncorrect path or API version.Ensure you are calling POST /v2/payout on the right base URL.
422Invalid quote ID providedQuote ID missing, expired, or already consumed.Create a new quote and reference its id.
500Service temporarily unavailableBackend disruption prevented processing.Retry later with exponential backoff; contact support if needed.

Authorizations

x-api-key
string
header
required

Body

application/json
quoteId
string
required

The unique identifier for the quote.

recipient
NGN Payout · object
required

Details of the recipient. The structure depends on the recipient's currency and payment channel.

reason
enum<string>

The reason for the payout.

Available options:
FAMILY_SUPPORT,
GIFT,
SALARY_PAYMENT,
EDUCATIONAL_FEES,
BUSINESS_INVOICE,
OTHER
remark
string

A standardized remark for the transaction.

Response

Payout transaction created successfully.

status
string
required
Example:

"success"

message
string
required
Example:

"Transaction created successfully."

data
object
required