Bank Account
Collect customer payments directly into your Kenyan business bank account via M-Pesa STK push using Nukta's platform credentials.
Collect payments into your bank account
The Bank Account method raises an M-Pesa STK push prompt against your bank's official M-Pesa deposit paybill, embedding your bank account number as the transaction account reference.
Funds transfer directly from the customer's M-Pesa wallet into your commercial bank account. No Daraja API keys or Safaricom developer accounts are required—the payment prompt is initiated using Nukta's platform Daraja infrastructure.
- Availability: ISPs operating in Kenya (KE).
- Direct Bank Deposit: Customer payments route directly to your designated bank account via your institution's official M-Pesa collection paybill.
Always configure a commercial business bank account registered to your ISP rather than a personal account. Personal accounts subjected to high-volume recurring customer deposits risk automated AML flags, freezes, or account suspensions by your bank or Safaricom.
Before you start
- Ensure your ISP holds an active, verified commercial business bank account.
- Identify your institution's official M-Pesa deposit paybill (available via the searchable dropdown in the setup form).
Configuring the gateway
- In your Nukta dashboard, navigate to Settings → Payments.
- Select Bank Account from the payment gateway marketplace.
- Configure your bank details:
- Receiving Bank: Search and select your bank from the official list (searchable by bank name or paybill number).
- Bank Account Number: Enter your exact business bank account number (numeric digits only, up to 40 characters). This is transmitted as the M-Pesa account reference—verify it carefully before saving.
- Click Save Settings to switch the gateway live. (Switching payment gateways may request a secure action OTP).
Changing the selected receiving bank deliberately clears the bank account number field. This prevents accidentally saving an account number associated with a previous banking partner. If you change banks, always re-enter the account number before saving.
- Run a Controlled Test: Connect a test device to your captive portal, make a small test payment, and verify that the payment registers in your bank account, not merely on the customer's M-Pesa confirmation SMS.
Credentials reference
| Field | Required | Notes |
|---|---|---|
| Receiving Bank | Yes | Selected from the supported bank list. Existing saved paybills are preserved automatically. |
| Bank Account Number | Yes | Digits only (maximum 40 characters). Automatically reset if the receiving bank is modified. |
| Callback URLs | None | The callback destination is attached dynamically to each payment request; no manual registration is required. |
Customer checkout experience
- Required Customer Input: The customer provides their Safaricom mobile phone number to receive the STK push prompt.
- Auto-Populated Account: The bank account number is injected as the account reference automatically. The customer does not have to remember or type your bank details.
How transactions complete
Customer Checkout → Nukta Platform Bank STK Push → Customer Enters PIN → Bank Paybill Deposit → Safaricom Callback → Service Activated
- Request: Nukta raises an automated STK prompt against the bank's official deposit Paybill, specifying your bank account number as the account reference.
- Authorization: The customer enters their M-Pesa PIN. Safaricom transfers the funds to the bank's Paybill for account crediting.
- Settlement & Activation: Safaricom posts the confirmation to Nukta's callback, which logs the payment in Finance → Payments and activates the customer's internet access asynchronously.
Bank settlement times depend on your financial institution's internal batch processing schedules and may not reflect as instantaneously as a dedicated Paybill or Till. Always reconcile your ledger records against your official bank statement.
Payments typed in by hand
Customer invoices can provide pay-by-hand instructions, and Smart TV screens display an on-screen payment prompt. For this method, manual and TV payments route through Nukta's platform collection paybill rather than your direct bank paybill.
Collected funds are captured against the customer's reference code and remitted to your bank account. Always verify both automated STK push and manual pay-by-hand flows with a controlled test payment before migrating live customers.
Troubleshooting
| Symptom | Cause | Recommended Action |
|---|---|---|
| Account number field cleared automatically | The receiving bank was changed in the dropdown. | Re-enter your bank account number for the newly selected bank and save. |
| Customer received M-Pesa confirmation, but funds are not in bank account | The saved account reference contained an error or was rejected by your bank's core banking system. | Cross-check the account number in Settings → Payments against your bank statement, then contact your bank with the Safaricom M-Pesa transaction reference. |
| "Unable to process payment. Please try again later." | STK push initiation failed or Safaricom API was temporarily unreachable. | Retry the payment. If the issue persists, contact Nukta support to verify gateway status. |
To connect using your own dedicated Safaricom Daraja credentials, see Safaricom M-Pesa. For complete credential parameters across all gateways, consult the Gateway Credential Reference.