Payment Gateways

Overview

Payment gateways enable your customers and resellers to pay online directly through the ISPBills customer portal. Instead of visiting your office or calling to make a payment, a customer can click a payment link, choose their preferred method, and complete the transaction from their phone or computer. Once a gateway is configured and active, it is available for customer bill payments and reseller balance top-ups.

ISPBills supports 24+ payment gateways spanning six regions, covering mobile wallets, bank gateways, aggregators, and international card processors.


Supported Payment Gateways by Region

Region Gateway Type Transaction Fee
Bangladesh bKash (Tokenized) Mobile Wallet ~1.5%
Bangladesh bKash (Checkout) Mobile Wallet ~1.5%
Bangladesh bKash (Payment) Mobile Wallet ~1.5%
Bangladesh Nagad Mobile Wallet ~1.2%
Bangladesh Rocket Mobile Wallet ~1.5%
Bangladesh SSL Commerz Aggregator ~2%
Bangladesh ShurjoPay Aggregator ~2%
Bangladesh Aamar Pay Aggregator ~2%
Bangladesh Easypayway Aggregator ~2%
Bangladesh BD SmartPay Aggregator ~1.5%
Bangladesh WalletMix Aggregator ~2%
India Razorpay Full-stack ~2%
India Paytm UPI + Wallet ~1.75%
India Instamojo Payment Links ~2%
Nepal eSewa Digital Wallet ~1.5%
Nepal Khalti Digital Wallet ~1.5%
Nepal IME Pay Digital Wallet ~1.5%
Pakistan JazzCash Mobile Wallet ~2%
Pakistan Easypaisa Mobile Wallet ~2%
Pakistan HBL Konnect Bank Gateway ~2%
Africa M-Pesa (Safaricom) Mobile Money ~1%
International Stripe Card + Bank ~2.9% + 30¢
International PayPal Global ~2.9% + 30¢
International Authorize.Net Card ~2.9% + 30¢

Transaction fees shown above are approximate and may vary based on your merchant agreement with each provider. Contact your gateway provider for exact pricing.

Bangladesh

  • bKash (Tokenized) — Tokenized payment flow where customers authorize once and can pay with a single tap on subsequent visits. Ideal for recurring ISP bill payments.
  • bKash (Checkout) — Standard bKash checkout flow that redirects customers to the bKash payment page.
  • bKash (Payment) — Direct bKash payment integration using a credentials JSON file. Suitable for operators who prefer the bKash Payment API over the Checkout or Tokenized flows.
  • Nagad — Bangladesh's second-largest mobile financial service. Lower fees than most alternatives.
  • Rocket — Dutch-Bangla Bank's mobile banking and wallet service. Widely used in Bangladesh for person-to-merchant payments.
  • SSL Commerz — Full aggregator supporting cards, mobile banking, and internet banking. Covers the widest range of payment methods in Bangladesh.
  • ShurjoPay — Multi-method aggregator supporting cards and mobile banking.
  • Aamar Pay — Multi-method aggregator with card and mobile banking support.
  • Easypayway — Multi-method payment gateway.
  • BD SmartPay — Payment gateway with competitive fees.
  • WalletMix — Payment aggregator supporting multiple wallets and cards.

India

  • Razorpay — Full-stack payment solution supporting cards, UPI, net banking, and wallets (INR). UPI is widely used across India.
  • Paytm — Cards, UPI, net banking, and Paytm wallet (INR). Large user base.
  • Instamojo — Payment links with support for cards, UPI, net banking, wallets, and EMI (INR).

Nepal

  • eSewa — Nepal's leading digital wallet and payment platform (NPR).
  • Khalti — Widely adopted digital wallet for online payments (NPR).
  • IME Pay — Mobile wallet with remittance integration (NPR).

Pakistan

  • JazzCash — Pakistan's leading mobile wallet and card payment service (PKR).
  • Easypaisa — Mobile wallet and online payment platform (PKR).
  • HBL Konnect — Bank-based card payments via HBL / CyberSource (PKR). Supports international cards.

