Direct Payment (Mobile money)

Direct Payment (Mobile money)

Objective

Trigger a Mobile Money payment request (push/STK/USSD) with supported operators (WAVE, Orange Money, MTN MoMo, Moov, etc.) This operation is an incoming payment (payin) that requires a confirmation action on the client side.

Request Details

ElementDescription
MethodPOST
Endpoint/v1/direct/payin
AuthAuthorization: Basic base64(api_key:api_client)
Content Typeapplication/json

Request Example

{
  "reference": "{{$randomUUID}}",
  "accountId": "{{merchant_account_id}}",
  "customerName": "John Do",
  "payin": {
    "amount": 300,
    "msisdn": "{{phone_number}}",
    "provider": "WAVE", // WAVE | ORANGE | MOMO | MOOV
    "country": "CM" // CI | CM | BF
  }
}

Response Example

{
  "type": "payin",
  "fee": 4,
  "reference": "xxxxxxxxxx",
  "phoneNumber": "+2250700000000",
  "customerName": "John Doe",
  "amount": 200,
  "chargedAmount": 196,
  "status": "processing",
  "currency": "XOF",
  "customerReference": "cb77b621-53da-48d9-93a8-0eb0f37cd6be",
  "confirmationRequired": false,
  "confirmationStatus": "none",
  "paymentUrl": "https://pay.wave.com/x/xxx",
  "createdAt": "2026-01-13T11:50:05.267Z"
}

Response Interpretation

FieldDescription
typeOperation type — here "payin", for an incoming payment.
feeService fees applied to the transaction.
referenceSystem reference of the transaction on the API side.
phoneNumberPhone number of the paying customer.
amountGross payment amount.
chargedAmountTotal amount debited (amount + fees).
statusInitial payment status (processing, processed, expired, etc.).
currencyCurrency used, e.g. "XOF", "XAF".
customerReferenceRequest identifier generated or transmitted by the merchant.
confirmationRequiredIndicates whether the customer must confirm the payment before execution.
confirmationStatusCustomer confirmation status (see table below).
paymentUrlWeb link (deep link) allowing the customer to confirm payment via a mobile or web interface.
createdAtSession creation date.