All API requests use the base URL
https://api.dubupay.com/api/v1. Responses follow the shape { "success": true, "data": { ... } } for successful requests.Prerequisites
- A valid business email address
- Node.js 18+ or any HTTP client (the examples below use cURL and the native
fetchAPI)
Steps
1
Register your merchant account
Send a Example response
POST request to /auth/register with your business name, email, and a password of at least eight characters.Request bodystring
required
Your legal business or trading name. Minimum two characters.
string
required
The email address you will use to sign in to Dubu Pay.
string
required
A password of at least eight characters.
2
3
Log in and obtain tokens
Log in to receive an access token (valid for 15 minutes) and a refresh token (valid for 7 days). You need the access token to complete onboarding steps in the dashboard and to create your first API key.Example response
string
required
Your registered email address.
string
required
Your account password.
4
Create an API key
For server-side integrations, API keys are more convenient than short-lived JWT tokens. Create one now using the access token from the previous step.Example responseFrom this point on, pass the API key in the
string
required
A human-readable label for this key, such as
"production-server" or "staging". Maximum 100 characters.string
"sandbox" (default) or "live". Sandbox keys have the prefix dubu_sk_test_; live keys have dubu_sk_live_.X-Api-Key header instead of a Bearer token.5
Create your first customer
Before issuing a virtual bank account, you need a customer record. Customers represent the end-users who will send payments to you.Example response
6
Issue a virtual bank account
With a customer ID in hand, create a virtual bank account (onramp) so your customer can send an NGN payment. Use Example responseShare the
TEMPORARY type for a one-time payment with a locked exchange rate and a 25-minute expiry, or PERMANENT type for a reusable account (requires customer BVN).account_number and bank_name with your customer. When they transfer funds, a deposit record is created and progresses through the statuses PENDING_FX → PENDING_WITHDRAWAL → SETTLED.What’s next
Authentication
Understand JWT tokens, API keys, and when to use each.
API keys
Create, list, revoke, and delete API keys for your integration.