Home Services PortfolioBlogAboutContact
WhatsApp
Website

bKash Payment Gateway Integration for Websites: Add bKash, Nagad and SSLCommerz to WooCommerce in 2026

How to get a bKash or Nagad merchant account, choose between a direct gateway and an aggregator, set it up in WooCommerce, and fix the errors that stall most launches.

Amanat Mossalli Taju
Amanat Mossalli Taju Senior Digital Marketer & SEO Expert · Dhaka
Updated Nov 7, 2026 9 min read
bKash payment gateway integration for websites guide for WooCommerce with Nagad and SSLCommerz

The products are photographed and the WooCommerce theme looks decent. The only thing between you and your first order is a Pay with bKash button. That button is where most Bangladeshi shop launches stall for weeks. Not because the code is hard. Because the paperwork starts too late.

A bKash payment gateway integration for websites needs three things. An approved bKash merchant account. Four API credentials. And a plugin or a bit of code that connects your checkout. On WooCommerce the official plugin does nearly all the work once the credentials arrive.

You can also skip the direct deal and use an aggregator like SSLCommerz, aamarPay or shurjoPay. One account then gives you bKash, Nagad, cards and more. I’ll walk through both routes, the documents and the fees as far as anyone publishes them. Then the seven errors I keep seeing on launch day.

If you only read this

  • No plugin works without an approved merchant account. Apply while the site is still being built.
  • Direct integration means a separate deal with bKash and with Nagad. An aggregator gives you many methods through one account.
  • bKash, Nagad and SSLCommerz all have official WooCommerce plugins. You rarely need custom code.
  • Fees live in your merchant agreement. Nobody publishes one fixed public rate, so get a quote in writing.
  • Test in sandbox, use SSL, and confirm every payment on the server before you mark an order paid.

What happens between Pay now and the receipt

The buyer picks bKash at checkout and lands on a secure bKash page. They enter their number, an OTP and their PIN, then come back to your site. Your site asks bKash whether the money really moved, and only then marks the order paid.

The Mirpur clothing seller and the screenshot

A woman who sells three-piece sets from a Facebook page in Mirpur 11 moved to a proper website last spring. For two years she had taken bKash “send money” payments and confirmed them from screenshots her customers sent on Messenger. One evening in Ramadan, around 11pm, she showed me a screenshot that had fooled her the week before. The font was slightly wrong. The parcel had already gone to Comilla. That was the night she decided she wanted a real gateway, and it’s the reason this article exists.

Behind the scenes your site talks to bKash through its API. It uses four credentials: an app key, an app secret, a username and a password. bKash hands these over during merchant onboarding. The checkout API has a sandbox version for testing and a live one for real money.

1
Buyer chooses bKashYour checkout shows bKash as a payment method.
2
Payment is createdYour site asks bKash to create a payment for the order amount.
3
Buyer authorisesThe buyer enters their bKash number, OTP and PIN on the bKash page.
4
Payment is executedbKash confirms and returns a transaction ID to your site.
5
Order is updatedWooCommerce marks the order paid and sends the confirmation.

Every bKash payment gateway integration for websites project follows these five steps. WordPress, Laravel, a custom app, it doesn’t matter. On WordPress you won’t write any of it. The plugin handles each step.

Direct bKash or an aggregator: pick one, or both

My blunt view: most new shops should start with an aggregator. You get bKash, Nagad and cards through one account and one set of paperwork. Go direct only if bKash is most of your sales and you want that relationship on paper.

PointDirect (bKash, Nagad)Aggregator (SSLCommerz, aamarPay, shurjoPay)
Accounts neededOne per walletOne for everything
Payment methodsOnly that walletWallets, cards, internet banking
CheckoutWallet page directlyAggregator page with all options
PaperworkRepeat for each walletOnce
Best forShops where bKash dominatesMost new online shops

Plenty of shops end up doing both. The aggregator covers cards and the smaller wallets. Direct bKash sits beside it because it’s the button most buyers tap.

Direct bKash payment gateway vs aggregator comparison for an online payment website in Bangladesh
Most new shops start with an aggregator, then add direct bKash as sales grow.

How do you get a bKash merchant account?

You apply to bKash as a business, usually with a trade licence. Once you’re approved for the payment gateway, bKash issues API credentials for sandbox and live use.

