Getting Started
First Request
Create a customer and a transaction in under five minutes.
1. Create a customer
Send a POST to /v1/customers with your sandbox key:
curl https://api.ouipay.com/v1/customers \
-H "Authorization: Bearer sk_test_..." \
-H "Idempotency-Key: cust-001" \
-H "Content-Type: application/json" \
-d '{
"name": "Amara Okonkwo",
"email": "amara@example.com",
"phone": "+2348012345678",
"country_code": "NG"
}'2. Create a payment
Use the customer id from the previous response to initiate a collection:
curl https://api.ouipay.com/v1/payments \
-H "Authorization: Bearer sk_test_..." \
-H "Idempotency-Key: pay-001" \
-H "Content-Type: application/json" \
-d '{
"customer_id": "01M2S17...",
"amount_minor": 50000,
"currency": "NGN",
"method": "card"
}'What you get back
{
"data": {
"id": "01M2S18...",
"status": "pending",
"amount_minor": 50000,
"currency": "NGN",
"method": "card",
"idempotency_key": "pay-001",
"created_at": "2026-09-18T02:00:00Z"
}
}The transaction is recorded the moment the request arrives: even if it later
fails, the entry exists with status: "failed" and a failure.code telling
you why. Read the transaction lifecycle for the full status
machine.
Next steps
- Handle errors
- Idempotency: required for every mutation
- Accept a payment guide: the full flow