Omnikyo/Help Center
Reference

Payments reference

Look up payment statuses, methods, API endpoints, limits, and permissions for bKash and other payment options.

বাংলায়: এখানে সব ধরনের পেমেন্ট স্ট্যাটাস, বিকাশ সেটিংস, API লিমিট এবং রেফান্ড নিয়মের বিস্তারিত তালিকা আছে। পেমেন্ট লিংক 48 ঘণ্টা বৈধ থাকে। বিকাশ পেমেন্ট সফল হতে কয়েক সেকেন্ড থেকে কয়েক মিনিট লাগতে পারে।

Payment methods (order.payment_method)

ValueMerchant selectsNotes
CODYes (default)Cash on Delivery — customer pays the courier
BkashYesbKash payment method
BankYesBank transfer (manual)
OnlineNo (imported)Payment came from an external channel (e.g. Shopify)

The database also allows Manual, which is not offered to users.

Payment statuses (displayed badge)

BadgeApplies toMeaning
bKash PaidbKash ordersThe bKash attempt completed, or nothing is due and an advance payment is recorded
bKash PendingbKash ordersNo completed payment yet (attempt in progress or none started)
bKash FailedbKash ordersThe latest bKash attempt failed
bKash CancelledbKash ordersThe latest bKash attempt was cancelled
bKash RefundedbKash ordersShown in the order details window when the refunded amount covers the whole payment (within Tk 0.009)
bKash Partially RefundedbKash ordersShown in the order details window when part of the payment has been refunded
CODCOD ordersCash on delivery: the customer pays the courier
BankBank-transfer ordersBank transfer (manual)
OnlineImported orders (e.g. Shopify)The list shows the payment gateway name when there is one, otherwise Online

bKash payment attempt statuses

StatusProgressionMeaning
createdFirstAttempt record created; checkout not started
redirected→Customer redirected to bKash checkout
pending→Payment attempt at bKash; awaiting completion
completedFinal ✓bKash confirmed payment received
failedFinal ✗bKash rejected payment
cancelledFinal ✗Customer closed checkout without paying
StatusMeaningCan customer pay?
activeLink exists and has not been openedYes (fresh link)
openedCustomer opened the link at least onceYes (can retry)
paidPayment completed via this linkNo (payment settled)
expired48 hours have passed since creationNo
revokedThe link was revoked in the Payments cardNo

Advance payment methods

Used when an advance payment is recorded separately from the order's main payment method. The UI offers:

ValueNotes
CashCustomer paid cash upfront
BkashCustomer paid via bKash
Nagad(Cosmetic label only — no handler)
BankBank transfer
Card(Cosmetic label only — no handler)

Nagad and Card are record-keeping labels only; no payment is processed through them.

bKash integration settings

SettingValuesDefault
Environmentsandbox, livesandbox
Connection statusverified once a test succeedsdisconnected
Enabled toggleon / offoff

bKash appears at checkout only when both enabled and verified.

API endpoints (public/storefront)

EndpointMethodPurpose
/api/storefront/payments/bkash/optionsGETProbe if bKash is enabled
/api/storefront/payments/bkash/createPOSTStart bKash checkout
/api/storefront/payments/bkash/callbackGETbKash returns customer to app
/api/storefront/payments/bkash/statusGETPoll payment status (rate limited to 30 requests per minute per visitor and store)
/api/storefront/payments/bkash/webhookPOSTbKash server-push
/api/pay-links/startPOSTStart checkout for a payment link
/api/pay-links/callbackGETbKash returns for payment link
/api/pay-links/statusGETPoll payment link status

Limits and timeouts

LimitValueNotes
Payment link validity48 hoursDefault expiry after creation
bKash grant token lifetime3,600 seconds (1 hour)Tokens cached and refreshed 5 min before expiry
Money toleranceTk 0.009Used for rounding in payment comparisons
Payment historyLatest 20 links and 50 attemptsShown per order in the payment history

Permissions required

ActionPermissionNotes
View/edit bKash settingspage.settings.integrationsNeeds write access
Create payment linkorders.editNeeds write access
Revoke payment linkorders.editNeeds write access
Refund paymentorders.editNeeds write access
Recheck bKash statusorders.editNeeds write access
View payment historyNo separate permission checkVisible to anyone who can open the order

Currencies

CurrencyCodeNotes
Bangladesh TakaBDTOnly currency supported

All amounts in Omnikyo are in BDT. bKash payments are also in BDT.

bKash merchant requirements

To enable bKash on your store, you need:

  • A bKash merchant account with API credentials
  • App key
  • App secret
  • Username
  • Password
  • Separate sandbox and live credentials to test before going live

All credentials are encrypted at rest in Omnikyo (AES-256-GCM). The app interface never shows the full values — only masked versions.

Payment flow timeline

StepResponsibilityTime
1. Create payment linkMerchant (via Omnikyo)Immediate
2. Link sent to customerMerchant (via email/SMS/etc)Manual
3. Customer opens linkCustomerAnytime within 48h
4. bKash checkoutCustomer (on bKash)Minutes
5. Payment confirmedbKashSeconds to minutes
6. Order updatedOmnikyo webhook or pollingSeconds to minutes
7. Refund (if issued)Merchant (via Omnikyo)Immediate

Other ways people ask this

  • bkash status table
  • payment link কত সময় valid
  • refund status কী কী আছে
  • API endpoint list
  • payment permissions নিয়ম
  • বিকাশ মার্চেন্ট রিকোয়ারমেন্ট কী
  • bKash grant token lifetime কতক্ষণ
  • rate limit কত
  • টাকা tolerance কত
  • পেমেন্ট ফ্লো timeline
  • sandbox এবং live কনসেন্ট কোথায়
  • payment method enum
  • রেফান্ড history রাখে কতদিন

Checked against the product on 2026-10-02.