Skip to main content
POST
Create a payment

Headers

Authorization
enum<string>
default:NONE
required

Reserved for PCX-managed applications. External API integrations must always send the literal string NONE — this is the only accepted value.

Available options:
NONE
Example:

"NONE"

X-Api-Key
string
default:NONE
required

Your API key. This is the only supported credential.

Example:

"pcx_abc123_xxxx"

Body

application/json
amount
number<float>
required
currency
enum<string>
required
Available options:
USD,
NGN,
GBP,
EUR,
KES,
GHS,
ZAR,
RWF
Example:

"NGN"

beneficiary_id
string
required
payment_method
enum<string>
required
Available options:
bank_transfer,
card,
mobile_money,
crypto,
wallet
direction
enum<string>
required
Available options:
inbound,
outbound,
external
org_id
string | null
target_amount
number<float> | null
target_currency
string | null

Destination currency for cross-currency payments. When currency and target_currency differ, a valid org_rate_id is required.

metadata
object
instructions
string | null

Response

Payment created

payment_id
string
amount
number<float>
currency
string
user_id
string
status
enum<string>
Available options:
initiated,
reviewed,
confirmed,
processing,
pending,
completed,
failed,
refunded,
rejected,
canceled
direction
enum<string>
Available options:
inbound,
outbound,
external
payment_method
enum<string>
Available options:
bank_transfer,
card,
mobile_money,
crypto,
wallet
org_id
string | null
beneficiary_id
string
transaction_id
string | null
target_amount
number<float> | null
target_currency
string | null
metadata
object
instructions
string | null
comments
string | null
created_at
string<date-time>
updated_at
string<date-time>