International

  • Stripe — Cards, wallets, and bank transfers with multi-currency support. Widely used globally.
  • PayPal — Cards, PayPal balance, and bank accounts with multi-currency support.
  • Authorize.Net — Cards and e-checks, popular in North America (USD and other currencies).

Africa

  • M-Pesa (Safaricom) — Kenya's dominant mobile money service. Uses the Daraja STK Push API: the customer receives a payment prompt on their phone, enters their PIN, and the transaction is confirmed automatically. No browser redirect required. Widely used by ISPs across Kenya and East Africa. Requires a Safaricom Daraja merchant account.

Contact your ISPBills provider if you need a gateway that is not listed.


Configuring a Gateway

Each gateway has its own set of credentials provided by the payment service when you register a merchant account with them.

  1. Navigate to Settings → Payment Gateways.
  2. Click Add Gateway.
  3. Select the Country and Provider Name for the gateway you want to configure. Providers are organized by region (Bangladesh, India, Nepal, Pakistan, Africa, International) for easy selection.
  4. Choose the Environment — use Sandbox for testing, switch to Live for production.
  5. Enter the required credentials. The form fields update dynamically based on the selected gateway — only the fields relevant to your chosen provider are displayed.

Dynamic Form Fields

When you select a gateway from the dropdown, ISPBills dynamically adjusts the configuration form to show only the credential fields required by that provider. For example:

  • Selecting Stripe shows fields for Secret Key, Publishable Key, and Webhook Secret.
  • Selecting bKash (Tokenized) shows fields for App Key, App Secret, Username, and Password.
  • Selecting eSewa shows fields for Merchant Code and Secret Key.

This prevents confusion and ensures you only fill in what the gateway actually requires.

Credential Mapping by Gateway

Each gateway maps its credentials differently to the ISPBills database columns (username, password, app_key, app_secret). The table below shows exactly which credential goes where:

Gateway Username Password App Key App Secret Notes
bKash (Tokenized) bKash Username bKash Password App Key App Secret Provided by bKash merchant portal
bKash (Checkout) bKash Username bKash Password App Key App Secret Same merchant portal credentials
bKash (Payment) Uses Credentials JSON file upload; bKash Number in MSISDN field
Nagad Merchant ID Public Key Private Key Keys from Nagad merchant account
Rocket Account Number Secret Key Dutch-Bangla Bank merchant account
SSL Commerz Store ID Store Password From SSL Commerz merchant panel
ShurjoPay Username Password Prefix with SP_ for sandbox
Aamar Pay Store ID Signature Key
Easypayway API Key
BD SmartPay Store ID API Key
WalletMix App ID Secret Key
Razorpay Key ID Key Secret Test keys for sandbox
Paytm Merchant ID (MID) Merchant Key Website: WEBSTAGING (sandbox)
Instamojo API Key Auth Token Salt Test mode via sandbox keys
eSewa Merchant Code (scd) Secret Key
Khalti Secret Key Public Key Test keys for sandbox
IME Pay Merchant Code Module Merchant Username Merchant Password
JazzCash Merchant ID Password Integrity Salt
Easypaisa Store ID Hash Key
HBL Konnect Merchant ID Secret Key Profile ID in MSISDN field
Stripe Secret Key Publishable Key Webhook Secret sk_test_ for sandbox
PayPal Client ID Client Secret Sandbox via sandbox credentials
Authorize.Net API Login ID Transaction Key Signature Key
M-Pesa Consumer Key Consumer Secret Passkey Business Shortcode in MSISDN field

Keep your secret keys confidential. Do not share them or commit them anywhere outside the settings page.


Service Charge

Each gateway configuration includes a Service Charge Percentage field. This is an additional percentage fee added on top of the bill amount when a customer pays through that gateway.

  • Set this to 0 if you do not want to pass any extra charges to the customer.
  • Set a value (e.g., 2) to cover the gateway's transaction fee or add a convenience charge.
  • The service charge is displayed to the customer before they confirm payment, so there are no hidden fees.

The service charge is independent of the gateway provider's own transaction fee — it is a markup you control.


Operator Inheritance

