Payment settings explanations

Getting paid is the part of your store that has to work perfectly. This guide covers every payment setting in one place: what each method does, how to set it up, what the customer actually sees at checkout, how the advance-payment options are calculated, and how money gets confirmed afterwards.

Where the settings live

Payments touch three places in your dashboard:

  1. Integrations → Payment tab is where you switch methods on and configure them.
  2. Payment Verification is where you approve manual payments, reachable from the sidebar and from the Orders page.
  3. The order detail page shows the payment for one order, with Verify and Reject buttons when a decision is needed.

Note: This guide is about money from your customers. Your own subscription bill for using Sohoj Dokan is a separate thing, handled on the Subscription page.

The six methods

MethodTypeWho confirms the payment
Cash on DeliveryCashThe courier, when the parcel arrives
bKashManualYou, by checking your own bKash app
NagadManualYou, by checking your own Nagad app
Bank TransferManualYou, by checking your bank statement
PayStationAutomaticThe gateway confirms it for you
DGePayAutomaticThe gateway confirms it for you

The difference between manual and automatic is the whole story. With a manual method your customer sends money themselves and types in a transaction ID, and nobody knows it is real until you look. With a gateway, the payment is confirmed by the provider and the order updates itself.

Manual methods cost you nothing per transaction and are what most small Bangladeshi stores run on. Gateways charge a fee but remove the checking work entirely, which starts to matter somewhere around the point where verifying payments eats an hour of your day.

Turning a method on

  1. Open Integrations and go to the Payment tab.
  2. Tap the method you want. A panel slides in with its settings.
  3. Fill in the details, switch Enable on, and press Save Changes.

A card shows Configured or Connected once it is set up, so you can see the state of everything at a glance.

Checkout payment order

At the bottom of the Payment tab is Checkout payment order, where you arrange the sequence your enabled methods appear in at checkout. Move up and move down, then save.

This is worth thirty seconds of thought. Whichever option sits at the top gets chosen most, simply because it is first. If you want more advance payments and fewer pure cash-on-delivery orders, put bKash above COD and watch what happens.

Cash on Delivery

The simplest one, and the default expectation for most shoppers in Bangladesh. The customer pays the courier when the parcel arrives.

The only setting is Custom Instructions, shown to the customer when they pick COD. Use it for something practical like “please keep the exact amount ready” rather than leaving it empty.

Cash on delivery stays available unless you explicitly switch it off, which is deliberate. Losing COD by accident would cost you most of your orders.

bKash and Nagad

These are Send Money payments, straight from your customer’s personal account to yours. There is no API involved, which is why they are free and why they need checking.

What you configure:

  • Your bKash or Nagad number, where customers send money. Use a number you actually watch.
  • Payment Amount, explained in its own section below.
  • Custom Instructions, shown at checkout alongside the automatic instructions.

What the customer sees at checkout: your number with a one-tap copy button, the exact amount to send, and two fields to fill in after they send it.

  • Transaction ID: 8 to 10 characters, letters and numbers, exactly as bKash or Nagad texted it to them.
  • Sender phone number: the Bangladeshi mobile number they sent from, which has to be a valid 11-digit number starting with 01.

The order then arrives in your dashboard with the payment status Pending Verification, which is your queue of things to check.

Bank Transfer

For larger orders and for customers who prefer banking to mobile money. You provide your account details and the customer transfers, then gives you a reference.

What you configure:

  • Bank name, account holder name, account number, routing number, branch name
  • Account type: savings or current
  • Payment Amount and Custom Instructions, same as the others

Customers see all of it at checkout with a copy button on the account number, and they enter a reference for the transfer. Unlike bKash and Nagad, there is no fixed format for a bank reference, so anything they give you is accepted and you match it against your statement yourself.

Bank transfers take longer to appear on your side than mobile money does. Do not treat a missing transfer as a fake one until the next working day has passed.

PayStation

An automatic gateway that handles bKash, Nagad, Visa and Mastercard on one hosted page.

You need a Merchant ID and password from PayStation, plus the usual Payment Amount and Custom Instructions.

How the flow runs:

  1. The customer picks PayStation and places the order.
  2. They are sent to PayStation’s own secure page to pay.
  3. On success they come back to your store, and the order is marked Paid automatically.
  4. If the payment fails or they cancel, the order comes back as Unpaid, and the order still exists so you can follow up.

Nothing needs verifying. The gateway tells us the outcome and the order updates itself.

DGePay

A second automatic gateway with its own hosted checkout, working the same way as PayStation. It needs a Client ID, an API Key and a Secret Key, plus the same amount and instruction settings.

Run whichever gateway gives you better rates. There is no benefit to enabling both unless one of them is unreliable for your customers.

The Payment Amount option

Every method except cash on delivery has this setting, and it is the most useful thing on the whole page. It decides how much is collected up front and how much is left for the courier to collect.

