Skip to main content
POST
Create a payment intent

Authorizations

Authorization
string
header
required

A secret NorthFond business API key. Keep it on your server.

Headers

Idempotency-Key
string
required

A unique key for this logical write operation. Reuse it when retrying the exact same request.

Required string length: 8 - 255

Body

application/json
external_reference
string
required
Required string length: 1 - 128
Example:

"order_1042"

amount
object
required
accepted_payment_methods
enum<string>[]
required

KES pricing currently requires mobile_money. USDC pricing currently requires stablecoin.

Required array length: 1 - 2 elements
Available options:
mobile_money,
stablecoin
settlement
object
required
customer
object
metadata
object

Merchant-defined scalar metadata. The serialized object may not exceed 8 KB.

expires_in_seconds
integer
default:1800
Required range: 300 <= x <= 604800

Response

Payment intent created

id
string<uuid>
required
external_reference
string
required
amount
object
required
accepted_payment_methods
enum<string>[]
required
Available options:
mobile_money,
stablecoin
settlement
object
required
payment_instructions
null | object
required
status
enum<string>
required
Available options:
awaiting_payment,
funds_detected,
processing,
completed,
expired,
cancelled,
failed,
review_required,
approved
customer
object
required
metadata
object
required
expires_at
string<date-time>
required
cancelled_at
string<date-time> | null
required
completed_at
string<date-time> | null
required
created_at
string<date-time>
required
updated_at
string<date-time>
required