The Inheritable toggle controls whether sub-operators under your account can use the same gateway configuration:

  • Yes (Inheritable) — Sub-operators inherit this gateway and their customers can pay through it without the sub-operator needing to configure their own gateway.
  • No (Not Inheritable) — Only the operator who created the gateway can use it. Sub-operators must configure their own gateway if they want online payments.

This is useful for ISP businesses with a parent-operator / sub-operator hierarchy where the parent holds the merchant account.


Environment (Sandbox / Live)

Each gateway supports an Environment toggle to switch between Sandbox (test) and Live (production) mode:

  • Sandbox — Use test/sandbox credentials provided by your payment provider. Transactions are simulated and no real money moves. Ideal for verifying your integration before going live.
  • Live — Use production credentials. Real transactions are processed.

When creating or editing a gateway, select the appropriate environment. You can change the environment at any time without recreating the gateway.


Testing the Gateway

Before going live, test the gateway to confirm credentials are correct:

  1. Set the application to Sandbox mode if supported by your provider. Most gateways provide test/sandbox credentials.
  2. Use the Test Payment button (if available) or complete a small test transaction through the customer portal.
  3. Verify that the transaction appears in both the gateway's merchant dashboard and the ISPBills Verify Payments page.
  4. Once satisfied, switch to Live mode and update credentials to live/production keys.

Sandbox Support by Gateway

Gateway Sandbox Mode
bKash (Tokenized) Sandbox credentials from bKash merchant portal
bKash (Checkout) Sandbox credentials from bKash merchant portal
bKash (Payment) Sandbox credentials from bKash merchant portal
Nagad Sandbox credentials from Nagad merchant portal
SSL Commerz Sandbox Store ID/Password (testbox.sslcommerz.com)
ShurjoPay Prefix credentials with SP_
Razorpay Test API keys (same domain)
Paytm securegw-stage.paytm.in
Instamojo test.instamojo.com
eSewa rc-epay.esewa.com.np
Khalti Test secret key (same domain)
IME Pay stg.imepay.com.np
JazzCash sandbox.jazzcash.com.pk
Easypaisa Same domain (test mode)
HBL Konnect testsecureacceptance.cybersource.com
Stripe Test API keys (same domain)
PayPal api-m.sandbox.paypal.com
Authorize.Net apitest.authorize.net
M-Pesa sandbox.safaricom.co.ke (Daraja sandbox)

Enabling and Disabling Gateways

Each configured gateway has an Enable / Disable toggle. Only enabled gateways appear as payment options to customers and resellers. You can disable a gateway temporarily (for example, during maintenance by the payment provider) without deleting its configuration.


How Customers Pay

Once a gateway is enabled:

  • Customers can click a Pay Now link in their bill SMS or in the customer portal.
  • They select their preferred payment method and complete the payment on the gateway's interface.
  • The payment creates a pending transaction in ISPBills that an admin must approve. See Verify Payments for details.

Multi-Region Notes

South Asian ISPs

  • Bangladesh: bKash, Nagad, and Rocket are the most commonly used mobile payment methods. SSL Commerz supports cards and internet banking. bKash Tokenized is recommended for ISPs due to its one-tap recurring payment experience.
  • India: Razorpay supports UPI which is widely used. Paytm wallet has a large user base. All Indian gateways process in INR.
  • Nepal: eSewa is the leading digital wallet. Khalti is widely adopted for online payments. All Nepali gateways process in NPR.
  • Pakistan: JazzCash and Easypaisa are mobile wallet leaders. HBL Konnect supports international cards via CyberSource. All Pakistani gateways process in PKR.

African ISPs

  • M-Pesa: Kenya's dominant payment rail. Uses the Daraja STK Push flow — the customer is prompted on their phone rather than redirected to a browser page. Account activation is fully automatic once payment is confirmed. Processes in KES. Requires a Safaricom Daraja account with Paybill or Buy Goods access. Register at developer.safaricom.co.ke.

International Gateways

  • Stripe and PayPal support multiple currencies and are suitable for ISPs serving international customers.
  • Authorize.Net is popular in North America and supports USD transactions.
  • For international gateways, set the appropriate currency code when configuring the gateway.