I’m Amanat Mossalli Taju. I’ve been building and marketing online shops in Dhaka since 2020, first as a lead digital marketer with Software Gaze. Now I work on my own, with 175+ brands behind me. Payment setup has stalled more launches than any design problem I’ve seen. So I wrote the process down exactly as I do it.

According to bKash’s online business page, businesses with a merchant account sign up for the bKash Business Dashboard. Sellers without a trade licence get pointed to a Personal Retail Account instead. That’s not a website gateway, and it won’t power a checkout.

The plugin page for bKash For WooCommerce says you must be an active bKash merchant. You can apply through bKash’s merchant registration page, or call customer care, who pass you to the business team.

Documents you'll usually need

  • Trade licence in the business name.
  • National ID of the owner or authorised person.
  • TIN certificate, and a VAT or BIN certificate if you have one.
  • Bank account details in the business name.
  • A live website with clear prices, contact details, and privacy, refund and terms pages.

Exact lists change by provider and business type, so confirm with bKash before you submit. Start this paperwork before any plugin work begins. Missing policy pages are the delay I see most often, and the easiest one to avoid.

Before you apply

Publish your refund policy, delivery policy and terms first. Reviewers check that a real business stands behind the website. A shop with no refund page looks like a shop that plans to vanish.

Adding bKash to WooCommerce, step by step

Install the official bKash For WooCommerce plugin, enter your credentials, test in sandbox, then switch to live. The steps below follow the plugin’s own instructions.

1
Install and activateIn WordPress, go to Plugins, Add New, search for “bKash For WooCommerce”, then install and activate it.
2
Open payment settingsGo to WooCommerce, Settings, Payments, and open bKash Payment Gateway.
3
Choose the integration typePick Checkout, Checkout URL or a Tokenized option. For a normal checkout, set the intent to Sale.
4
Turn on sandboxEnable Sandbox mode and enter your sandbox app key, app secret, username and password.
5
Fix permalinksSet WordPress permalinks to Post name, so callback links work.
6
Run test ordersPlace test orders, then share the sandbox log from WooCommerce, Status, Logs with the bKash integration team.
7
Go liveAfter bKash approves your test, turn off sandbox and enter your live credentials.

If you need webhooks, copy the webhook URL from the plugin settings and send it to the bKash team. Your live site also needs an SSL certificate (https) before anything goes live. No https, no payments, no exceptions.

Would you rather hand the whole payment setup to someone?I build WooCommerce shops with bKash, Nagad and card payments tested end to end, including the sandbox logs bKash asks for.
See WordPress development

Nagad on WooCommerce

Nagad payment gateway integration on WooCommerce runs on the free Nagad Payment Gateway plugin published by Nagad Limited. You need a Nagad merchant account and three keys.

  1. 1Get your merchant ID, your merchant private key and the Nagad gateway public key from Nagad.
  2. 2Install and activate the plugin with WooCommerce active.
  3. 3Go to WooCommerce, Settings, Payments, Nagad Payment Gateway, and paste the three values.
  4. 4Copy the callback URL the plugin shows (your site address plus /nagad-pay/payment/confirmation/).
  5. 5Add that callback URL in your Nagad merchant panel and upload your merchant public key there.

One detail trips people up. Is your site on a server outside Bangladesh? Then the plugin page says you must share the server’s main IP address with Nagad for whitelisting. Skip that and payments simply fail, with no helpful message.

The plugin page also warns it hasn’t been tested with the latest three major WordPress releases. (This part annoys me, but it is what it is.) Test on a staging copy before you update WordPress on a live shop.

SSLCommerz setup in an afternoon

SSLCommerz on WooCommerce needs a store ID and a store password, entered in the official plugin. One setup gives buyers cards, mobile wallets and internet banking.

1
Get sandbox accessRegister a sandbox account on the SSLCommerz developer site to get a test store ID and password.
2
Install the pluginInstall the SSLCommerz Payment Gateway plugin from WordPress.org and activate it.
3
Enter credentialsIn WooCommerce payment settings, turn on test mode and enter the store ID and store password.
4
Test every methodRun test payments with a card and a wallet. Check that orders change to Processing.
5
Switch to liveAfter merchant approval, enter your live store ID and password and turn test mode off.

