<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Eahiya Khan</title>
    <description>The latest articles on DEV Community by Eahiya Khan (@eahiya).</description>
    <link>https://dev.to/eahiya</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2455127%2Feeed0f3f-176c-4950-a002-17697a087539.jpg</url>
      <title>DEV Community: Eahiya Khan</title>
      <link>https://dev.to/eahiya</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/eahiya"/>
    <language>en</language>
    <item>
      <title>How We Finally Solved the bKash &amp; Nagad Payment Problem for Shopify in Bangladesh</title>
      <dc:creator>Eahiya Khan</dc:creator>
      <pubDate>Sun, 19 Apr 2026 04:25:42 +0000</pubDate>
      <link>https://dev.to/eahiya/how-we-finally-solved-the-bkash-nagad-payment-problem-for-shopify-in-bangladesh-1ban</link>
      <guid>https://dev.to/eahiya/how-we-finally-solved-the-bkash-nagad-payment-problem-for-shopify-in-bangladesh-1ban</guid>
      <description>&lt;p&gt;If you're a developer or store owner running a Shopify store in Bangladesh, you already know Shopify doesn't natively support bKash or Nagad — the two most popular mobile wallets in the country. I spent months chasing workarounds, custom checkout hacks, and expensive third-party gateways. Then I discovered &lt;strong&gt;BDWallet&lt;/strong&gt; (&lt;a href="https://bdwallet.app/" rel="noopener noreferrer"&gt;https://bdwallet.app/&lt;/a&gt;), a Shopify app purpose-built for this exact problem. This post is a breakdown of the problem space, what's wrong with existing gateways, and how BDWallet approaches it differently — from a developer's perspective.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Problem Nobody Talks About&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Shopify is the go-to e-commerce platform for thousands of Bangladeshi merchants. But there's a painful gap:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;bKash&lt;/strong&gt; and &lt;strong&gt;Nagad&lt;/strong&gt; together process the majority of digital transactions in Bangladesh.&lt;/li&gt;
&lt;li&gt;Shopify's native payment integrations don't support either of them out of the box.&lt;/li&gt;
&lt;li&gt;Cash-on-Delivery (COD) still dominates — and it comes with massive fraud, return, and cash-flow issues.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you've ever built or managed a Shopify store in BD, you've probably faced this conversation with a client:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Why can't my customers pay with bKash at checkout?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And your answer usually goes something like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"We'll have to integrate a third-party gateway, which means custom scripts, webhook handling, manual reconciliation, and a 2.5–3.5% cut per transaction."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Not fun.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's Wrong with Existing Payment Gateways?
&lt;/h2&gt;

&lt;p&gt;I've personally worked with or evaluated most of the local Shopify payment options — SSLCommerz, ShurjoPay, AamarPay, Portwallet, and a few others. Here's a summary of the recurring issues:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. High Transaction Fees
&lt;/h3&gt;

&lt;p&gt;Most charge &lt;strong&gt;2.5%–3.5% per transaction&lt;/strong&gt;. For low-margin products (which is common in BD), this is brutal. A merchant doing ৳10,00,000/month in sales is giving up ৳25,000–35,000 in fees alone.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Monthly Subscription on Top of Per-Transaction Fees
&lt;/h3&gt;

&lt;p&gt;Some gateways charge both — a fixed monthly fee &lt;em&gt;and&lt;/em&gt; a percentage. If your store has a slow month, you still pay.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. No COD Automation
&lt;/h3&gt;

&lt;p&gt;None of the mainstream gateways offer a real &lt;strong&gt;COD-to-prepaid conversion flow&lt;/strong&gt;. You have to manually:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Export COD orders.&lt;/li&gt;
&lt;li&gt;Call or SMS each customer.&lt;/li&gt;
&lt;li&gt;Send them a payment link (often from a different system).&lt;/li&gt;
&lt;li&gt;Update Shopify order status manually once paid.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This kills operational scale.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Zero Fraud Protection
&lt;/h3&gt;

&lt;p&gt;Fake orders, wrong addresses, and serial return-abusers are an everyday reality. But there's no shared fraud database across merchants — so every store keeps getting burned by the same bad actors.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Poor Developer Experience
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Documentation is inconsistent.&lt;/li&gt;
&lt;li&gt;Sandbox environments are unreliable.&lt;/li&gt;
&lt;li&gt;Webhook delivery is flaky.&lt;/li&gt;
&lt;li&gt;Support response times can stretch into days.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  6. Middleman Settlement Delays
&lt;/h3&gt;

&lt;p&gt;Your money sits in the gateway's nostro account for 3–7 days before settlement. For a small store, that's a cash-flow nightmare.&lt;/p&gt;




&lt;h2&gt;
  
  
  Enter BDWallet
&lt;/h2&gt;

&lt;p&gt;BDWallet (&lt;a href="https://bdwallet.app/" rel="noopener noreferrer"&gt;https://bdwallet.app/&lt;/a&gt;) launched recently, and it's the first payment solution I've seen that addresses the &lt;em&gt;whole&lt;/em&gt; problem — not just the "accept bKash" part. Here's what stood out to me as a developer:&lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ Direct bKash + Nagad Checkout on Shopify
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Customer clicks checkout → selects bKash or Nagad → pays on mobile → Shopify order auto-updates to "Paid."&lt;/li&gt;
&lt;li&gt;No redirect gymnastics, no manual reconciliation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ✅ COD Automation (The Killer Feature)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;When a COD order is placed, the system automatically sends an SMS with a payment link.&lt;/li&gt;
&lt;li&gt;Customer can convert their COD to prepaid with one click.&lt;/li&gt;
&lt;li&gt;Agent works 24/7 — no human intervention needed.&lt;/li&gt;
&lt;li&gt;Manual re-send and bulk operations are available in the dashboard.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ✅ Cross-Merchant Fraud Registry
&lt;/h3&gt;

&lt;p&gt;This is unique. BDWallet operates Bangladesh's only cross-merchant shared fraud database:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Every phone number gets a risk badge: &lt;strong&gt;LOW / MEDIUM / HIGH&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;The badge is calculated from how many merchants have flagged the number.&lt;/li&gt;
&lt;li&gt;Phone numbers are &lt;strong&gt;hashed&lt;/strong&gt; before storage, so privacy is preserved.&lt;/li&gt;
&lt;li&gt;You see the risk score at the order level &lt;em&gt;before&lt;/em&gt; you fulfill.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As a dev, I love this — it's essentially a collaborative Bloom-filter for fraud signals.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ Direct Settlement (No Middleman)
&lt;/h3&gt;

&lt;p&gt;Payments go directly to your merchant wallet. BDWallet doesn't hold your money. That's a big architectural decision — it removes settlement delay entirely.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ Security
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AES-256-GCM encryption&lt;/strong&gt; for stored merchant credentials.&lt;/li&gt;
&lt;li&gt;Credentials are never stored in plain text.&lt;/li&gt;
&lt;li&gt;Credentials are permanently deleted on disconnection.&lt;/li&gt;
&lt;li&gt;Sandbox mode for testing before going live.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ✅ Installs as a Custom Shopify App
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Setup takes under 10 minutes.&lt;/li&gt;
&lt;li&gt;No App Store middleman.&lt;/li&gt;
&lt;li&gt;Transparent credential management inside the dashboard.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ✅ Dashboard Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Live transaction logs with reference IDs and timestamps.&lt;/li&gt;
&lt;li&gt;Analytics: collection rate, payment volume, conversion.&lt;/li&gt;
&lt;li&gt;Refund management with SMS notifications.&lt;/li&gt;
&lt;li&gt;One-click fraud reporting.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Pricing (This Surprised Me)
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Plan&lt;/th&gt;
&lt;th&gt;Price&lt;/th&gt;
&lt;th&gt;Limits&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Starter&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Free&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;10 transactions/month, both gateways, Fraud Registry&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Growth&lt;/td&gt;
&lt;td&gt;৳1,499/month (~$9.99)&lt;/td&gt;
&lt;td&gt;500 transactions, analytics, priority support&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Business&lt;/td&gt;
&lt;td&gt;৳2,499/month (~$19.99)&lt;/td&gt;
&lt;td&gt;Unlimited transactions, dedicated support&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pay-As-You-Go&lt;/td&gt;
&lt;td&gt;2% per completed transaction&lt;/td&gt;
&lt;td&gt;No monthly fee — great for seasonal stores&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;No customer surcharges. No setup fees.&lt;/strong&gt; The Free plan alone is enough for a developer to build and test a full integration without paying anything.&lt;/p&gt;

&lt;p&gt;Compare that to 2.5–3.5% forever on traditional gateways. The math isn't close.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why This Matters for Developers
&lt;/h2&gt;

&lt;p&gt;If you build Shopify stores for BD clients (I do this as a freelance gig), BDWallet removes a ton of technical debt:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;No custom webhook handlers&lt;/strong&gt; — order status syncs automatically.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No reconciliation scripts&lt;/strong&gt; — everything is logged in the dashboard.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No custom SMS sender for COD&lt;/strong&gt; — built-in.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No fraud-detection logic to ship&lt;/strong&gt; — shared registry handles it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No settlement reconciliation&lt;/strong&gt; — direct wallet settlement.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Basically, a problem that used to take 2–3 weeks of custom development is now a 10-minute setup.&lt;/p&gt;




&lt;h2&gt;
  
  
  My Take
&lt;/h2&gt;

&lt;p&gt;Honestly, after two years of patching together bKash/Nagad payments for Shopify clients, finding a purpose-built solution that &lt;em&gt;understands&lt;/em&gt; the local context feels overdue.&lt;/p&gt;

&lt;p&gt;The fraud registry and COD automation are features you won't find anywhere else — not from international gateways (because they don't care about the BD market), and not from local gateways (because they haven't innovated in years).&lt;/p&gt;

&lt;p&gt;If you're building or maintaining a Shopify store for a BD merchant, you owe it to your client (and yourself) to at least try the free plan.&lt;/p&gt;




&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Website: &lt;a href="https://bdwallet.app/" rel="noopener noreferrer"&gt;https://bdwallet.app/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Support: +880 1711085864 (WhatsApp, Email, Messenger)&lt;/li&gt;
&lt;li&gt;Location: Dhaka, Bangladesh&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;If you've tried BDWallet or have questions about integrating Shopify payments in Bangladesh, drop a comment — happy to discuss technical details, sandbox testing, or fraud-detection architecture.&lt;/p&gt;

&lt;p&gt;Also, if you've built something similar or solved this problem differently, I'd love to hear about it. This space desperately needs more builders.&lt;/p&gt;

&lt;p&gt;Thanks for reading. 🇧🇩&lt;/p&gt;




&lt;p&gt;Tags to add when publishing on Dev.to:&lt;/p&gt;

&lt;h1&gt;
  
  
  shopify #ecommerce #payments #bangladesh #webdev #integration #api #startups
&lt;/h1&gt;

</description>
      <category>shopify</category>
      <category>ecommerce</category>
      <category>payments</category>
      <category>bangladesh</category>
    </item>
  </channel>
</rss>
