API Documentation
Beautifully crafted, fast, and secure APIs to power your apps. Explore endpoints, copy runnable snippets, and ship faster.
Getting Started
Use the base URL and your secret API key to make requests. Switch environments to preview the exact URLs used in code samples.
curl -X GET "%%BASE_URL%%/account" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json"
fetch('%%BASE_URL%%/account', { headers: { 'Authorization': 'Bearer YOUR_API_KEY' } }).then(r => r.json()).then(console.log);
import requests r = requests.get('%%BASE_URL%%/account', headers={ 'Authorization': 'Bearer YOUR_API_KEY' }) print(r.json())
<?php $client = new \GuzzleHttp\Client(); $res = $client->get('%%BASE_URL%%/account', [ 'headers' => ['Authorization' => 'Bearer YOUR_API_KEY'] ]); echo $res->getBody();
Authentication
Authenticate using your secret API key in the Authorization header. Never expose secrets in client-side code.
Error Handling
We use standard HTTP status codes. Error payloads follow a consistent structure for easy debugging.
Payments API
Create and manage payment transactions.
/v1/payments
Creates a new payment transaction.
Parameter | Type | Required | Description |
---|---|---|---|
amount | string | required | Amount in smallest currency unit |
currency | string | required | ISO code (e.g., NGN, USD) |
customer | object | required | Customer information object |
description | string | optional | Payment description |
curl -X POST "%%BASE_URL%%/payments" \ -H "Authorization: Bearer sk_live_xxx" \ -H "Content-Type: application/json" \ -d '{ "amount": "10000", "currency": "NGN", "customer": {"email":"customer@example.com","name":"John Doe"}, "description": "Order #12345" }'
await fetch('%%BASE_URL%%/payments', { method: 'POST', headers: { 'Authorization': 'Bearer sk_live_xxx', 'Content-Type': 'application/json' }, body: JSON.stringify({ amount: '10000', currency: 'NGN', customer: { email: 'customer@example.com', name:'John Doe' } }) });
import requests requests.post('%%BASE_URL%%/payments', json={ 'amount': '10000', 'currency': 'NGN', 'customer': {'email':'customer@example.com','name':'John Doe'} }, headers={'Authorization':'Bearer sk_live_xxx'})
<?php $client = new \GuzzleHttp\Client(); $client->post('%%BASE_URL%%/payments', [ 'headers' => ['Authorization'=>'Bearer sk_live_xxx','Content-Type'=>'application/json'], 'json' => ['amount'=>'10000','currency'=>'NGN','customer'=>['email'=>'customer@example.com','name'=>'John Doe']] ]);
/v1/payments/{id}
Retrieve details of a payment by ID.
Transfers API
Send money between accounts and to external recipients.
/v1/transfers
Creates a new transfer.
Webhooks
Receive real-time notifications when events occur. Configure endpoints and verify signatures.
Official SDKs
Use our official SDKs to integrate faster with typed APIs and helpers.