Collect
Create order
Register the customer and amount. Returns a reference and the methods that order can take.
POST
/payment/order/create/newHeader api-key is the public key. The test panel encrypts the body when an encryption key is set under Keys.
| Field | Notes |
|---|---|
customer | firstName, lastName, email, mobile, and country. Send the customer's own names. |
order.amount | Minor units as the API expects for that currency (NGN in naira). |
order.reference | Your merchant reference. Sending it again returns the existing order with statusCode 00 and Already processed. The original amount stays, even if the repeat uses a different amount. |
payment.redirectUrl | Required. Where the customer returns after hosted checkout. |
payment.splitCode | Optional. Active split configuration for this business, environment, and currency. Omit it for a normal settlement. |
The response includes order.paymentLink. Redirect the customer there if you want PayInvert to collect the payment. The test panel opens that link for you, same as the 3DS redirect on card pay.
Same reference
Create Order does not reject a reference that already exists. You get statusCode 00, Already processed, and the original order. A different amount on that request does not change the order.
Keep the reference
Pay, status, and verify all need it. The last reference from a test panel is kept on this tab.