OuiPay
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

On this page