Endpoint
POST:https://sandboxapi.me-cash.com/v2/payout
Supported Payment Channels
USD payouts support three SWIFT-based payment channels. All use the same recipient fields — the only difference is who bears the transfer charges.| Channel | Charge Bearer | Description |
|---|---|---|
SWIFT_OUR | Sender | The sending customer bears all transfer charges. |
SWIFT_SHARED | Both parties | Transfer charges are shared between sender and beneficiary. |
SWIFT_BENEFICIARY | Beneficiary | The beneficiary bears all transfer charges. |
Request Details
Headers
Include these headers in your request:| Header | Value | Required |
|---|---|---|
Content-Type | application/json | ✅ Yes |
x-api-key | API_KEY_HERE | ✅ Yes |
Need a bank’s SWIFT code or sort code? Use the Get Bank List endpoint to look up the recipient bank’s details (such as
swiftCode and sortCode) before building your payout request.Sample Requests
The sample request for USD payout is categorized into three types of senders:- SELF: the account holder sending funds on their own behalf.
- INDIVIDUAL: a person sending on behalf of themselves or a related party.
- COMPANY: a registered business sending funds.
sender object.
- SELF
- INDIVIDUAL
- COMPANY
curl --location --request POST 'https://sandboxapi.me-cash.com/v2/payout' \
--header 'x-api-key: API_KEY_HERE' \
--header 'Content-Type: application/json' \
--data '{
"recipient": {
"name": "James Wilson",
"nickName": "Blue",
"gender": "M",
"occupation": "business entrepreneur",
"type": "BUSINESS",
"account": {
"sortCode": "02090",
"swiftCode": "GTBINGLA",
"bankCity": "Atlanta",
"accountNumber": "885406******",
"bankName": "DBS Bank Limited",
"intermediarySwiftCode": "CHASUS33XXX"
}
},
"sender": {
"icNumber": "12344",
"nationality": "NG",
"address": {
"line1": "Dave cre"
},
"mobileNumber": "08099370922",
"occupation": "C-Suite executive / Board member",
"dateOfBirth": "1999-12-12"
},
"paymentChannel": "SWIFT_OUR",
"currency": "USD",
"quoteId": "859b19e8-8a00-4d59-9970-xxxxxxxxxxxxx",
"reason": "Gift",
"remark": "Testing"
}'
const url = 'https://sandboxapi.me-cash.com/v2/payout';
const options = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'API_KEY_HERE'
},
body: JSON.stringify({
"recipient": {
"name": "James Wilson",
"nickName": "Blue",
"gender": "M",
"occupation": "business entrepreneur",
"type": "BUSINESS",
"account": {
"sortCode": "02090",
"swiftCode": "GTBINGLA",
"bankCity": "Atlanta",
"accountNumber": "885406******",
"bankName": "DBS Bank Limited",
"intermediarySwiftCode": "CHASUS33XXX"
}
},
"sender": {
"icNumber": "12344",
"nationality": "NG",
"address": {
"line1": "Dave cre"
},
"mobileNumber": "08099370922",
"occupation": "C-Suite executive / Board member",
"dateOfBirth": "1999-12-12"
},
"paymentChannel": "SWIFT_OUR",
"currency": "USD",
"quoteId": "859b19e8-8a00-4d59-9970-xxxxxxxxxxxxx",
"reason": "Gift",
"remark": "Testing"
})
};
fetch(url, options)
.then(res => {
if (!res.ok) {
throw new Error(`HTTP error! status: ${res.status}`);
}
return res.json();
})
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
import requests
import json
url = "https://sandboxapi.me-cash.com/v2/payout"
payload = {
"recipient": {
"name": "James Wilson",
"nickName": "Blue",
"gender": "M",
"occupation": "business entrepreneur",
"type": "BUSINESS",
"account": {
"sortCode": "02090",
"swiftCode": "GTBINGLA",
"bankCity": "Atlanta",
"accountNumber": "885406******",
"bankName": "DBS Bank Limited",
"intermediarySwiftCode": "CHASUS33XXX"
}
},
"sender": {
"icNumber": "12344",
"nationality": "NG",
"address": {
"line1": "Dave cre"
},
"mobileNumber": "08099370922",
"occupation": "C-Suite executive / Board member",
"dateOfBirth": "1999-12-12"
},
"paymentChannel": "SWIFT_OUR",
"currency": "USD",
"quoteId": "859b19e8-8a00-4d59-9970-xxxxxxxxxxxxx",
"reason": "Gift",
"remark": "Testing"
}
headers = {
"x-api-key": "API_KEY_HERE",
"Content-Type": "application/json"
}
try:
response = requests.post(url, headers=headers, data=json.dumps(payload))
response.raise_for_status()
print(response.json())
except requests.exceptions.HTTPError as err:
print(f"HTTP Error: {err}")
curl --location --request POST 'https://sandboxapi.me-cash.com/v2/payout' \
--header 'x-api-key: API_KEY_HERE' \
--header 'Content-Type: application/json' \
--data '{
"recipient": {
"name": "James Wilson",
"nickName": "Blue",
"gender": "M",
"occupation": "business entrepreneur",
"type": "BUSINESS",
"account": {
"sortCode": "02090",
"swiftCode": "GTBINGLA",
"bankCity": "Atlanta",
"accountNumber": "885406******",
"bankName": "DBS Bank Limited",
"intermediarySwiftCode": "CHASUS33XXX"
}
},
"sender": {
"name": "Individual Test",
"type": "PERSON",
"nationality": "GB",
"address": {
"line1": "123 Address for Residence"
},
"mobileNumber": "08099370911",
"occupation": "Entrepreneur / Business owner",
"dateOfBirth": "2000-12-12",
"gender": "M",
"idNumber": "12345",
"relationship": "Parents"
},
"paymentChannel": "SWIFT_OUR",
"currency": "USD",
"quoteId": "859b19e8-8a00-4d59-9970-xxxxxxxxxxxxx",
"reason": "Gift",
"remark": "Testing"
}'
const url = 'https://sandboxapi.me-cash.com/v2/payout';
const options = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'API_KEY_HERE'
},
body: JSON.stringify({
"recipient": {
"name": "James Wilson",
"nickName": "Blue",
"gender": "M",
"occupation": "business entrepreneur",
"type": "BUSINESS",
"account": {
"sortCode": "02090",
"swiftCode": "GTBINGLA",
"bankCity": "Atlanta",
"accountNumber": "885406******",
"bankName": "DBS Bank Limited",
"intermediarySwiftCode": "CHASUS33XXX"
}
},
"sender": {
"name": "Individual Test",
"type": "PERSON",
"nationality": "GB",
"address": {
"line1": "123 Address for Residence"
},
"mobileNumber": "08099370911",
"occupation": "Entrepreneur / Business owner",
"dateOfBirth": "2000-12-12",
"gender": "M",
"idNumber": "12345",
"relationship": "Parents"
},
"paymentChannel": "SWIFT_OUR",
"currency": "USD",
"quoteId": "859b19e8-8a00-4d59-9970-xxxxxxxxxxxxx",
"reason": "Gift",
"remark": "Testing"
})
};
fetch(url, options)
.then(res => {
if (!res.ok) {
throw new Error(`HTTP error! status: ${res.status}`);
}
return res.json();
})
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
import requests
import json
url = "https://sandboxapi.me-cash.com/v2/payout"
payload = {
"recipient": {
"name": "James Wilson",
"nickName": "Blue",
"gender": "M",
"occupation": "business entrepreneur",
"type": "BUSINESS",
"account": {
"sortCode": "02090",
"swiftCode": "GTBINGLA",
"bankCity": "Atlanta",
"accountNumber": "885406******",
"bankName": "DBS Bank Limited",
"intermediarySwiftCode": "CHASUS33XXX"
}
},
"sender": {
"name": "Individual Test",
"type": "PERSON",
"nationality": "GB",
"address": {
"line1": "123 Address for Residence"
},
"mobileNumber": "08099370911",
"occupation": "Entrepreneur / Business owner",
"dateOfBirth": "2000-12-12",
"gender": "M",
"idNumber": "12345",
"relationship": "Parents"
},
"paymentChannel": "SWIFT_OUR",
"currency": "USD",
"quoteId": "859b19e8-8a00-4d59-9970-xxxxxxxxxxxxx",
"reason": "Gift",
"remark": "Testing"
}
headers = {
"x-api-key": "API_KEY_HERE",
"Content-Type": "application/json"
}
try:
response = requests.post(url, headers=headers, data=json.dumps(payload))
response.raise_for_status()
print(response.json())
except requests.exceptions.HTTPError as err:
print(f"HTTP Error: {err}")
curl --location --request POST 'https://sandboxapi.me-cash.com/v2/payout' \
--header 'x-api-key: API_KEY_HERE' \
--header 'Content-Type: application/json' \
--data '{
"recipient": {
"name": "James Wilson",
"nickName": "Blue",
"gender": "M",
"occupation": "business entrepreneur",
"type": "BUSINESS",
"account": {
"sortCode": "02090",
"swiftCode": "GTBINGLA",
"bankCity": "Atlanta",
"accountNumber": "885406******",
"bankName": "DBS Bank Limited",
"intermediarySwiftCode": "CHASUS33XXX"
}
},
"sender": {
"name": "Label",
"type": "BUSINESS",
"nationality": "GB",
"address": {
"line1": "123 Address"
},
"occupation": "C-Suite executive / Board member",
"relationship": "Self",
"dateOfIncorporation": "2000-12-12",
"registrationNumber": "123456"
},
"paymentChannel": "SWIFT_OUR",
"currency": "USD",
"quoteId": "859b19e8-8a00-4d59-9970-xxxxxxxxxxxxx",
"reason": "Gift",
"remark": "Testing"
}'
const url = 'https://sandboxapi.me-cash.com/v2/payout';
const options = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'API_KEY_HERE'
},
body: JSON.stringify({
"recipient": {
"name": "James Wilson",
"nickName": "Blue",
"gender": "M",
"occupation": "business entrepreneur",
"type": "BUSINESS",
"account": {
"sortCode": "02090",
"swiftCode": "GTBINGLA",
"bankCity": "Atlanta",
"accountNumber": "885406******",
"bankName": "DBS Bank Limited",
"intermediarySwiftCode": "CHASUS33XXX"
}
},
"sender": {
"name": "Label",
"type": "BUSINESS",
"nationality": "GB",
"address": {
"line1": "123 Address"
},
"occupation": "C-Suite executive / Board member",
"relationship": "Self",
"dateOfIncorporation": "2000-12-12",
"registrationNumber": "123456"
},
"paymentChannel": "SWIFT_OUR",
"currency": "USD",
"quoteId": "859b19e8-8a00-4d59-9970-xxxxxxxxxxxxx",
"reason": "Gift",
"remark": "Testing"
})
};
fetch(url, options)
.then(res => {
if (!res.ok) {
throw new Error(`HTTP error! status: ${res.status}`);
}
return res.json();
})
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
import requests
import json
url = "https://sandboxapi.me-cash.com/v2/payout"
payload = {
"recipient": {
"name": "James Wilson",
"nickName": "Blue",
"gender": "M",
"occupation": "business entrepreneur",
"type": "BUSINESS",
"account": {
"sortCode": "02090",
"swiftCode": "GTBINGLA",
"bankCity": "Atlanta",
"accountNumber": "885406******",
"bankName": "DBS Bank Limited",
"intermediarySwiftCode": "CHASUS33XXX"
}
},
"sender": {
"name": "Label",
"type": "BUSINESS",
"nationality": "GB",
"address": {
"line1": "123 Address"
},
"occupation": "C-Suite executive / Board member",
"relationship": "Self",
"dateOfIncorporation": "2000-12-12",
"registrationNumber": "123456"
},
"paymentChannel": "SWIFT_OUR",
"currency": "USD",
"quoteId": "859b19e8-8a00-4d59-9970-xxxxxxxxxxxxx",
"reason": "Gift",
"remark": "Testing"
}
headers = {
"x-api-key": "API_KEY_HERE",
"Content-Type": "application/json"
}
try:
response = requests.post(url, headers=headers, data=json.dumps(payload))
response.raise_for_status()
print(response.json())
except requests.exceptions.HTTPError as err:
print(f"HTTP Error: {err}")
Request Body Breakdown
- INDIVIDUAL
- BUSINESS
curl --location --request POST 'https://sandboxapi.me-cash.com/v2/payout' \
--header 'x-api-key: API_KEY_HERE' \
--header 'Content-Type: application/json' \
--data '{
"recipient": {
"name": "James Wilson",
"nickName": "Blue",
"gender": "M",
"occupation": "business entrepreneur",
"type": "BUSINESS",
"account": {
"sortCode": "02090",
"swiftCode": "GTBINGLA",
"bankCity": "Atlanta",
"accountNumber": "885406******",
"bankName": "DBS Bank Limited",
"intermediarySwiftCode": "CHASUS33XXX"
}
},
"sender": {
"type": "PERSON",
"name": "Jane James",
"idNumber": "A123456",
"dateOfBirth": "2000-12-12",
"relationship": "Friend",
"gender": "F",
"nationality": "NG",
"address": "12 Main Street",
"mobileNumber": "080993773777",
"occupation": "Employee"
},
"paymentChannel": "SWIFT_OUR",
"currency": "USD",
"quoteId": "859b19e8-8a00-4d59-9970-xxxxxxxxxxxxx",
"reason": "Gift",
"remark": "Testing"
}'
const url = 'https://sandboxapi.me-cash.com/v2/payout';
const options = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'API_KEY_HERE'
},
body: JSON.stringify({
"recipient": {
"name": "James Wilson",
"nickName": "Blue",
"gender": "M",
"occupation": "business entrepreneur",
"type": "BUSINESS",
"account": {
"sortCode": "02090",
"swiftCode": "GTBINGLA",
"bankCity": "Atlanta",
"accountNumber": "885406******",
"bankName": "DBS Bank Limited",
"intermediarySwiftCode": "CHASUS33XXX"
}
},
"sender": {
"type": "PERSON",
"name": "Jane James",
"idNumber": "A123456",
"dateOfBirth": "2000-12-12",
"relationship": "Friend",
"gender": "F",
"nationality": "NG",
"address": "12 Main Street",
"mobileNumber": "080993773777",
"occupation": "Employee"
},
"paymentChannel": "SWIFT_OUR",
"currency": "USD",
"quoteId": "859b19e8-8a00-4d59-9970-xxxxxxxxxxxxx",
"reason": "Gift",
"remark": "Testing"
})
};
fetch(url, options)
.then(res => {
if (!res.ok) {
throw new Error(`HTTP error! status: ${res.status}`);
}
return res.json();
})
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
import requests
import json
url = "https://sandboxapi.me-cash.com/v2/payout"
payload = {
"recipient": {
"name": "James Wilson",
"nickName": "Blue",
"gender": "M",
"occupation": "business entrepreneur",
"type": "BUSINESS",
"account": {
"sortCode": "02090",
"swiftCode": "GTBINGLA",
"bankCity": "Atlanta",
"accountNumber": "885406******",
"bankName": "DBS Bank Limited",
"intermediarySwiftCode": "CHASUS33XXX"
}
},
"sender": {
"type": "PERSON",
"name": "Jane James",
"idNumber": "A123456",
"dateOfBirth": "2000-12-12",
"relationship": "Friend",
"gender": "F",
"nationality": "NG",
"address": "12 Main Street",
"mobileNumber": "080993773777",
"occupation": "Employee"
},
"paymentChannel": "SWIFT_OUR",
"currency": "USD",
"quoteId": "859b19e8-8a00-4d59-9970-xxxxxxxxxxxxx",
"reason": "Gift",
"remark": "Testing"
}
headers = {
"x-api-key": "API_KEY_HERE",
"Content-Type": "application/json"
}
try:
response = requests.post(url, headers=headers, data=json.dumps(payload))
response.raise_for_status()
print(response.json())
except requests.exceptions.HTTPError as err:
print(f"HTTP Error: {err}")
curl --location --request POST 'https://sandboxapi.me-cash.com/v2/payout' \
--header 'x-api-key: API_KEY_HERE' \
--header 'Content-Type: application/json' \
--data '{
"recipient": {
"name": "James Wilson",
"nickName": "Blue",
"gender": "M",
"occupation": "business entrepreneur",
"type": "BUSINESS",
"account": {
"sortCode": "02090",
"swiftCode": "GTBINGLA",
"bankCity": "Atlanta",
"accountNumber": "885406******",
"bankName": "DBS Bank Limited",
"intermediarySwiftCode": "CHASUS33XXX"
}
},
"sender": {
"type": "BUSINESS",
"name": "ABC Limited",
"dateOfIncorporation": "2026-07-02",
"relationship": "Business Partner",
"icNumber": "12345",
"nationality": "NG",
"address": {
"line1": "12 Main Street"
},
"occupation": "Employee"
},
"paymentChannel": "SWIFT_OUR",
"currency": "USD",
"quoteId": "859b19e8-8a00-4d59-9970-xxxxxxxxxxxxx",
"reason": "Gift",
"remark": "Testing"
}'
const url = 'https://sandboxapi.me-cash.com/v2/payout';
const options = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'API_KEY_HERE'
},
body: JSON.stringify({
"recipient": {
"name": "James Wilson",
"nickName": "Blue",
"gender": "M",
"occupation": "business entrepreneur",
"type": "BUSINESS",
"account": {
"sortCode": "02090",
"swiftCode": "GTBINGLA",
"bankCity": "Atlanta",
"accountNumber": "885406******",
"bankName": "DBS Bank Limited",
"intermediarySwiftCode": "CHASUS33XXX"
}
},
"sender": {
"type": "BUSINESS",
"name": "ABC Limited",
"dateOfIncorporation": "2026-07-02",
"relationship": "Business Partner",
"icNumber": "12345",
"nationality": "NG",
"address": {
"line1": "12 Main Street"
},
"occupation": "Employee"
},
"paymentChannel": "SWIFT_OUR",
"currency": "USD",
"quoteId": "859b19e8-8a00-4d59-9970-xxxxxxxxxxxxx",
"reason": "Gift",
"remark": "Testing"
})
};
fetch(url, options)
.then(res => {
if (!res.ok) {
throw new Error(`HTTP error! status: ${res.status}`);
}
return res.json();
})
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
import requests
import json
url = "https://sandboxapi.me-cash.com/v2/payout"
payload = {
"recipient": {
"name": "James Wilson",
"nickName": "Blue",
"gender": "M",
"occupation": "business entrepreneur",
"type": "BUSINESS",
"account": {
"sortCode": "02090",
"swiftCode": "GTBINGLA",
"bankCity": "Atlanta",
"accountNumber": "885406******",
"bankName": "DBS Bank Limited",
"intermediarySwiftCode": "CHASUS33XXX"
}
},
"sender": {
"type": "BUSINESS",
"name": "ABC Limited",
"dateOfIncorporation": "2026-07-02",
"relationship": "Business Partner",
"icNumber": "12345",
"nationality": "NG",
"address": {
"line1": "12 Main Street"
},
"occupation": "Employee"
},
"paymentChannel": "SWIFT_OUR",
"currency": "USD",
"quoteId": "859b19e8-8a00-4d59-9970-xxxxxxxxxxxxx",
"reason": "Gift",
"remark": "Testing"
}
headers = {
"x-api-key": "API_KEY_HERE",
"Content-Type": "application/json"
}
try:
response = requests.post(url, headers=headers, data=json.dumps(payload))
response.raise_for_status()
print(response.json())
except requests.exceptions.HTTPError as err:
print(f"HTTP Error: {err}")
Success Response (200 OK)
If the payout is successfully created, the API returns the following response:copy
{
"message": "transaction created successfully",
"status": "success",
"data": {
"id": "274fd8a4-38f1-43c9-bf74-ae7744a0dba5",
"remark": "User-friendly",
"reason": "Gift",
"referenceNumber": "0XCGU0EYFEK0Y",
"invoice": {
"fileName": "image.png"
},
"type": "SEND",
"state": "PENDING",
"quote": {
"id": "4da9d52d-618b-4683-b408-8844d1b520cd",
"paymentChannel": "SWIFT_OUR",
"source": {
"currency": "USD",
"country": "US",
"amount": 10.00
},
"target": {
"currency": "USD",
"country": "US",
"amount": 10.00
},
"rate": 1.00000000,
"fee": {
"amount": 100.00,
"stampDuty": 0
},
"summary": {
"total": 110.00
},
"settlement": "1hr",
"quoteCurrency": "USD"
},
"recipient": {
"name": "Crystal Strosin",
"nickName": "magenta",
"gender": "M",
"type": "BUSINESS",
"account": {
"bankName": "DBS Bank Limited",
"sortCode": "02090",
"accountNumber": "885406477269",
"bankCity": "Atlanta",
"swiftCode": "GTBINGLA"
},
"occupation": "business enterpreneur"
},
"sender": {
"name": "Test Limited",
"icNumber": "96671733919",
"mobileNumber": "+23480993773777",
"nationality": "NG",
"address": {
"line1": "12 main st"
},
"occupation": "HEALTHCARE",
"type": "BUSINESS"
},
"created": "2026-04-23T18:06:41.022734019Z",
"processed": "2026-04-23T18:06:41.022734019Z"
}
}
Response Breakdown
| Field | Type | Description |
|---|---|---|
message | String | A confirmation message indicating the result of the request. |
status | String | The overall status of the request, e.g., success. |
data | Object | A container for all the transaction data. |
data.id | String | The unique identifier for this payout transaction. |
data.remark | String | An optional, additional note about the transaction. |
data.reason | String | The reason for the payout (e.g., Gift). |
data.referenceNumber | String | A unique reference number generated for the payout. |
data.invoice | Object | Details of the uploaded invoice. |
data.invoice.fileName | String | The name of the invoice file. |
data.type | String | The type of transaction, e.g., SEND. |
data.state | String | The current state of the payout (PENDING, COMPLETED, etc.). |
data.quote.id | String | The unique ID of the quote used for the transaction. |
data.quote.paymentChannel | String | The payment channel used (e.g., SWIFT_OUR, SWIFT_SHARED, SWIFT_BENEFICIARY). |
data.quote.source.currency | String | Source currency code. |
data.quote.source.amount | Number | Total source amount before fees. |
data.quote.target.currency | String | Destination currency code. |
data.quote.target.amount | Number | The converted amount that the recipient receives. |
data.quote.rate | Number | The exchange rate applied to the transaction. |
data.quote.fee.amount | Number | The transaction fee charged. |
data.quote.fee.stampDuty | Number | Applied stamp duty (if any). |
data.quote.summary.total | Number | Total amount (amount + fees) deducted from wallet. |
data.quote.settlement | String | The estimated time for settlement. |
data.quote.quoteCurrency | String | The currency in which the quote is priced. |
data.recipient.name | String | The full name of the recipient. |
data.recipient.nickName | String | Recipient’s nickname. |
data.recipient.gender | String | Gender (M or F). |
data.recipient.type | String | The type of recipient entity (INDIVIDUAL, PERSON, BUSINESS). |
data.recipient.account.bankName | String | Name of the recipient’s bank. |
data.recipient.account.accountNumber | String | Recipient’s bank account number. |
data.recipient.account.swiftCode | String | SWIFT/BIC code of the bank. |
data.recipient.occupation | String | Occupation of the recipient. |
data.sender.name | String | Full name of the sender. |
data.sender.icNumber | String | Sender’s ID number. |
data.sender.nationality | String | ISO country code of the sender’s nationality. |
data.sender.address.line1 | String | Primary address line of the sender. |
data.sender.mobileNumber | String | International mobile number of the sender. |
data.sender.occupation | String | Occupation of the sender. |
data.sender.type | String | Type of the sender. |
data.created | String | ISO 8601 timestamp of when the transaction was created. |
data.processed | String | ISO 8601 timestamp of when the transaction was processed. |
Payout Transaction States
The payout transaction can have one of the following states:| State | Description |
|---|---|
COMPLETED | The payout was successfully processed. |
PENDING | The payout is still being processed. |
FAILED | The payout failed to process. |
REFUNDED | The payout has been sent back to sender. |
Error Handling
| Status Code | Meaning | Example Response |
|---|---|---|
400 | Insufficient Balance | Insufficient Balance |
401 | Unauthorized | Invalid API key provided. |
403 | Forbidden | IP not whitelisted |
404 | Not Found | The requested endpoint does not exist. |
422 | Unprocessable Entity | Invalid quote ID provided. |
500 | Internal Server Error | An internal error occurred. |
Best Practices
✅ EnsurequoteId is valid and linked to an existing quote.✅ Confirm that the recipient’s bank account number and bank code are correct.
✅ Use
SWIFT_OUR when the sender bears all transfer charges, SWIFT_SHARED when charges are split, or SWIFT_BENEFICIARY when the beneficiary bears all charges.✅ Use a valid API key in the headers.
✅ Handle error responses correctly in your integration.
Testing Failed Payouts: In the sandbox environment, you can simulate a failed payout by setting
"remark": "fail" in your request. This triggers a payout.failed webhook, allowing you to test your error handling.
