Skip to main content
POST
https://api-sandbox.pavewaygroup.com/v1
/
charges
/
mobile-money
Direct Mobile Money Charge
curl --request POST \
  --url https://api-sandbox.pavewaygroup.com/v1/charges/mobile-money \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "firstname": "<string>",
  "lastname": "<string>",
  "email": "<string>",
  "phone": "<string>",
  "amount": "<string>",
  "currency": "<string>",
  "country": "<string>",
  "network": "<string>",
  "description": "<string>",
  "merchant_reference": "<string>",
  "fee_bearer": "<string>",
  "redirect_url": "<string>",
  "metadata": {}
}
'
{
  "status_code": 200,
  "response_type": "success",
  "data": {
    "id": "658dc...",
    "payment_ref": "PWG_abc123",
    "status": "pending",
    "amount": "5000",
    "currency": "XAF",
    "payment_method": "mobile_money_franco",
    "network": "MTN",
    "message": "Payment processing. Please check your phone for the USSD prompt."
  }
}
The Direct Charge API allows you to initiate a mobile money collection without needing a hosted checkout page. This is ideal for mobile apps or custom checkout flows where you handle the user interface.

Authentication

Include your Secret Key in the Authorization header as a Bearer token.

Request Body

Customer Information

firstname
string
required
Customer’s first name.
lastname
string
required
Customer’s last name.
email
string
required
Customer’s email address for notifications and receipts.
phone
string
required
Customer’s phone number with country prefix (e.g., 237612345678).

Payment Details

amount
string
required
Amount in smallest currency unit (e.g., “5000” for 5000 XAF).
currency
string
default:"XAF"
The currency code. Currently supports XAF (Cameroon, etc.) and XOF (Senegal, Ivory Coast, etc.).
country
string
ISO 2-letter country code (e.g., CM, CI, SN, GH, KE).Recommended to omit: If omitted, the system automatically detects the country based on the phone number prefix. Only provide if you want to enforce a specific country.
network
string
Mobile network operator code. Common values: MTN, ORANGE, AIRTEL, MPESA, VODAFONE.Recommended to omit: If omitted, the system automatically detects the operator based on the phone number pattern.
description
string
required
Brief description of the charge, displayed to the customer.
merchant_reference
string
required
Your unique order reference for internal tracking.

Configuration

fee_bearer
string
default:"merchant"
Who pays the transaction fees:
  • merchant: Commission is deducted from your balance.
  • customer: Fee is added to the amount the customer pays.
redirect_url
string
The URL to redirect the customer to after payment completion (if applicable).
metadata
object
Custom JSON object for storing your own data with this transaction.

Response

id
string
Unique identifier for the transaction.
payment_ref
string
PaveWay’s unique public reference for this transaction (e.g., PWG_...).
status
string
Current status of the charge. Usually pending immediately after request, until the user processes the USSD prompt.
amount
string
The amount being charged.
currency
string
The currency code.
network
string
The detected mobile network operator (e.g., MTN, ORANGE).
message
string
A descriptive message for the user, usually instructing them to check their phone.
{
  "status_code": 200,
  "response_type": "success",
  "data": {
    "id": "658dc...",
    "payment_ref": "PWG_abc123",
    "status": "pending",
    "amount": "5000",
    "currency": "XAF",
    "payment_method": "mobile_money_franco",
    "network": "MTN",
    "message": "Payment processing. Please check your phone for the USSD prompt."
  }
}