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

apiKeystring
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

Authorizationstring
[
  {
    "value": "mtn",
    "name": "MTN Money",
    "supportedCurrencies": ["XOF", "XAF", "GNF"],
    "supportedCountries": ["BJ", "CI", "GN", "CM"]
  },
  // ... more gateways
]

POST https://gateway.awdpay.com/v3/payment

amountnumber
currencystring
countrystring
customerNamestring
customerEmailstring
customerAddressstring
successUrlstring (URL)
cancelUrlstring (URL)
callbackUrlstring (URL)
sandboxboolean
feeByCustomerboolean
allowedMethodsstring[]
customobject
logostring (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
paymentMethodnumber
amountnumber
currencystring
countrystring
customerNamestring
customerEmailstring
customerAddressstring
numberstring
extWalletstring
callbackUrlstring (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
customerEmailstring
amountnumber
currencystring
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

200
400
401
429
500