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.Unique identifier for the payment.
On-chain address the customer sends funds to.
Payment amount in NGN (the currency the merchant specified).
Equivalent amount in USDC at the time of creation.
URL the customer is redirected to after payment.
Orafi-hosted checkout page URL. Redirect your customer here to complete payment.
Current payment status. One of
INITIALIZED, CONFIRMED, or FAILED.Token used for the payment. Currently always
USDC.Whether this payment has been refunded.
How the payment was initiated. One of
PAYMENT_LINK or HOSTED_CHECKOUT.Merchant-supplied transaction reference. Acts as an idempotency key.
ID of the parent transaction record.
Paylink that initiated this payment, if applicable.
Transaction sub-object
When retrieving a Transaction withtype: "PAYMENT", the payment appears as a nested payment sub-object with these fields:
Unique identifier for the payment.
Token used for the payment.
Whether this payment has been refunded.
On-chain address the customer sent funds to.
Merchant-supplied transaction reference (idempotency key).
How the payment was created. One of
PAYMENT_LINK or HOSTED_CHECKOUT.URL the customer is redirected to after checkout.
Paylink that initiated this payment, if applicable.
Create a payment
POST
Creates a hosted checkout payment. Returns a /transactions/payment/createcheckoutUrl to redirect the customer to.
Request body
Amount to charge in NGN. Minimum
1.Customer information for this payment.
Unique transaction reference from your system. Acts as an idempotency key — duplicate
txRef values return the original payment.URL to redirect the customer to after checkout. If omitted, the customer stays on the Orafi checkout page.
Verify a payment
POST
Verifies the current status of a payment. Call this after the customer is redirected back to your application.
/transactions/payment/verifyRequest body
The payment ID returned when the payment was created.
Retrieve a payment
GET
Fetches full details of a payment including deposit address, business name, and amounts.
/transactions/payment/retrieveQuery parameters
The payment ID to retrieve.
