Authenticate safely
Keep secret credentials on your server and use separate test and live environments.
Authorization: Bearer nxv_test_••••Developer preview
Build a payment flow your team can reason about—from initial request to final settlement state.
const payment = await naxivo.payments.create({
amount: 245000,
currency: "NGN",
reference: "order_1842",
customer: {
email: "customer@example.com"
}
});
return payment.checkout_url;Quickstart
This page is an interface and documentation preview. Endpoint contracts are finalized with the production backend before launch.
Keep secret credentials on your server and use separate test and live environments.
Authorization: Bearer nxv_test_••••Send amount, currency, customer and your own unique reference.
POST /v1/paymentsVerify the signed webhook, then update your order from the server-side event.
payment.succeededCOLLECTIONS
Create a payment request on your server, then send the customer to the returned checkout URL.
/paymentscurl https://api.naxivopay.com/v1/payments \
-H "Authorization: Bearer nxv_test_••••" \
-H "Idempotency-Key: order_1842" \
-d '{
"amount": 245000,
"currency": "NGN",
"reference": "order_1842"
}'PAYOUTS
Initiate a transfer with an idempotency key and your own reconciliation reference.
/transfersVIRTUAL ACCOUNTS
Issue a dedicated account reference for a customer, store or invoice.
/virtual-accountsWEBHOOKS
Verify signatures against the raw request body, return a 2xx response quickly and process the event idempotently.
ERRORS
Every error response follows one structure with a machine-readable code, human-readable message and request identifier.
{ "code": "validation_error", "message": "Amount must be greater than zero", "request_id": "req_7f2a..." }Build with NaxivoPay
Request sandbox access and confirm the production contract with the NaxivoPay team.