Direct Debit
Nium's Direct Debit funding capability helps you add your business customer's bank account to their Nium-issued wallet to help them make payments.
Prerequisites
These are the requirements for this funding mechanism:
- Your customer needs to have a bank account and a Nium wallet.
- Your customer needs to authorize the Direct Debit mandate to debit from their bank account and accept Nium's terms and conditions (T&C).
- Your customer needs to have enough money in their added bank account to start your transactions.
- Your customer needs to be a business, also known as a corporation.
- Your customer needs to be onboarded to the Nium One platform.
Configuration
Accept Nium’s T&C. Nium provides approval according to the geography where Direct Debit is set up. Nium then configures Direct Debit for self-funding to your customer's wallets. Once you complete these steps, you can use Direct Debit.
Direct Debit is a restricted functionality. As a new or existing client, contact a Nium sales representative to enable this functionality.
API server URLs
Use the following host names to distinguish the API calls between the different working environments.
- Sandbox:
https://gateway.nium.com
- Production:
https://api.spend.nium.com
Supported countries and currencies
The following table shows the supported Direct Debit countries and currencies. For more information, select the Direct Debit page linked in the table for the geography you're interested in.
Country code | Country | Currency code | Currency |
---|---|---|---|
AU | Australia | AUD | Australian dollar |
CA | Canada | AUD | Australian dollar |
EU | European Union | EUR | Euro |
UK | United Kingdom | GBP | Pound sterling |
US | United States | USD | United States dollar |
SG | Singapore | SGD | Singapore dollar |
Direct Debit API endpoints
The following APIs support the Direct Debit feature:
HTTP method | API name | Action |
---|---|---|
POST | Add Funding Instrument | Add the funding instrument to your customer's wallet to start a Direct Debit transaction. Use this API to add the payer's physical bank account to the customer's wallet so that Direct Debit payments can be initiated against it. Provide the funding instrument's country and currency code. |
GET | Get Funding Instrument Details | Get your customer's funding instrument details for a specific funding instrument ID. It's optional to use this API. The fundingInstrumentId is returned as a response in the Add Funding Instrument API call. |
GET | Get Funding Instrument List | Get the list of funding instruments registered with your customer. It's optional to use this API. |
POST | Confirm Funding Instrument | Confirm the funding instrument with one-time password (OTP) authentication. Use this API to communicate the OTP you received from Nium. Nium sends you the OTP during the Add Funding Instrument API call. By confirming the Direct Debit mandate, your customer authorizes Nium to debit payments from their bank account. The debit payments appear on your customer's bank statement as Nium. |
POST | Fund Wallet | Fund into your customer's wallet by selecting the funding channel as a direct_debit transaction. You also need to provide the fundingInstrumentId obtained from the response in the Add Funding Instrument API call. |
The following diagram shows the Direct Debit customer wallet flow for all geographic regions.

Testing Direct Debit
You can now simulate funds settlement into a Nium wallet in the sandbox environment—almost instantly. This feature helps you test and integrate Direct Debit flows faster and with less complexity.
Before you begin to test Direct Debit, make sure the following conditions are met:
- The client and customer are onboarded to the correct region.
- The customer has a wallet set up with the required Direct Debit currency.
- The customer has a verified, linked funding instrument available for the correct region and currency.
Step 1: Start a test Direct Debit
Call the fund endpoint to pull funds from a verified and linked funding instrument.
curl 'https://gateway.nium.com/api/v1/client/{clientHashId}/customer/{customerHashId}/wallet/{walletHashId}/fund' \
--request POST \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: YOUR_SECRET_TOKEN' \
--data '{
"amount": 16,
"fundingChannel": "DIRECT_DEBIT",
"sourceCurrencyCode": "USD",
"destinationCurrencyCode": "USD",
"fundingInstrumentId": "e18f4c3a-7d9f-4c1d-9a82-58b3d1f6ac91",
"statementNarrative": "Simulate Direct Debit settlement"
Response Example
{
"destinationAmount": 16,
"destinationCurrencyCode": "USD",
"paymentMethods": [],
"returnUrl": null,
"sourceAmount": 16,
"sourceCurrencyCode": "USD",
"status": "Pending",
"systemReferenceNumber": "FW5289214401"
}
Step 2: Testing funds receipt
Use the systemReferenceNumber
from Step 1 to test receiving funds from the linked funding instrument (external bank account).
Note:
To test instant funds settlement, set"coolingOfPeriodInMinutes" to
0in the
additionalInfoobject. This field lets you define a delay (in minutes) before funds are settled. Setting it to
0` bypasses this delay.
curl https://gateway.nium.com/api/v1/inward/payment/manual \
--request POST \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: YOUR_SECRET_TOKEN' \
--data '{
"additionalInfo": {
"coolingOfPeriodInMinutes": "0"
},
"amount": 16,
"bankReferenceNumber": "712347512376",
"country": "US",
"currency": "USD",
"payMode": "ACH",
"remitterBankName": "CFSB",
"transactionId": "FW5289214401",
"transactionSource": "ACH",
"type": "CREDIT",
}'
Response Example
{
"message": "ICC request has been processed and published successfully",
"success": true
}
After you complete the steps above, the test Direct Debit transaction will move to an Approved status and the funds will be added to the wallet.
This applies to all supported regions and currencies in sandbox environments.
Use cases
You can use the Direct Debit feature for business-to-business (B2B) payments such as employee payroll services or spend management. You can debit your business customer’s bank accounts and load the money into their Nium wallet so you can process their salary and expense payouts.
Use Case | Client type | Example | Funds flow |
---|---|---|---|
Payroll | Non-financial platform clients | As a payroll platform client, you want to debit a corporate customer's bank account and load money into their Nium wallet. This lets you manage salary and expense payouts. | Corporate customer → Nium → corporate customer’s wallet → corporate customer’s employee |
Spend management and supplier payments | Non-financial platform clients | As a software as a service (SaaS) platform client, you want to debit your customer’s accounts and load money into their wallets. This allows you to process their vendor's invoices and make payments to their vendor. | SaaS platform customer → Nium → SaaS platform customer’s wallet → vendor |
Fintech | Non-financial platform clients | As a fintech platform, you want to direct debit your business customer’s accounts and load money into their wallets. | Fintech business customer → Nium → customer's wallet → spend through a card or payout |
The following diagram shows a Direct Debit payment broadly across geographic regions.

💁 TIP
To learn more about the technical words this guide uses, refer to the Glossary.