Endpoint
POST https://api-v4.reeple.ai/charge/order/create
Request body
The body is a single encrypted field:| Field | Type | Description |
|---|---|---|
data | String | Required. The RSA-encrypted payload described below. |
Payload (before encryption)
| Field | Type | Description |
|---|---|---|
customer | Object | Required. See Customer object. |
order | Object | Required. See Order object. |
payment | Object | Required. See Payment object. |
paymentMeta | Object | Optional. See Payment meta object. Forwarded to fraud detection. |
Customer object
| Field | Type | Description |
|---|---|---|
firstname | String | Required. |
lastname | String | Required. |
email | String | Required. Receipts and notifications go here. |
mobile | String | Required. In international format, e.g. +2348158200000. |
country | String | Required. Two-letter country code, e.g. NG. |
Order object
| Field | Type | Description |
|---|---|---|
amount | Number | Required. In the currency’s standard unit — see Amount units. |
reference | String | Required. Your own unique reference for this order. |
currency | String | Required. See Supported currencies. |
description | String | Required. Shown to the customer; returned as narration. |
Payment object
| Field | Type | Description |
|---|---|---|
RedirectUrl | String | Required. Where the customer is sent after paying. See Callbacks and verification. |
Payment meta object
| Field | Type | Description |
|---|---|---|
ipAddress | String | Optional. The customer’s IP address. |
UserAgent | String | Optional. The customer’s browser user agent. |
Payload example
{
"customer": {
"firstname": "Ada",
"lastname": "Lovelace",
"mobile": "+2348158200000",
"country": "NG",
"email": "ada@example.com"
},
"order": {
"amount": 500,
"reference": "order-2026-0001",
"description": "Order #0001",
"currency": "NGN"
},
"payment": {
"RedirectUrl": "https://yourdomain.com/payment/callback"
},
"paymentMeta": {
"ipAddress": "127.0.0.1",
"UserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)"
}
}
Request example
curl -X POST https://api-v4.reeple.ai/charge/order/create \
-H "Content-Type: application/json" \
-H "api-key: YOUR_PUBLIC_KEY" \
-d '{ "data": "YOUR_ENCRYPTED_PAYLOAD" }'
Response
{
"data": {
"order": {
"reference": "order-2026-0001",
"processorReference": "RPL-A3B844129BE911F1ADC6026C64B362BB",
"orderPaymentReference": null,
"amount": 500,
"fee": 0,
"feeRate": null,
"statusId": 1,
"status": "Initiated",
"currency": "NGN",
"narration": "Order #0001"
},
"subsidiary": {
"id": 1,
"name": "Your Business",
"country": "NG",
"supportEmail": "support@yourdomain.com",
"customization": []
},
"customer": {
"email": "ada@example.com",
"firstName": "Ada",
"lastName": "Lovelace",
"mobile": "+2348158200000",
"country": "NG"
},
"payment": {
"code": null,
"source": null,
"selectedOption": null,
"accountNumber": null,
"bankProviderName": null
},
"otherPaymentOptions": [
{ "code": "C", "name": "Card Payment", "currency": "NGN" },
{ "code": "BANK-TRANSFER", "name": "Pay With Bank Transfer", "currency": "NGN" }
],
"savedCards": [],
"subsidiaryOrderSummary": {
"orderName": "Your Business Order order-2026-0001",
"totalAmount": 500,
"reference": "order-2026-0001",
"currency": "NGN",
"orderItems": [{ "name": "Summary", "amount": 500 }]
}
},
"status": "success",
"statusCode": "01",
"message": "Created order successfully"
}
Response fields
| Field | Description |
|---|---|
order | The created order. statusId: 1 / status: "Initiated" — nothing charged yet. |
otherPaymentOptions | The methods available for this currency. Render these as the customer’s choices. |
savedCards | Cards previously saved for this customer, chargeable via savedCardId. |
subsidiary | Your business details, for display on a checkout page. |
subsidiaryOrderSummary | A pre-formatted order summary you can render directly. |
otherPaymentOptions varies by currency and by what’s enabled for your account — a USD order
typically offers card only. Never hard-code the list.fee is 0 at creation because no method has been chosen yet. Use
Get order fee to quote the real total for a given
method before the customer commits.Next steps
Pay an order
Charge the order with the method the customer picked.