Skip to main content
POST
/
v1
/
payments
Create payment
curl --request POST \
  --url https://api.adullam.dev/v1/payments \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: <idempotency-key>' \
  --data '
{
  "amount": 5000,
  "currency": "XOF",
  "customer_phone": "+22507987654",
  "channel": "orangeCI",
  "description": "Order #12345",
  "metadata": {
    "order_id": "12345",
    "customer_name": "John Doe"
  }
}
'
{
  "id": "pay_abc123",
  "status": "pending",
  "amount": 5000,
  "currency": "XOF",
  "customer_phone": "+22507987654",
  "customer_name": "KONE ADAMA",
  "channel": "orangeCI",
  "description": "Order #12345",
  "reference": "REF_ABC123",
  "ussd_reference": "MP240115.1030.A12345",
  "fees": 25,
  "net_amount": 4975,
  "metadata": {
    "order_id": "12345"
  },
  "created_at": "2024-01-15T10:30:00Z",
  "updated_at": "2024-01-15T10:30:00Z",
  "completed_at": "2024-01-15T10:32:00Z",
  "failure_reason": null
}

Create Payment

Initiating a payment transaction allows you to process payments through your Adullam account. Use the Create Payment API to start a new payment, specifying details such as amount, currency, and payment method.

Authorizations

Authorization
string
header
required

Use the access token obtained from /v1/auth/token

Headers

Idempotency-Key
string<uuid>
required

UUID for idempotent requests

Body

application/json
amount
integer
required

Amount in XOF (minimum 100)

Required range: x >= 100
Example:

5000

currency
enum<string>
required
Available options:
XOF
Example:

"XOF"

customer_phone
string
required
Example:

"+22507987654"

channel
enum<string>
required
Available options:
orangeCI,
mtnCI,
moovCI,
waveCI
Example:

"orangeCI"

description
string
Maximum string length: 200
Example:

"Order #12345"

metadata
object
Example:
{
"order_id": "12345",
"customer_name": "John Doe"
}

Response

Payment created

id
string
Example:

"pay_abc123"

status
enum<string>
Available options:
created,
pending,
processing,
completed,
failed,
expired,
cancelled
Example:

"pending"

amount
integer
Example:

5000

currency
string
Example:

"XOF"

customer_phone
string
Example:

"+22507987654"

customer_name
string | null

Name retrieved from mobile money operator

Example:

"KONE ADAMA"

channel
enum<string>
Available options:
orangeCI,
mtnCI,
moovCI,
waveCI
Example:

"orangeCI"

description
string
Example:

"Order #12345"

reference
string

Internal reference

Example:

"REF_ABC123"

ussd_reference
string | null

Mobile money operator reference

Example:

"MP240115.1030.A12345"

fees
integer
Example:

25

net_amount
integer

Amount minus fees

Example:

4975

metadata
object
Example:
{ "order_id": "12345" }
created_at
string<date-time>
Example:

"2024-01-15T10:30:00Z"

updated_at
string<date-time>
Example:

"2024-01-15T10:30:00Z"

completed_at
string<date-time> | null
Example:

"2024-01-15T10:32:00Z"

failure_reason
string | null
Example:

null