OuiPay
API ReferenceTransactions

Create a transaction

POST /v1/transactions : record a money-moving attempt.

POST /v1/transactions

Headers

HeaderRequiredValue
AuthorizationyesBearer sk_...
Idempotency-Keyyesunique per operation
Content-Typeyesapplication/json

Body

FieldTypeRequiredNotes
typestringyespayment, transfer, exchange, funding
customer_idstringyesCustomer ULID
amount_minorintyesPositive integer minor units
currencystringyesISO 4217
referencestringnoYour reference for reconciliation

Request

curl https://api.ouipay.com/v1/transactions \
  -H "Authorization: Bearer sk_test_..." \
  -H "Idempotency-Key: tx-001" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "payment",
    "customer_id": "01M2S17...",
    "amount_minor": 101000,
    "currency": "NGN",
    "reference": "order-8842"
  }'

Response 201

The transaction, status: "pending": recorded before any processing. In most integrations you create transactions through POST /v1/payments or POST /v1/transfers rather than directly.

Errors

HTTPerror.codeCause
400VALIDATIONInvalid field
422LIMIT_EXCEEDEDAbove the customer's limit

On this page