Endpoint
POST /direct-pay
Send a payment request directly to a user’s mobile device. You are responsible for building your own checkout and verifying payment status.
Direct payment transactions cannot and do not expire. Consequently, their final state is either SUCCESSFUL or FAILED.
Direct pay is disabled by default on live environment; Follow the steps in the
Activate Direct pay on your Live Fapshi API guide
to enable direct pay in live mode.
Handle this endpoint with care; misuse can result in account suspension.
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| amount | Yes | integer | Amount to be paid (minimum 100 XAF). |
| phone | Yes | string | Phone number to request payment from (e.g., 67XXXXXXX). |
| medium | No | string | "mobile money" or "orange money". Omit to auto-detect. |
| name | No | string | Payer’s name. |
| No | string | Payer’s email to receive receipt. | |
| userId | No | string | Your system’s user ID (1–100 chars; a–z, A–Z, 0–9, -, _). |
| externalId | No | string | Transaction/order ID for reconciliation (1–100 chars; a–z, A–Z, 0–9, -, _). |
| message | No | string | Reason for payment. |
Response
-
200 OKwith JSON body containing:message: success messagetransId: transaction ID to track payment statusdateInitiated: date when the payment was initiated
- Errors return 4XX with failure message.
Body
application/json
Amount to be paid (minimum 100 XAF).
Required range:
x >= 100Phone number where payment request is sent.
Payment medium (optional).
Available options:
mobile money, orange money Name of the payer (optional).
Email of the payer for receipts (optional).
Internal user ID (optional).
Transaction/order ID for reconciliation (optional).
Reason for payment (optional).