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 bodyYour legal business or trading name. Minimum two characters.
The email address you will use to sign in to Dubu Pay.
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
Your registered email address.
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
A human-readable label for this key, such as
"production-server" or "staging". Maximum 100 characters."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.