explaingit

zenjahid/bkash-sync

Analysis updated 2026-05-18

31KotlinAudience · developerComplexity · 3/5Setup · moderate

TLDR

An Android app that reads bKash payment SMS messages and syncs transaction details to your own server, so you can verify payments without the official merchant API.

Mindmap

mindmap
  root((bKash Sync))
    What it does
      Reads payment SMS
      Syncs transactions
      Custom backend
    Tech stack
      Kotlin Android app
      Cloudflare Worker
      D1 SQLite database
    Key features
      Offline first design
      Background retry queue
      No merchant API needed
    Use cases
      Verify bKash payments
      Website payment checks

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Verify incoming bKash payments on your website without access to the official merchant API.

USE CASE 2

Automatically capture transaction ID, amount, and sender from confirmation SMS messages.

USE CASE 3

Sync payment data to a Cloudflare Worker backend with offline-first retry queuing.

USE CASE 4

Let customers confirm their payment by entering a transaction ID on your site.

What is it built with?

KotlinTypeScriptCloudflare WorkersSQLite

How does it compare?

zenjahid/bkash-synccoldp/todaywallpaperomarahmedx14/my-android-playground
Stars313030
LanguageKotlinKotlinKotlin
Setup difficultymoderatemoderateeasy
Complexity3/52/52/5
Audiencedevelopergeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Requires deploying a Cloudflare Worker plus D1 database and building the Android APK yourself.

In plain English

bKash is a mobile money service widely used in Bangladesh for sending payments between people. bKash Sync is an Android app that watches for bKash payment confirmation text messages (SMS), reads the transaction details out of them, stores them locally, and uploads them to a custom backend server. The goal is to let website or app developers verify incoming bKash payments automatically, without needing access to the official bKash merchant API. The intended workflow is: a customer sends money to your personal bKash number and receives a confirmation SMS with a transaction ID. The app running on your Android phone detects that SMS in the background, parses out the amount, sender phone number, and transaction ID, and syncs those details to a Cloudflare serverless backend you control. When the customer enters their transaction ID on your website, your site queries that backend to confirm the payment matched. The app is built with an offline-first design. Transactions are saved to a local SQLite database on the phone first, then queued for upload when a network connection is available. A background worker handles retries if the upload fails. The server side is a Cloudflare Worker (a small JavaScript function hosted on Cloudflare's global network) backed by a Cloudflare D1 database, which is a hosted SQLite service. The project ships two main parts: the Android app written in Kotlin, and the Cloudflare Worker backend written in TypeScript. Setup involves deploying the Worker to your Cloudflare account, initializing the database schema, and building the Android APK in Android Studio. The README notes that Google Play Protect will flag the APK as unrecognized because it is distributed outside the Play Store, and includes steps for working around that warning. The repository also includes screenshots of the app's dashboard, settings, and transaction list screens.

Copy-paste prompts

Prompt 1
Explain how bKash Sync detects and parses bKash confirmation SMS messages in the background.
Prompt 2
Help me deploy the Cloudflare Worker backend and set up the D1 database schema for bKash Sync.
Prompt 3
Show me how to build the Android APK for bKash Sync in Android Studio.
Prompt 4
Walk me through the offline-first sync design with the local SQLite queue and retry worker.

Frequently asked questions

What is bkash-sync?

An Android app that reads bKash payment SMS messages and syncs transaction details to your own server, so you can verify payments without the official merchant API.

What language is bkash-sync written in?

Mainly Kotlin. The stack also includes Kotlin, TypeScript, Cloudflare Workers.

How hard is bkash-sync to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is bkash-sync for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.