API Reference
AWDPay Gateway
API V3
15+
https://gateway.awdpay.com
Bearer Token
XOF · XAF · GNF · EUR · USD
1
→
2
→
3
→
4
→
5
POST
https://gateway.awdpay.com/v3/token
| apiKey | string |
curl --request POST \ --url https://gateway.awdpay.com/v3/token \ --header 'Content-Type: application/json' \ --data '{ "apiKey": "YOUR_API_KEY" }'
// Using fetch const response = await fetch('https://gateway.awdpay.com/v3/token', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ apiKey: 'YOUR_API_KEY' }) }); const { token } = await response.json(); // Store token for future requests localStorage.setItem('awdpay_token', token);
import requests response = requests.post( 'https://gateway.awdpay.com/v3/token', json={'apiKey': 'YOUR_API_KEY'} ) token = response.json()['token'] # Use token in subsequent requests headers = {'Authorization': f'Bearer {token}'}
{
"success": true,
"token": "eyJhbGciOiJIUzI1NiIsInR...",
"expires_in": 3600 // 1 hour in seconds
}
{
"success": false,
"message": "Invalid API key"
}
GET
https://gateway.awdpay.com/v3/gateways
| Authorization | string |
[
{
"value": "mtn",
"name": "MTN Money",
"supportedCurrencies": ["XOF", "XAF", "GNF"],
"supportedCountries": ["BJ", "CI", "GN", "CM"]
},
// ... more gateways
]
POST
https://gateway.awdpay.com/v3/payment
| amount | number | ||
| currency | string | ||
| country | string | ||
| customerName | string | ||
| customerEmail | string | ||
| customerAddress | string | ||
| successUrl | string (URL) | ||
| cancelUrl | string (URL) | ||
| callbackUrl | string (URL) | ||
| sandbox | boolean | ||
| feeByCustomer | boolean | ||
| allowedMethods | string[] | ||
| custom | object | ||
| logo | string (URL) |
curl -X POST \ -H 'Authorization: Bearer YOUR_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "amount": 500, "currency": "XOF", "country": "CI", "customerName": "Jean Dupont", "customerEmail": "[email protected]", "customerAddress": "Abidjan, Côte d'\''Ivoire", "successUrl": "https://yoursite.com/success", "cancelUrl": "https://yoursite.com/cancel", "callbackUrl": "https://yoursite.com/webhook", "sandbox": false, "feeByCustomer": false, "custom": { "orderId": "ORDER-001" } }' \ https://gateway.awdpay.com/v3/payment
const response = await fetch('https://gateway.awdpay.com/v3/payment', { method: 'POST', headers: { 'Authorization': `Bearer ${token}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ amount: 500, currency: 'XOF', country: 'CI', customerName: 'Jean Dupont', customerEmail: '[email protected]', customerAddress: 'Abidjan, Côte d\'Ivoire', successUrl: 'https://yoursite.com/success', cancelUrl: 'https://yoursite.com/cancel', callbackUrl: 'https://yoursite.com/webhook', sandbox: false, custom: { orderId: 'ORDER-001' } }) }); const { trxId, redirectUrl } = await response.json(); // Redirect your customer window.location.href = redirectUrl;
import requests response = requests.post( 'https://gateway.awdpay.com/v3/payment', headers={'Authorization': f'Bearer {token}'}, json={ 'amount': 500, 'currency': 'XOF', 'country': 'CI', 'customerName': 'Jean Dupont', 'customerEmail': '[email protected]', 'customerAddress': 'Abidjan, CI', 'successUrl': 'https://yoursite.com/success', 'cancelUrl': 'https://yoursite.com/cancel', 'sandbox': False, } ) data = response.json() # Redirect customer to data['redirectUrl']
{
"success": true,
"message": "Payment created successfully",
"trxId": "ABC123XYZ789",
"redirectUrl": "https://gateway.awdpay.com/payment/ABC123XYZ789"
// → Redirect your customer to redirectUrl
}
{
"success": false,
"error": [
{ "field": "currency", "message": "Invalid currency" }
]
}
{
"message": "Unauthorized"
}
WEBHOOK CALLBACK
{
"trxId": "ABC123XYZ789",
"type": "payment",
"status": "success" | "pending" | "failed",
"sandbox": false,
"amount": 500,
"fee": 17.5,
"currency": "XOF",
"country": "CI",
"custom": { "orderId": "ORDER-001" },
"transactedAt": "2026-03-18T10:30:00.000Z",
"paidWith": "mtn",
"customer": {
"name": "Jean Dupont",
"email": "[email protected]",
"address": "Abidjan, CI",
"phone": "2250700000000"
}
}
GET
https://gateway.awdpay.com/v3/payment/check/{trxId}
{
"success": true,
"data": {
"trxId": "ABC123XYZ789",
"status": "success" | "pending" | "failed",
"sandbox": false,
"amount": 500,
"fee": 17.5,
"currency": "XOF",
"country": "CI",
"custom": { "orderId": "ORDER-001" },
"transactedAt": "2026-03-18T10:30:00.000Z",
"paidWith": "mtn",
"customer": {
"name": "Jean Dupont",
"email": "[email protected]",
"address": "Abidjan, CI",
"phone": "2250700000000"
}
}
}
GET
https://gateway.awdpay.com/v3/methods
{
"data": [
{
"id": 9,
"name": "MTN Mobile Money",
"minAmount": 100,
"maxAmount": 500000,
"currency": "XOF",
"fixedCharge": 0,
"percentageCharge": 1.5,
"active": true,
"country": "CI"
}
],
"count": 12
}
POST
https://gateway.awdpay.com/v3/withdraw
| paymentMethod | number | ||
| amount | number | ||
| currency | string | ||
| country | string | ||
| customerName | string | ||
| customerEmail | string | ||
| customerAddress | string | ||
| number | string | ||
| extWallet | string | ||
| callbackUrl | string (URL) |
curl -X POST \ -H 'Authorization: Bearer YOUR_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "paymentMethod": 9, "amount": 500, "currency": "XOF", "country": "CI", "customerName": "Marie Martin", "customerEmail": "[email protected]", "customerAddress": "Abidjan, CI", "number": "0700000000", "callbackUrl": "https://yoursite.com/webhook" }' \ https://gateway.awdpay.com/v3/withdraw
const response = await fetch('https://gateway.awdpay.com/v3/withdraw', { method: 'POST', headers: { 'Authorization': `Bearer ${token}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ paymentMethod: 9, amount: 500, currency: 'XOF', country: 'CI', customerName: 'Marie Martin', customerEmail: '[email protected]', customerAddress: 'Abidjan, CI', number: '0700000000' }) }); const data = await response.json();
response = requests.post(
'https://gateway.awdpay.com/v3/withdraw',
headers={'Authorization': f'Bearer {token}'},
json={
'paymentMethod': 9,
'amount': 500,
'currency': 'XOF',
'country': 'CI',
'customerName': 'Marie Martin',
'customerEmail': '[email protected]',
'customerAddress': 'Abidjan, CI',
'number': '0700000000',
}
)
{
"success": true,
"message": "Withdraw processed successfully",
"data": {
"trxId": "WD123XYZ456",
"status": "success" | "pending" | "failed",
"amount": 500,
"fee": 7.5,
"total": 507.5,
"withdrawId": 12345
}
}
{
"success": false,
"error": "Number is required for this method"
}
WEBHOOK CALLBACK
{
"trxId": "WD123XYZ456",
"type": "withdraw",
"status": "success" | "pending" | "failed",
"amount": 500,
"fee": 7.5,
"total": 507.5,
"currency": "XOF",
"transactedAt": "2026-03-18T10:30:00.000Z",
"customer": { "name": "Marie Martin", "email": "[email protected]" }
}
GET
https://gateway.awdpay.com/v3/withdraw/{trxId}
{
"success": true,
"data": {
"trxId": "WD123XYZ456",
"status": "success" | "pending" | "failed",
"amount": 500,
"fee": 7.5,
"total": 507.5,
"withdrawId": 12345
}
}
POST
https://gateway.awdpay.com/v3/transfer
| customerEmail | string | ||
| amount | number | ||
| currency | string |
curl -X POST \ -H 'Authorization: Bearer YOUR_TOKEN' \ -H 'Content-Type: application/json' \ -d '{"customerEmail":"[email protected]","amount":200,"currency":"XOF"}' \ https://gateway.awdpay.com/v3/transfer
const response = await fetch('https://gateway.awdpay.com/v3/transfer', { method: 'POST', headers: { 'Authorization': `Bearer ${token}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ customerEmail: '[email protected]', amount: 200, currency: 'XOF' }) });
response = requests.post(
'https://gateway.awdpay.com/v3/transfer',
headers={'Authorization': f'Bearer {token}'},
json={
'customerEmail': '[email protected]',
'amount': 200,
'currency': 'XOF'
}
)
{
"success": true,
"status": "success",
"message": "Transferred successfully",
"trxId": "TR123XYZ456"
}
{
"success": false,
"error": "Recipient account not found"
}
XOF
Franc CFA (UEMOA)
Wave
Orange Money
MTN
Moov
Free Money
XAF
Franc CFA (CEMAC)
MTN CM/GA
Orange CM
Airtel GA
E-Billing
GNF
Franc Guinéen
MTN GN
EUR
Euro
Mollie
PerfectMoney
Coinbase
USD
US Dollar
PerfectMoney
Coinbase