The SSLCommerz Payment Gateway plugin handles the IPN (instant payment notification) for you. IPN is the message SSLCommerz sends to your server to confirm a payment, even when the buyer closes the page early.

It needs PHP 7.4 or later, WooCommerce 3.6 or later and the cURL extension. If you hit a “store is de-active” error, check test mode, the store ID and the password before anything else.

aamarPay and shurjoPay, the other two aggregators

Both are local aggregators in the same family as SSLCommerz. Both bundle mobile wallets and cards into one checkout, and both offer a way to connect a WooCommerce shop.

shurjoPay

shurjoPay’s own website says it supports cards plus wallets like bKash, Nagad, Rocket and Upay. It lists WooCommerce among more than 21 ready plugins. Pricing isn’t public. Its team sends a quotation after you register.

shurjoPay lists these documents. A signed application form and a terms acceptance form. A trade licence and a sub-merchant agreement on a BDT 300 stamp. Two passport-size photos, a TIN or VAT certificate, and a copy of the NID.

aamarPay

With aamarPay you get merchant approval first, then connect using the plugin or the API credentials it issues. Its Shopify app listing describes fees as a minimum annual fee plus pay-as-you-go charges, with no public rates. Ask for the full fee sheet before you sign anything.

What are the payment gateway charges in Bangladesh?

A percentage of each sale, set in your merchant agreement. That’s the honest answer. Most providers don’t publish a public rate, so you have to ask for a quote, and I’d ask two of them.

bKash is the clearest example. The bKash payment gateway terms say an additional fee may apply based on the understanding between merchant and bKash. In plain words, your rate is negotiated.

ProviderPublic rate?What to expect
bKash PGWNoSet in your merchant agreement
NagadNoSet in your merchant agreement
SSLCommerzNoQuoted per business and method
aamarPayNoAnnual minimum plus per-sale fee
shurjoPayNoQuotation after registration

As a rough guide, local wallet and card payments through gateways tend to be quoted somewhere between 1.5% and 3% per transaction. International cards cost more. Your volume, category and bargaining power move the final number. I don’t know what bKash will quote you this month, and anyone who claims to is guessing.

One official benchmark does exist. The Business Standard reported that Bangladesh Bank capped the merchant discount rate on the National Payment Switch (NPSB) from 1 July 2026. The band is 1% minimum and 1.15% maximum. That covers POS, Bangla QR and e-commerce on that network. It doesn’t cover every gateway deal.

Checklist of questions about payment gateway charges in Bangladesh before signing
Get every answer in writing before you sign a merchant agreement.

Six tests before you go live

Test every payment method, every order status and every failure case before a real buyer shows up. A payment that fails quietly costs you the sale and the customer, and you won’t even know it happened.

Run them in sandbox first, then repeat a few with small real payments after going live. Do it on a phone over mobile data too. That’s how most of your buyers will pay, and Wi-Fi hides problems.

Go-live test plan for bKash payment gateway integration on a WooCommerce website
Six tests that catch most payment problems before your customers do.

Keep a simple sheet with each test, the date and the result. When a gateway asks for proof of testing, you already have it.

Why do payment integrations break?

Wrong credentials, test mode left on, missing SSL, or callback URLs that don’t work. Those four explain most of it. They’re quick to fix once you know where to look.

Launch night in Mirpur, with the wrong keys

A home-appliance shop in Mirpur 10 planned a Friday launch with a Facebook ad already scheduled. At 9pm the owner called me: the ad was live, people were clicking, and every bKash payment failed. The plugin still had the sandbox keys in it, with test mode switched off. Ten minutes of pasting the live credentials fixed it. The forty minutes of lost ad money didn’t come back. He now keeps the live keys in a note on his phone, which I’d call a different kind of problem.

  • Sandbox keys on a live site. Live payments fail. Check that test mode is off and live credentials are entered.
  • No SSL certificate. Gateways require https. Install a free certificate from your host first.
  • Wrong permalinks. Plain permalinks can break callbacks. Use Post name.
  • Caching the checkout. Exclude cart, checkout and callback pages from your caching plugin.
  • Foreign server not whitelisted. Nagad needs your server IP if hosting is outside Bangladesh.
  • Trusting the redirect only. Confirm payment through IPN or the validation API, not just the return page.
  • Currency mismatch. Gateways expect BDT. If your shop uses another currency, set up conversion.

