Debit a Customer's Account (Variable Authorizations Only)
Variable authorizations don't have a preset debit timeline, so each debit and amount must be triggered manually via the API. You can call this endpoint as soon as you receive the direct_debit.auth webhook with status: "success" — there is no waiting period.
Endpoint
POST /api/v1/direct-debit/authorizations/{authorizationCode}/debits
Path Parameters
| PARAMETER | TYPE | REQUIRED | DESCRIPTION |
|---|---|---|---|
| authorizationCode | string | Yes | The authorization_code returned at creation (e.g. KPY-AUTH-7d2f9c0e). |
Request Parameters
| PARAMETER | TYPE | REQUIRED | DESCRIPTION |
|---|---|---|---|
amount | number | Yes | Amount to debit. Positive, max 2 decimal places. Must respect the merchant's transaction limits and (where set) the authorization ceiling. |
narration | string | Yes | Free‑text description shown to the customer / on statements. |
currency | string | Yes | Currently only NGN is supported. |
Sample Request
{
"reference: "test-reference
"amount": 50000,
"currency": "NGN",
"narration": "April subscription"
}Sample Success Response (debit accepted for processing)
{
"status": true,
"message": "success",
"data": {
"transaction_reference": "KPY-DD-TXN-1c92ff70",
"authorization_code": "KPY-AUTH-7d2f9c0e",
"status": "processing",
"amount": 50000,
"fee": 50,
"vat": 3.75,
"currency": "NGN",
"nibss_transaction_id": "100008250419103245001",
"processed_at": "2026-04-19T10:32:45.000Z"
}
}You can get the details of Direct Debit Payment by making a GET request to the Charge Query API endpoint using the reference used to make the debit.
Endpoint
https://api.korapay.com/merchant/api/v1/charges/:referenceAnd here's what the response looks like:
{
"status": true,
"message": "Charge retrieved successfully",
"data": {
"reference": "KPY-PAY-hna5DqhZDqByCcx",
"status": "success",
"amount": "100.00",
"amount_paid": "100.00",
"fee": 12.69,
"currency": "NGN",
"description": "Direct Debit: test",
"customer": {
"name": "vee Test",
"email": "[email protected]"
}
}
}List of supported banks
| BANKS | BANK CODE | STATUS |
|---|---|---|
| ACCESS BANK PLC | 044 | ✅ Supported |
| ECO BANK PLC | 050 | ✅ Supported |
| FIDELITY BANK PLC | 070 | ✅ Supported |
| FIRST BANK OF NIGERIA | 011 | ✅ Supported |
| FIRST CITY MONUMENT BANK | 214 | ✅ Supported |
| GLOBUS BANK LTD | 103 | ✅ Supported |
| GUARANTY TRUST BANK PLC | 058 | ✅ Supported |
| JAIZ BANK | 301 | ✅ Supported |
| KEYSTONE BANK | 082 | ✅ Supported |
| KUDA MICROFINANCE BANK | 50211 | ✅ Supported |
| LOTUS BANK | 303 | ✅ Supported |
| NOVA MERCHANT Bank | 637 | ✅ Supported |
| OPTIMUS BANK LIMITED | 000036 | ✅ Supported |
| PARALLEX BANK | 526 | ✅ Supported |
| POLARIS BANK | 076 | ✅ Supported |
| PREMIUM TRUST BANK LIMITED | 105 | ✅ Supported |
| PROVIDUS BANK | 101 | ✅ Supported |
| STANBIC IBTC | 221 | ✅ Supported |
| STANDARD CHARTERED BANK PLC | 068 | ✅ Supported |
| STERLING BANK PLC | 232 | ✅ Supported |
| SUN TRUST BANK | 100 | ✅ Supported |
| TAJBANK LTD | 302 | ✅ Supported |
| TITAN TRUST BANK | 102 | ✅ Supported |
| UNITED BANK FOR AFRICA | 033 | ✅ Supported |
| UNION BANK OF NIGERIA PLC | 032 | ✅ Supported |
| UNITY BANK PLC | 215 | ✅ Supported |
| WEMA BANK | 035 | ✅ Supported |
| ZENITH INTERNATIONAL BANK | 057 | ✅ Supported |
Updated about 8 hours ago
