Skip to main content
POST
Initiate PayIn

Authorizations

Authorization
string
header
required

JWT bearer token returned by POST /action/auth. Send protected requests with: Authorization: Bearer . Tokens expire after 24 hours.

Headers

operation
enum<string>
required

Operation type - must be '2' for PayIn

Available options:
2
Example:

"2"

service
string
required

Service identifier for the payment method.

Services requiring OTP:

  • 3 - OM CI (Orange Money Côte d'Ivoire)
  • 4 - OM SN (Orange Money Senegal)
  • 5 - OM BF (Orange Money Burkina Faso)
Example:

"1"

otp
string

One-Time Password for Orange Money services.

Required only for: OM CI (service: 3), OM SN (service: 4), OM BF (service: 5) Format: Maximum 8 characters/digits Note: This header is optional for services that don't require OTP

Maximum string length: 8
Example:

"123456"

Body

application/json

Payment details to collect from customer

amount
number
required

Amount in smallest currency unit (100 XAF = 1€)

Required range: x >= 100
Example:

1000

currency
enum<string>
default:XAF
required
Available options:
XAF,
XOF
Example:

"XAF"

wallet
string
required

Customer mobile money wallet number

Example:

"690000000"

description
string
required
Maximum string length: 255
Example:

"Payment for Order #123"

customer_name
string
required
Maximum string length: 255
Example:

"John Doe"

customer_email
string<email>
Example:

"john@example.com"

callback_url
string<uri>

URL to receive payment status updates

Example:

"https://yourapp.com/webhooks/payment"

Response

Payment initiated successfully

success
boolean
Example:

true

message
string
Example:

"Payment initiated successfully"

data
object