OptionPaid nowCollected on delivery
Full order amountThe whole totalNothing
Fixed amountThe amount you setThe rest
Percentage of order totalThat share of the totalThe rest
Delivery charge onlyJust the delivery feeEverything else

Worked through on a ৳1,200 order with a ৳60 delivery charge:

  • Full: customer pays ৳1,200 now, courier collects ৳0
  • Fixed at ৳200: customer pays ৳200 now, courier collects ৳1,000
  • Percentage at 20%: customer pays ৳240 now, courier collects ৳960
  • Delivery charge only: customer pays ৳60 now, courier collects ৳1,140

Two small details worth knowing. A percentage is rounded up to the nearest taka, so 20% of ৳1,199 becomes ৳240 rather than ৳239.80. And a fixed amount is capped at the order total, so a ৳200 advance on a ৳150 order simply collects ৳150.

Why an advance changes your business

Delivery charge only is the most quietly effective setting in the whole dashboard. Asking for just the delivery fee up front is small enough that genuine customers barely hesitate, and it removes almost all fake orders, because nobody places a prank order after paying real money. If a customer then refuses the parcel, your courier cost is already covered instead of coming out of your pocket.

The split shows on the order as Paid online and Collect on delivery, and that second figure is exactly what your courier is told to collect.

What happens after a customer pays

MethodPayment status when the order arrivesWhat you do
Cash on DeliveryUnpaidMark Paid after the courier settles with you
bKash, Nagad, Bank TransferPending VerificationCheck your app or statement, then Verify or Reject
PayStation, DGePayPaid on success, Unpaid on failureNothing

Verifying manual payments

Two ways to do it, both leading to the same place.

From the Payment Verification page you get every order awaiting a decision in one list, with the order number, customer, amount, transaction ID, sender phone, method and date. You can filter by method, which helps when you want to check all your bKash payments against the app in one pass. The list holds up to 100 pending orders.

From an individual order, the Verify and Reject buttons appear in the Payment Info card while the status is Pending Verification, and disappear once you have decided.

  • Verify sets the payment to Paid and writes “Payment verified” into the order history.
  • Reject sets it to Unpaid and writes “Payment verification rejected”.

Neither action deletes anything or cancels the order, so a rejection is recoverable. If a customer mistyped their transaction ID and sends you the right one, you can set the payment status back to Paid from the order page.

Note: Always check the transaction in your own bKash, Nagad or banking app. Never verify from a screenshot the customer sends you. Screenshots are trivially edited, and a transaction ID that looks real proves nothing on its own. This single habit prevents nearly all payment fraud against small stores.

Payment statuses

StatusMeaning
UnpaidNothing received yet. Normal for COD
Pending VerificationA claimed payment you have not confirmed
PartialAn advance received, the rest still owed
PaidFully paid
RefundedMoney returned to the customer

Pending Verification counts as nothing collected in your totals, on purpose, since an unchecked claim is not money. The full picture of how Collected and Due are worked out is in orders page explanations.

Common questions

What you noticeWhy
A method is not showing at checkoutIt is configured but not enabled, or the changes were not saved
The customer cannot enter their transaction IDbKash and Nagad IDs must be 8 to 10 letters and numbers. Bank references have no fixed format
The sender phone field is refusedIt must be a valid Bangladeshi mobile number, 11 digits starting with 01
A gateway order came back UnpaidThe payment failed or the customer cancelled. The order is still there to follow up
The advance amount looks a taka too highPercentages are rounded up to the nearest taka
An order says Paid but money is still to collectIt is a split payment. The online part is paid, the rest is with the courier
Verify and Reject are missing on an orderThey only appear while the status is Pending Verification
Two orders arrived with the same transaction IDNothing blocks a repeated ID, so check each one against your own app

In the mobile app

The merchant app has the same Integrations screen for configuring payment methods, and a Payment Verification screen with a pending count badge, so you can see at a glance whether anything is waiting. Since verifying means switching to your bKash app anyway, doing it on your phone is usually faster than on a computer.

Tips

  • Start with COD plus one manual method. Adding six options does not help anyone decide.
  • Use Delivery charge only as your advance setting. It is the cheapest insurance against fake orders you will ever get.
  • Put your preferred method at the top of the checkout order. Position genuinely changes what customers pick.
  • Verify payments in batches at fixed times rather than one by one all day.
  • Keep the bKash or Nagad number you accept payments on separate from the one you use personally, so your transaction list is easy to scan.
  • Write real instructions on each method. “Send Money, not Payment” saves a surprising number of confused messages.

What’s next

For each method in more depth, see payment methods overview, cash on delivery, bKash and Nagad, bank transfer, PayStation, DGePay, and partial and advance payments. To act on payments once orders arrive, see verify manual payments.

Still need help?

Our team is here for you. Reach out and we’ll get you sorted.