These seven cover most failed launches in any bKash payment gateway integration for websites project. When something breaks, open WooCommerce, Status, Logs first. Most gateway plugins write the exact error there.

Keeping your payment page safe

Never store card or wallet details yourself. Keep plugins updated. Verify every payment on the server. The gateway guards the sensitive data. Your job is to guard the shop around it.

  • Never ask buyers for their bKash PIN or OTP. Real gateways never need it.
  • Use strong admin passwords and two-factor login for WordPress.
  • Keep payment plugins updated and delete the plugins you don’t use.
  • Check that the amount and transaction ID match the order before shipping.
  • Keep daily backups, so a bad update doesn’t take down checkout mid-sale.

Remember the Mirpur seller and her fake screenshot? That’s the whole case for a real gateway in one sentence. When the system confirms the payment, nobody can edit a font.

FAQ: bKash payment gateway integration for websites

How do I integrate bKash payment gateway in my website?
Get approved as a bKash merchant, collect your app key, app secret, username and password, then install the official bKash For WooCommerce plugin. Test in sandbox, share the logs with bKash, and switch to live credentials after approval.
Can I get a bKash merchant account without a trade licence?
bKash’s online business page points sellers without a trade licence to a Personal Retail Account. A website payment gateway usually needs a registered business, so plan on getting a trade licence first.
What is the bKash payment gateway charge for websites?
bKash doesn’t publish one public rate. Its payment gateway terms say fees depend on the agreement between the merchant and bKash. Ask for a written quote when you apply.
Which is better, SSLCommerz or direct bKash?
SSLCommerz gives cards, wallets and internet banking through one account, which suits most new shops. Direct bKash suits shops where bKash is the main payment method. Many shops run both.
Do I need coding skills to add bKash or Nagad to WooCommerce?
No. bKash, Nagad and SSLCommerz all have WooCommerce plugins. You paste in your credentials and test. Custom sites built without WordPress need a developer to use the APIs directly.
Why does my Nagad payment fail on a foreign server?
Nagad’s plugin page says sites hosted outside Bangladesh must share their server’s main IP address with Nagad for whitelisting. Until that’s done, requests can be rejected.
How long does payment gateway approval take?
It varies by provider and by how complete your documents and website are. Apply as early as you can, ideally while the site is still being built, and have your policy pages live before review.

Does bKash at checkout really lift sales?

For most Bangladeshi shops, yes. Buyers who can pay the way they already pay for everything else are more likely to finish checkout. Prepaid orders also cut the cost of refused cash-on-delivery parcels, which is a bigger leak than most owners admit.

A clean payment page is part of trust, too. If you’re building a brand, my guide on brand building in Bangladesh explains why trust signals matter so much here. If the shop is still new, the future of e-commerce in Bangladesh shows where digital payments are heading.

Once payments work, track them. Set up purchase events in GA4 and the Meta pixel so you know which ads bring paid orders, not just clicks. My tracking and analytics service covers exactly that.

Got a payment error you can't read?Paste the log line and tell me which plugin you're using. I'll tell you what's wrong, usually within 12 hours, and often within the hour.
Book a Free Call

This week: paperwork first, plugin second

A smooth launch starts with documents, not code. Get the merchant application moving now. Once it’s approved, the plugin setup takes an afternoon, not a month.

  1. 1Decide on direct bKash, an aggregator, or both.
  2. 2Gather your trade licence, NID, TIN, bank details and policy pages.
  3. 3Install the official plugin and run the six sandbox tests.
  4. 4Go live, then track every paid order in GA4.

If you’d like a second pair of eyes on your setup, book a free 15-minute call or message me on WhatsApp at +880 1782-790018. I answer within 12 hours. My WordPress development service includes payment setup, and if the gateway doesn’t work when I’m done, you don’t pay.

Amanat Mossalli Taju
Written by

Amanat Mossalli Taju

Senior Digital Marketer & SEO Expert, Dhaka, Bangladesh

I have grown 175+ brands since 2020 with SEO, Google and Meta Ads, server-side tracking, WordPress and AI automation. Half of my clients are in the UK, USA, Australia and Canada. Everything I write here comes from real client work.

About me

Want this done for your business?

Book a free 15-minute call. I look at your site and ads before we talk, so you leave with clear next steps.

WhatsApp Me
Call 01782-790018