Skip to main content

The payment object

A payment represents a single charge initiated by a customer. Payments are created via the API and completed through Orafi’s hosted checkout flow.
string
Unique identifier for the payment.
string
On-chain address the customer sends funds to.
number
Payment amount in NGN (the currency the merchant specified).
number
Equivalent amount in USDC at the time of creation.
string
URL the customer is redirected to after payment.
string
Orafi-hosted checkout page URL. Redirect your customer here to complete payment.
string
default:"INITIALIZED"
Current payment status. One of INITIALIZED, CONFIRMED, or FAILED.
string
default:"USDC"
Token used for the payment. Currently always USDC.
boolean
default:"false"
Whether this payment has been refunded.
string
How the payment was initiated. One of PAYMENT_LINK or HOSTED_CHECKOUT.
string
Merchant-supplied transaction reference. Acts as an idempotency key.
string
ID of the parent transaction record.
Paylink that initiated this payment, if applicable.

Transaction sub-object

When retrieving a Transaction with type: "PAYMENT", the payment appears as a nested payment sub-object with these fields:
string
Unique identifier for the payment.
string
default:"USDC"
Token used for the payment.
boolean
default:"false"
Whether this payment has been refunded.
string
On-chain address the customer sent funds to.
string
Merchant-supplied transaction reference (idempotency key).
string
How the payment was created. One of PAYMENT_LINK or HOSTED_CHECKOUT.
string
URL the customer is redirected to after checkout.
Paylink that initiated this payment, if applicable.

Create a payment

POST /transactions/payment/create
Creates a hosted checkout payment. Returns a checkoutUrl to redirect the customer to.

Request body

number
required
Amount to charge in NGN. Minimum 1.
string
required
Amount to charge in NGN. Minimum 1.
object
required
Customer information for this payment.
| Either the customerId or the object is required!
string
required
Unique transaction reference from your system. Acts as an idempotency key — duplicate txRef values return the original payment.
string
URL to redirect the customer to after checkout. If omitted, the customer stays on the Orafi checkout page.

Verify a payment

POST /transactions/payment/verify
Verifies the current status of a payment. Call this after the customer is redirected back to your application.

Request body

string
required
The payment ID returned when the payment was created.

Retrieve a payment

| Retriving a transactionis only valid within the period of expected completion(10 minutes).
GET /transactions/payment
Fetches full details of a payment including deposit address, business name, and amounts.

Query parameters

string
required
The payment ID to retrieve.