Check before you send.টাকা পাঠানোর আগে যাচাই করুন।
Compare the number and amount you intend to send with the details you enter. If money has already left, organize the evidence and choose a sensible next step.
✓No PIN or OTP✓Local-first✓No refund promises
Important: This is an independent companion. It does not read inside your real bKash, Nagad or Rocket app, or intercept, cancel or reverse a real transfer. Examples and undo controls are simulations.
INTENT → EVIDENCE → ACTION
See the payment before it moves
Sample
Three independent sources, one clear comparison. Change the example to see how a single digit changes the result.
01YOUR INTENTYou stated
Recipient number01712-345678
Amount৳3,000
02ORIGINAL INSTRUCTIONMessage
“Send ৳3,000 to 01712-345678”
A message is a source to review — not proof of identity.
03DETAILS YOU ENTERManual entry
Recipient number01712-345687
Amount৳3,000
!
One recipient mismatch
The entered number differs from your intent. Pause and correct it before continuing in your own payment app.
Mismatch
?Recipient identity not verifiedMatching digits do not prove who owns the wallet.
All details are fictional. PayCheckpoint compares details you provide; it is not connected to a live wallet.
BANGLADESH PAYMENT SAFETY CONTEXT
The cost of getting a payment wrong
A second check cannot stop every scam. It can make the details, evidence and next step clearer before you act.
81,423reported fraud cases
MFS, cheque and card segments · 2025
8.7%MFS fraud-value recovery rate
Bangladesh Bank reported rate · 2025
Use PayCheckpoint alongside your wallet: compare details before you confirm, review a suspicious request, and organise the facts if a payment goes wrong.
1
Prevent
Record the recipient and amount you intend to pay. Compare them with the details you are preparing to enter in your own payment app, then recheck the app’s confirmation screen before sending. PayCheckpoint cannot see or change that app.
2
Understand
Review a suspicious message or, when useful, the order of a conversation. See the warning reasons and what remains uncertain; a pattern is a prompt to verify, not proof of fraud.
3
Recover
Use a fictional confirmation SMS to review receipt details, compare them with your intent, and prepare an evidence pack and neutral complaint draft to copy yourself. PayCheckpoint does not submit complaints or guarantee recovery.
What PayCheckpoint can — and cannot — do
✓ It can
✓ Compare intended, instructed and receipt numbers & amounts digit-by-digit
✓ Parse a pasted SMS into editable fields — missing fields stay missing
✓ Build a private offline action plan or request an optional AI plan with consent
✓ Organise evidence, timeline and a factual complaint draft you copy yourself
✓ Review labelled multi-message conversations for ordered warning patterns locally — not a fraud verdict
✕ It cannot
✕ Intercept, cancel, reverse or freeze a real MFS transfer or wallet
✕ Verify who owns a number without authorised provider data
✕ Guarantee a refund or submit a complaint on your behalf
✕ Act without provider cooperation & regulatory approval — none is claimed
Safety & privacy
Payment-message parsing and screenshot comparison happen locally in your browser. The optional Copilot can send a best-effort redacted summary you type, plus coarse warning/comparison categories, to Cloudflare Workers AI only after explicit consent. This text filter is not guaranteed anonymisation: do not paste a full SMS or include names, phone numbers, account details, payment references, PINs or OTPs. Cloudflare documents zero retention for standard stateless Workers AI inference after processing, but operational metadata may be retained. The free daily allocation is limited and may be exhausted. The app does not control or reverse real payments.
Frequently asked questions
Can PayCheckpoint cancel my bKash / Nagad / Rocket payment?
No. Only the provider can act on a real transfer under its own policies. PayCheckpoint is a prototype companion; it cannot access your wallet or contact the provider. Its recovery examples use fictional data. The Undo demonstration is a simulation only.
Will I get my money back?
PayCheckpoint cannot return money or guarantee recovery. Contact your provider through its official channel promptly and follow its current process. Outcomes depend on the provider and the circumstances. Never pay a recovery fee or share a PIN or OTP.
Are you integrated with bKash, Nagad or Rocket?
No integration is claimed. The Recovery Assistant links to official provider and regulator contact pages checked on 28 October 2026. Contact details may change, so verify them at the source before acting. PayCheckpoint does not place calls or submit complaints.
Is my transaction data stored?
Case details stay in this page’s memory by default and are not saved to a PayCheckpoint account. On a hosted build, the optional Copilot can send a best-effort-redacted summary and broad categories to Cloudflare Workers AI only after your consent. Redaction is not guaranteed anonymization. Do not include identifying details or secrets. Clear page data in Privacy & Settings.
Why does it say “recipient not verified”?
Because it isn’t. Without authorised provider data, showing a name as “verified” would be misleading. The comparison uses numbers and amounts only.
Reviewing a sourceYour case is unchanged. Return when you are ready.
Where are you right now?
No account. No PIN. No OTP — ever. Pick the path that matches your situation.
Before you begin:Choose the path that matches your situation. Recovery examples use fictional confirmation messages only. Do not paste real SMS, names, phone or account numbers, payment references, PINs, OTPs, passwords or wallet login details.
Try a guided scenario
All examples use fictional information. B and C are hypothetical undo demonstrations only; PayCheckpoint cannot cancel a real wallet payment.
SUSPICIOUS MESSAGE REVIEW
Check a message before you act
Start with one message. Open the conversation review only when the order of several messages matters.
For this prototype, use fictional/example text only. Do not paste a real SMS, PIN, OTP, password, wallet login or account details. The basic checks run in this browser and do not identify the sender.
LOCAL ONLY · EXPLAINABLE RULES
Scam-pressure coach
Paste a suspicious message to look for common warning patterns. Text is processed in this browser only; it is not uploaded or saved.
Try an example:
This is not a sender identity check or a fraud verdict. No warning detected does not mean safe; verify independently through official channels.
Review a full conversation (optional)
LOCAL ONLY · MESSAGE ORDER MATTERS
Conversation sequence review
Use fictional messages only in this prototype. Paste one message per line; label the other person “Other:” and yourself “Me:” where possible. Analysis runs in this browser; the transcript is not uploaded or added to exports.
Example: Other: Your account will be blocked. | Me: Why? | Other: Share your OTP. Optional timestamp: [10:05] Other: ...
Use fictional/example conversations only in this prototype. Do not paste real chats, PINs, OTPs, passwords, full account numbers or identifying details. Pasted text remains visible in this page until you clear it. It is processed locally and never added to exports.
This local rule/sequence review does not establish sender identity, intent, message authenticity or fraud. No detected pattern does not mean safe.
A warning is a reason to pause and verify independently—not proof that a person or message is fraudulent.
Record your payment details
Record what you intend to pay, then compare it with the details you are about to enter. PayCheckpoint cannot see or control your payment app.
Open your payment app yourself and type the same recipient and amount here. Do not send money from PayCheckpoint.
YOUR INTENDED PAYMENT
DETAILS YOU ARE PREPARING TO ENTER
LIVE COMPARISON
Your sources, side by side
This view updates as you type. Instruction values are compared only after you confirm a candidate.
Waiting for details
01YOUR INTENTBaseline
Recipient numberNot entered yet
AmountNot entered yet
02ORIGINAL INSTRUCTIONNot confirmed
Recipient numberNot confirmed
AmountNot confirmed
Suggestions stay out of the comparison until you confirm them.
03DETAILS YOU ENTERWaiting
Recipient numberNot entered yet
AmountNot entered yet
Enter your intended details and the values you are preparing to enter. Nothing is sent from this page.
Optional · Compare the original seller or recipient instruction
Use this when the payment request arrived by SMS, chat or another message. Candidate details are suggestions only and must be confirmed.
Optional · Compare a payment-screen screenshot (advanced)
You can skip this. Use it only when you want to compare details visible in a screenshot. A screenshot is not authenticated and does not prove who owns the wallet.
ReceiptLens · screenshot / receipt review
Choose a screenshot or receipt. You can read it manually or request OCR suggestions; the image is processed in this browser and is never sent to the OCR asset hosts or PayCheckpoint server.
RECEIPTLENS · EVIDENCE-LINKED OCR
Read likely fields from this image
Suggestion only
OCR runs in this browser. On first use, the pinned OCR engine and chosen language data are downloaded from public hosts; the image itself is not uploaded. This requires internet on first use and is not fully offline. Only numbers on recipient-labelled lines and amounts on amount-labelled lines are suggested; sender, fee and balance lines are excluded when recognized. Review every suggestion: OCR scores are not probabilities and OCR cannot authenticate an image.
Possible recipient numbers
Possible payment amounts
Reveal recognized text (stays in page memory until cleared)
Select a suggested field only after checking its highlighted source line. Suggestions are never accepted automatically, never saved with the case, and never copied into the evidence export. The screenshot comparison still requires your explicit confirmation.
Image pixels and raw OCR text stay in page memory and are not uploaded, included in the evidence pack, or saved to case storage. The OCR engine/language assets may be fetched on first use. A match is not proof of recipient ownership.
Corrections are explicit: if you edit a field, the previous value is shown in the comparison — nothing is silently overwritten.
Review the transaction message
Paste a confirmation SMS. Extraction runs in this browser only — nothing leaves this page.
☁ Disclosure: This prototype parses in your browser only. No SMS leaves this page.
Review extracted fields — edit anything wrong
✓ Extracted · ? Uncertain — confirm it · — Missing — never invented.
What did you mean to send?
Enter the number and amount you intended, so the receipt can be compared with your intent. Leave them blank if you do not know them — the comparison will stay incomplete instead of guessing.
Compare the payment details
Three sources compared exactly. A mismatch is a difference — it is not automatically fraud or an unauthorised transaction.
CHECKPOINT INTELLIGENCE · RULE-BASED GUIDANCE
Your next step
Reviewing details
Reviewing the details you entered.
WHY THIS STEP
Guidance is based on the sources in this case. A matching value does not verify a recipient.
Recommendations use the information you entered. PayCheckpoint cannot authenticate a wallet owner or move money.
Other available actions
PRE-SEND CHECKPOINT
Verify inside your payment app
Check the recipient, amount and fee in your real payment app before you confirm there. This does not verify the wallet owner, the payee's identity, or the payment request.
BEFORE YOU CONFIRM IN YOUR PAYMENT APP
Your final wallet check0 / 2
Check the recipient first, then the amount and any fee on your wallet’s own confirmation screen.
No wallet checks selected.
Only tick these after checking inside the provider app yourself. PayCheckpoint cannot see that screen or verify what you did.
You do not have to save a check here. The important step is checking the recipient, amount and fee inside your payment app.
Next step
Return to your payment app and decide there. Only that app can send the transfer. PayCheckpoint does not send, hold, cancel or reverse real payments.
SIMULATION · SafeSend review — no real money is transferred. Recipient ownership: not independently verified.
Final payment review
SIMULATION · Simulated cancellation demonstration — this timer does not control any real provider.
Payment pending
Status:● PENDING ·
30
seconds left in the simulated undo window
Simulated transfer: → (masked)
Double-clicks are ignored once cancellation starts. Leave keeps the simulated countdown running — if it expires while you are elsewhere, the result is shown when you return, without pulling you off the screen you are using. Exit Simulation and Reset ends the demonstration, cancels its timers and returns the transaction to READY.
Recovery Assistant
For a completed transfer. Work through the steps above to build your incident summary.
Act promptly & preserve evidence — keep the confirmation SMS and TrxID exactly as received. Do not delete the thread.
Contact the provider through its official channel — use the number published inside the official app / on the provider's official site. Source: provider's official channel · Conditions: provider policy applies · Verify the channel in the official app or site before calling.
Message the receiver factually if you have their number — use the neutral script in your incident report. Never send PIN/OTP or pay a “recovery fee”.
Prepare a complaint with intended vs actual details, TrxID, date/time and timeline.
Escalate only through an applicable official complaint process if the provider does not resolve it.
No guarantee: PayCheckpoint cannot reverse a transfer or compel a refund. Anyone promising guaranteed recovery for a fee is a warning sign.
Incident evidence & complaint summary
Masked by default. This report is not submitted anywhere — copy or download it and submit it yourself through official channels.
YOUR CASE WORKSPACE
One case, four connected steps
Move from understanding the situation to reviewing evidence, preparing support contact and keeping the next action visible.
SUGGESTED NEXT STEPChoose what happened
LOCAL FILE FINGERPRINTS
Evidence Integrity Manifest
Create SHA-256 fingerprints for files you select. Files are read in this browser; they are not uploaded or retained. Records stay in this page until you start a new case or reload; download the JSON manifest to keep a reference. Later, select the same file to compare its bytes with the saved fingerprint.
0 of 8 evidence records used
Compare a file with a saved fingerprint
Up to 8 files; 10 MB each. PDF, PNG, JPG, WEBP, TXT, CSV or EML.
A hash compares file bytes only. It does not prove authenticity, source, owner, capture time, transaction occurrence, or legal chain of custody. Imported manifests are unsigned.
SITUATION-SPECIFIC GUIDANCE
Recovery Navigator
Choose what happened to receive an ordered, source-linked checklist. PayCheckpoint does not contact providers or submit complaints.
Local guidance
LOCAL CASE PREPARATION · NO PROVIDER CONNECTION
Payment Incident Dossier
Prepare information for provider contact, generate a call script, and record contact actions you actually made. PayCheckpoint does not call providers or submit complaints.
Not selected
Information to prepare before contacting support
0 of 6 information items available
No readiness score
Call preparation script
Generated locally from the current case. Missing information stays labelled “Not recorded”. Review every detail before using it.
Use contact details only after verifying them in the provider’s official app or website. Do not share PINs, OTPs, passwords or remote access.
Questions to ask the provider
These are prompts, not statements about what the provider must do. Ask for the applicable process and response timeframe.
Record a contact you actually made
Contact history
Follow-up planner
Plan your next action using a timeframe the provider told you or a reminder you choose. PayCheckpoint does not call providers, monitor cases, or send notifications itself.
Suggested next step for this case
Contact the provider through a channel you independently verified.
Times use this device timezone.
No follow-ups planned for this case.
Time uses your device’s local timezone. No official deadline is inferred. Calendar event titles are generic and contain no provider, phone number, amount, ticket reference or case details. Check that alerts are enabled in your calendar app.
All contact entries are user-reported and not independently verified. Full ticket references and free-text notes are not stored here. Check Bangladesh Bank’s current requirements before CIPC escalation.
CASE ASSIST · OPTIONAL FREE-TIER CLOUD AI
Evidence-to-Action Copilot
Turn this case into a short, practical action plan. The offline plan stays in your browser; cloud AI is optional.
Checking cloud AI
Best-effort redaction removes likely phone numbers, links, emails and long digit sequences before cloud processing, but it cannot guarantee anonymity. Summarize the event in your own words; do not paste a full SMS or include names, account details or secrets.
What is sent if I choose cloud AI?
After explicit consent, a best-effort redacted note, local warning categories and categorical comparison states are sent to Cloudflare Workers AI for processing. The separate SMS field and screenshot bytes are not sent by this feature. Redaction can miss details, so do not include names, full phone numbers, account details, transaction references, PINs, OTPs or full messages. Cloudflare documents zero retention for standard stateless Workers AI inference after processing and says customer content is not used to train models; operational metadata may be retained. The documented free allocation is currently 10,000 Neurons per day and is limited; requests can fail after it is exhausted. This external request occurs only after explicit consent. Check current Cloudflare terms and quota before use.
Tick the consent box above to enable the AI plan.
The offline plan works without an API key or external AI request.
LOCAL CASE HISTORY
Evidence and follow-up timeline
App workflow events are automatically listed. Follow-up actions you add are explicitly marked as user-reported and are not independently verified.
This timeline stays in page memory. It is not stored by default. It contains no free-text notes and is not proof that an action occurred.
Full numbers and the transaction reference are masked in the pack unless you reveal them first.
LOCAL EXPORT · REVIEW BEFORE SHARING
Share-safe incident brief
Create a local, print-ready summary. Nothing is uploaded. Exact identifiers are hidden by default.
Best-effort masking catches common phone, email, link and long-number patterns in an included complaint, but may miss names or other identifiers. Review every line and the browser's final print/PDF preview. The report is not submitted to a provider.
SOURCE-AWARE REVIEW
Evidence Map
See which facts agree, conflict, or remain unknown. A match does not authenticate a message or verify wallet ownership.
No comparison yet
01 → 06 is the review order, not a timestamped transaction history.
FIELD INVESTIGATION
Follow one detail across sources
Choose a field to compare it independently across the case sources.
The intended details are the comparison reference, not independent proof. A matching value does not authenticate the source.
No sources match this filter. Choose another view.
User-provided content, manual review, parsed text and provider-confirmed facts are different evidence levels. No provider-confirmed record is attached in this prototype.
Privacy & settings
AI-processing disclosure
SMS parsing runs locally. The optional Evidence-to-Action Copilot sends only after you consent, but its free-text note is best-effort redacted and may still reveal information if you include it. Do not paste full SMS, names, phone/account details, payment references, PINs or OTPs. Cloudflare documents zero retention for standard stateless Workers AI inference after processing and says customer content is not used to train models; operational metadata may be retained. The currently documented free allocation is 10,000 Neurons/day and can be exhausted. No AI API key is required; the hosted deployment needs a Cloudflare Pages Workers AI binding. The local offline plan never calls AI.
Data handling
Default: data stays in this page. Optional case storage is available only when the local encrypted backend is configured, and requires explicit consent.
Optional encrypted case storage
Only selected phone numbers, amounts, an optional transaction reference, a non-sensitive category, journey type and consent timestamp are saved for up to 7 days. Case fields are encrypted at rest. Raw SMS, original free-text instructions and complaint drafts are never saved. No wallet PIN or OTP is accepted.
Checking local storage availability…
Open or delete a saved case
Enter the case ID and recovery key from your downloaded key file. PayCheckpoint cannot recover a lost key.
Official sources
Contact and escalation sources, checked on 28 October 2026. Verify current details with the provider or regulator before acting.
Step 5 · Provider integration readiness
Status-only dashboard. It does not call bKash, Nagad or Rocket APIs, and it cannot verify a wallet, cancel a transfer or submit a complaint.
Loading integration readiness…
Step 6 · Local integration test lab
Run synthetic contract checks for status lookup, HMAC webhook signatures, stale-event rejection, replay protection and fail-closed rules. This does not contact any provider sandbox or move money.
Not run yet. No external calls are made.
STEP 7 · AUTHORIZED SANDBOX ONLY
bKash Checkout sandbox · read-only lookup
When provider-issued sandbox credentials are configured on this server, look up payment status or search a merchant transaction. This is limited to the configured merchant account. It does not inspect arbitrary P2P transfers, verify recipient ownership, create payments, or move money.
Checking local configuration…
No lookup performed. No transaction data is stored by this screen.
Never paste a PIN, OTP, password or API key here. Credentials are read only from server-side environment configuration. The adapter has no production endpoint and exposes no payment creation, execution, refund, payout, cancellation or reversal operation.
STEP 8 · SANDBOX VALIDATION
Read-only validation matrix
Use only synthetic references from your authorized merchant sandbox. This sends four read-only lookup requests, stores no references and never treats a provider/network error as an unknown transaction status.
The report deliberately excludes the entered references and provider payloads. An unknown-reference test that returns an HTTP/API error is recorded as an error—not a passing “unknown” status. No results are saved to the project.
Not run. Live validation stays disabled until sandbox configuration is enabled.
Design system, flows & developer handoff
UX brief: Audience — everyday MFS users in Bangladesh, mixed digital literacy, often stressed. Problem — one wrong digit is irreversible-feeling and recovery steps are fragmented. Principles: compare exactly, label provenance, never over-claim, Bangla-first, calm under stress. IA: Home → Start → {Prevent: Intent → SMS → Reconciliation → SafeSend → Pending → Result} / {Recover: SMS → Reconciliation → Guidance → Incident} → Privacy & Settings.
Colour tokens
--ivory #F7F7F2 · background
--teal #126B51 · primary / positive
--ink #18211F · text
--amber #F2B84B · caution / pending
--red #B94A48 · genuine discrepancy
Type & layout
Inter (Latin) + Noto Sans Bengali · Scale 12/13/14/15/17/20/24/32/42 · Spacing 4-pt (4–48) · Radius 10/14/16/999 · Breakpoints: mobile 360–430 (priority), tablet ~768, desktop ~1180 max-width · Touch targets ≥44px · Focus: 3px amber outline · Status never by colour alone — always icon + label.
Components & states
Buttons (primary / outline / amber / danger / ghost × default·hover·focus·pressed·disabled·loading), inputs + numeric inputs with associated error text, step indicator, provenance tags (Extracted from pasted SMSReported by userDerived by comparisonPresent in original instructionUnknown / unverified), comparison table, countdown, dialogs, warning / error / success panels, timeline, copy & download controls, skeleton/loading on SMS parse.
Edge-state inventory
Empty form · invalid number (not 11 digits / wrong prefix) · missing amount · missing TrxID (Scenario E) · unsupported SMS · parse failure with manual entry · instruction conflict · countdown expiry · undo success / repeated undo / double-click guard · navigate-away during pending · undo after completion (button disabled, routes to Recovery) · generic error result state.
Accessibility review (target WCAG 2.2 AA)
Labels on every field, errors linked via aria-describedby, aria-live on countdown & parse status, visible focus, ≥44px targets, reduced-motion respected, numbers in tabular-friendly formatting, Bangla text expansion allowed (no fixed-height text containers).
Brand
Wordmark: “PayCheckpoint” in Inter 800 with a teal rounded-square “P” mark and amber checkpoint dot — the dot = the pause point before money moves. Not a shield, not a currency symbol. Works on ivory and charcoal backgrounds; legible at 16px.
Assumptions (documented, per brief)
30-second undo window is illustrative; recovery contacts are source-linked and were checked on 28 October 2026 but must be re-verified before use; all sample transaction data in this prototype is synthetic.