Setup
Add your bKash Merchant App Key and App Secret in dashboard → Settings → Payments. We store both encrypted at rest, scoped to your seller_id, never exposed back through the API.
Webhook contract
When a customer pays, bKash calls our /webhooks/bkash endpoint with the transaction payload. We verify the signature against your stored app secret, match the invoiceNumber to your order_id, and mark the order paid. Then we fan out: your store webhook fires with the verified payment event, and the supplier order is automatically released for fulfillment if you've enabled auto-release.
Reconciliation & disputes
Disputes and refunds are surfaced as payment.disputed / payment.refunded events. If you process refunds through DropShop, we call bKash's refund API and emit the refund event downstream. Settlement reports are reconciled nightly.