Dashboard
A stand-in for the Client's card, bank, MFS, and carrier billing rails, so the Multi-Rail Subscription Engine can be built and tested against something realistic now. Everything the API does shows up here as it happens.
Trigger a card charge
FR11Fires the same two calls a real adapter makes — tokenize, then charge. Card resolves synchronously, so the outcome comes straight back.
Amount is in the smallest currency unit — 29900 is ৳299.00. Pick a test card from the list for a guaranteed outcome, or type any number for a weighted random one.
Trigger a carrier billing charge
FR11aTwo steps, deliberately. Initiating a charge bills nobody until the subscriber completes a WAP confirmation — that gap is the whole difference between this rail and card, and it is where a subscription can quietly get stuck.
- 1Initiate the charge
- 2The customer confirms
Nothing is charged yet. Initiate above, and this step becomes available — exactly as a real subscriber would have to complete a WAP confirmation before the carrier bills them.
Live event feed
FR8Everything happening through the API, newest first, arriving over a Supabase Realtime subscription rather than a poll.
- telecomExpired, never confirmedCharge ch_1d44010c9ed74304b40528a7 — never confirmed, expired after the grace period
- telecomExpired, never confirmedCharge ch_af88c51780a84b89bad117eb — never confirmed, expired after the grace period
- telecomExpired, never confirmedCharge ch_b47ac54dea154e59bdd82908 — never confirmed, expired after the grace period
- telecomExpired, never confirmedCharge ch_09ee158c5fa24f76918cbd43 — never confirmed, expired after the grace period
- telecomExpired, never confirmedCharge ch_a68ef499a3fb4292a11a1561 — never confirmed, expired after the grace period
- telecomExpired, never confirmedCharge ch_5ba2d6d749954af4a4181f89 — never confirmed, expired after the grace period
- telecomExpired, never confirmedCharge ch_e555f86fb8664a2caba19532 — never confirmed, expired after the grace period
- telecomExpired, never confirmedCharge ch_8f634ea4857f4981bf1e04bd — never confirmed, expired after the grace period
- telecomExpired, never confirmedCharge ch_0b4cd05e2ad14850846fd106 — never confirmed, expired after the grace period
- cardCharge succeededCharge ch_3baaca6def8348c593afc911 — SUCCESS — ৳100.00
- cardCharge succeededCharge ch_ee1a89a9c9aa483bac792041 — SUCCESS — ৳100.00
- cardCharge succeededCharge ch_71b065d213a14e479292b5a5 — SUCCESS — ৳100.00
- cardCharge succeededCharge ch_409d962cee8a41678fe522d2 — SUCCESS — ৳100.00
- cardCharge succeededCharge ch_1af13063f76749269062bf82 — SUCCESS — ৳100.00
- cardCharge succeededCharge ch_d1348dd676ae4040a07686ac — SUCCESS — ৳100.00
- cardCharge succeededCharge ch_c1a6275289424f449d996922 — SUCCESS — ৳100.00
- cardCharge succeededCharge ch_af692b0082334c3292b8e288 — SUCCESS — ৳100.00
- cardCharge succeededCharge ch_affadb2f740947739d66f9f6 — SUCCESS — ৳100.00
- cardToken createdToken tok_977f5f766daa4c5c8a1d2d59 — visa ····4242
- telecomAwaiting confirmationCharge ch_a68ef499a3fb4292a11a1561 — awaiting confirmation — ৳299.00 — +8801700000004
- telecomAwaiting confirmationCharge ch_5ba2d6d749954af4a4181f89 — awaiting confirmation — ৳299.00 — +8801700000004
- telecomAwaiting confirmationCharge ch_af88c51780a84b89bad117eb — awaiting confirmation — ৳299.00 — +8801700000004
- telecomConfirmation ignoredCharge ch_e555f86fb8664a2caba19532 — +8801700000004 never confirms; still awaiting confirmation
- telecomAwaiting confirmationCharge ch_e555f86fb8664a2caba19532 — awaiting confirmation — ৳299.00 — +8801700000004
- telecomAwaiting confirmationCharge ch_1d44010c9ed74304b40528a7 — awaiting confirmation — ৳299.00 — +8801700000004
- telecomConfirmed, retry scheduledCharge ch_43acdf17f6314bb688cfd411 — confirmed, RETRY (insufficient_balance) — ৳299.00
- telecomAwaiting confirmationCharge ch_43acdf17f6314bb688cfd411 — awaiting confirmation — ৳299.00 — +8801700000002
- telecomConfirmed, failedCharge ch_e271e5c65c6241cea8e3c86a — confirmed, HARD_FAIL (subscriber_barred) — ৳299.00
- telecomAwaiting confirmationCharge ch_e271e5c65c6241cea8e3c86a — awaiting confirmation — ৳299.00 — +8801700000003
- telecomConfirmed, succeededCharge ch_eae6d35e1dd34f589186494e — confirmed, SUCCESS — ৳299.00
- telecomAwaiting confirmationCharge ch_eae6d35e1dd34f589186494e — awaiting confirmation — ৳299.00 — +8801700000001
- telecomConfirmed, succeededCharge ch_c3eb7b1c67804c8db0c542a6 — confirmed, SUCCESS — ৳299.00
- telecomAwaiting confirmationCharge ch_c3eb7b1c67804c8db0c542a6 — awaiting confirmation — ৳299.00 — +8801700000001
- telecomAwaiting confirmationCharge ch_b47ac54dea154e59bdd82908 — awaiting confirmation — ৳299.00 — +8801700000001
- telecomAwaiting confirmationCharge ch_8f634ea4857f4981bf1e04bd — awaiting confirmation — ৳299.00 — +8801700000001
- telecomAwaiting confirmationCharge ch_09ee158c5fa24f76918cbd43 — awaiting confirmation — ৳299.00 — +8801700000001
- telecomAwaiting confirmationCharge ch_0b4cd05e2ad14850846fd106 — awaiting confirmation — ৳299.00 — +8801700000001
- cardCharge succeededCharge ch_d9ec5f7b90bf439189c16240 — SUCCESS — ৳299.00
- cardRefund createdRefund re_6700c82b664b4138829550fe — ৳100.00 against ch_7c5520f2545d401ab9cae191
- cardCharge succeededCharge ch_7c5520f2545d401ab9cae191 — SUCCESS — ৳500.00
- cardCharge succeededCharge ch_afe321752f6a46e39270c81a — SUCCESS — ৳299.00
- cardRefund createdRefund re_a2768f6173864cf9b9eb842d — ৳200.00 against ch_8d1489d817704f1daf4fff69
- cardCharge succeededCharge ch_8d1489d817704f1daf4fff69 — SUCCESS — ৳200.00
- cardRefund createdRefund re_aac0f32b969f43268760d878 — ৳40.00 against ch_d503162dc680431797316469
- cardRefund createdRefund re_6488a06a910c47108d90a4b1 — ৳60.00 against ch_d503162dc680431797316469
- cardCharge succeededCharge ch_d503162dc680431797316469 — SUCCESS — ৳100.00
- cardCharge succeededCharge ch_00df9757319b423a9e97a603 — SUCCESS — ৳299.00
- cardCharge succeededCharge ch_1e946a3d9e6a4178832a6236 — SUCCESS — ৳299.00
- cardRefund createdRefund re_9eed7b6be7a648df9fc7b4f2 — ৳299.00 against ch_e2dbd8d21ade405ead9755f1
- cardCharge succeededCharge ch_e2dbd8d21ade405ead9755f1 — SUCCESS — ৳299.00
- cardToken createdToken tok_dd208b3309b64b27b6308129 — visa ····4242
- cardCharge declinedCharge ch_e4a568ac73f04d51babfd4d8 — HARD_FAIL (card_declined_generic) — ৳299.00
- cardToken createdToken tok_d782f21ff4ea41af9d9c5331 — visa ····0002
- cardCharge timed outCharge attempt timed out — ৳299.00, no charge record created
- cardCharge timed outCharge attempt timed out — ৳299.00, no charge record created
- cardToken createdToken tok_eaffad9f448d46dda41e4b14 — visa ····0259
- cardCharge declinedCharge ch_735c9b74d6b14445a9d8b917 — HARD_FAIL (card_declined_generic) — ৳299.00
- cardToken createdToken tok_99b0158ef02445bd9265ce00 — visa ····0002
- cardCharge declinedCharge ch_fc7fca00fc9d4bc299d90f79 — RETRY (insufficient_funds) — ৳299.00
- cardCharge declinedCharge ch_099f6a815338477ca78df4c3 — RETRY (insufficient_funds) — ৳299.00
- cardCharge declinedCharge ch_1589cee224fe42289f838920 — RETRY (insufficient_funds) — ৳299.00
- cardCharge declinedCharge ch_c663134d87aa4103af95f004 — RETRY (insufficient_funds) — ৳299.00
- cardCharge declinedCharge ch_cae60736c1564358849151a7 — RETRY (insufficient_funds) — ৳299.00
- cardCharge declinedCharge ch_2667eb4eb1e041c59c0fbe30 — RETRY (insufficient_funds) — ৳299.00
- cardCharge declinedCharge ch_cb341a1e8ade4547b8f2abf6 — RETRY (insufficient_funds) — ৳299.00
- cardCharge declinedCharge ch_8261f11295074ce697ae8679 — RETRY (insufficient_funds) — ৳299.00
- cardCharge declinedCharge ch_3d57f2496bf44f96b344ffa1 — RETRY (insufficient_funds) — ৳299.00
- cardCharge declinedCharge ch_eb5a59d3261242e2b8befb67 — RETRY (insufficient_funds) — ৳299.00
- cardCharge declinedCharge ch_97c784da47124dada09740ad — RETRY (insufficient_funds) — ৳299.00
- cardToken createdToken tok_0cf603019c77411a91b9bbe7 — visa ····9995
- cardCharge declinedCharge ch_6a79c5cf53c14ccfb98ba6d6 — RETRY (insufficient_funds) — ৳299.00
- cardCharge declinedCharge ch_78fcda89fd994cd0af05c5d6 — RETRY (insufficient_funds) — ৳299.00
- cardCharge declinedCharge ch_516b149cc1244f608dc58a3f — RETRY (insufficient_funds) — ৳299.00
- cardToken createdToken tok_cb4df2dfab8f408188a6abbf — visa ····9995
- cardCharge declinedCharge ch_35afd177ca374efbad40ad3b — RETRY (insufficient_funds) — ৳299.00
- cardToken createdToken tok_b04d5ed7982f4f2391cd3367 — visa ····9995
- cardCharge succeededCharge ch_a6a43dea22e64913bf5928ff — SUCCESS — ৳299.00
- cardToken createdToken tok_97717535405c42d3b1415c83 — visa ····4242
- cardCharge succeededCharge ch_98104d33cd0b473a8919769d — SUCCESS — ৳299.00
- cardToken createdToken tok_89e71efb2ba64de0b29b73f4 — visa ····4242
- cardToken createdToken tok_afbbc8d0b4aa4287a0bb694d — visa ····4242
- cardToken createdToken tok_374bcb7acce34f7fbd8bba27 — visa ····4242
- cardToken createdToken tok_bf71bd1499d54964b7d68d86 — visa ····4242
- cardCharge succeededCharge ch_e527e5f50d704cc99d49405b — SUCCESS — ৳100.00
- cardCharge succeededCharge ch_be208c97d88243c1b05f3362 — SUCCESS — ৳100.00
- cardCharge succeededCharge ch_1178753b32724da185054a0d — SUCCESS — ৳100.00
- cardCharge succeededCharge ch_fb89cc5ec1804c11b682dca2 — SUCCESS — ৳100.00
- cardCharge declinedCharge ch_03a16ad06b9740c69f61498f — RETRY (insufficient_funds) — ৳299.00
- cardToken createdToken tok_4c1134aa44e64adf84fbf279 — visa ····9995
- cardCharge succeededCharge ch_a5c2500b3b9342a48701d516 — SUCCESS — ৳1000.00
- cardCharge succeededCharge ch_b7af8b5c74fb4f32a1eb863b — SUCCESS — ৳299.00
- cardToken createdToken tok_17ed9483514242f7a8b770a9 — visa ····4242
- cardCharge succeededCharge ch_3254068eaff24600a09eadc1 — SUCCESS — ৳299.00
- cardRefund createdRefund re_120e694f89f14046ac9c8ee5 — ৳100.00 against ch_3d51b1b03bf944019229d78c
- cardCharge succeededCharge ch_3d51b1b03bf944019229d78c — SUCCESS — ৳500.00
- cardCharge succeededCharge ch_b793f267e57a43bf86149047 — SUCCESS — ৳299.00
- cardRefund createdRefund re_8b6c652e1c1e410d8cf11622 — ৳200.00 against ch_f1b9a3a3fa2048e1b9c003c5
- cardCharge succeededCharge ch_f1b9a3a3fa2048e1b9c003c5 — SUCCESS — ৳200.00
- cardRefund createdRefund re_556381ca6a2f4ff6bb70a463 — ৳40.00 against ch_3a499f9aca8d465fad2e35db
- cardRefund createdRefund re_3385aa59b41946249b236696 — ৳60.00 against ch_3a499f9aca8d465fad2e35db
Charges
FR9Every charge the gateway has recorded, across both rails. Amber means a carrier billing charge is still waiting on the subscriber; violet means its grace period ran out, which is a different end state from a decline.
| Charge | Rail | Amount | Status | Outcome | Decline | Created |
|---|---|---|---|---|---|---|
ch_3baaca6def8348c593afc911 | card | ৳100.00 | succeeded | SUCCESS | 23:26:01 | |
ch_ee1a89a9c9aa483bac792041 | card | ৳100.00 | succeeded | SUCCESS | 23:26:00 | |
ch_71b065d213a14e479292b5a5 | card | ৳100.00 | succeeded | SUCCESS | 23:26:00 | |
ch_409d962cee8a41678fe522d2 | card | ৳100.00 | succeeded | SUCCESS | 23:25:58 | |
ch_1af13063f76749269062bf82 | card | ৳100.00 | succeeded | SUCCESS | 23:25:58 | |
ch_d1348dd676ae4040a07686ac | card | ৳100.00 | succeeded | SUCCESS | 23:25:58 | |
ch_c1a6275289424f449d996922 | card | ৳100.00 | succeeded | SUCCESS | 23:25:58 | |
ch_af692b0082334c3292b8e288 | card | ৳100.00 | succeeded | SUCCESS | 23:25:58 | |
ch_affadb2f740947739d66f9f6 | card | ৳100.00 | succeeded | SUCCESS | 23:25:58 | |
ch_a68ef499a3fb4292a11a1561 +8801700000004 | telecom | ৳299.00 | expired | EXPIRED | 23:25:52 | |
ch_5ba2d6d749954af4a4181f89 +8801700000004 | telecom | ৳299.00 | expired | EXPIRED | 23:25:52 | |
ch_af88c51780a84b89bad117eb +8801700000004 | telecom | ৳299.00 | expired | EXPIRED | 23:25:51 | |
ch_e555f86fb8664a2caba19532 +8801700000004 | telecom | ৳299.00 | expired | EXPIRED | 23:25:50 | |
ch_1d44010c9ed74304b40528a7 +8801700000004 | telecom | ৳299.00 | expired | EXPIRED | 23:25:49 | |
ch_43acdf17f6314bb688cfd411 +8801700000002 | telecom | ৳299.00 | pending_retry | RETRY | insufficient_balance | 23:25:47 |
ch_e271e5c65c6241cea8e3c86a +8801700000003 | telecom | ৳299.00 | failed | HARD_FAIL | subscriber_barred | 23:25:45 |
ch_eae6d35e1dd34f589186494e +8801700000001 | telecom | ৳299.00 | succeeded | SUCCESS | 23:25:44 | |
ch_c3eb7b1c67804c8db0c542a6 +8801700000001 | telecom | ৳299.00 | succeeded | SUCCESS | 23:25:42 | |
ch_b47ac54dea154e59bdd82908 +8801700000001 | telecom | ৳299.00 | expired | EXPIRED | 23:25:41 | |
ch_8f634ea4857f4981bf1e04bd +8801700000001 | telecom | ৳299.00 | expired | EXPIRED | 23:25:40 | |
ch_09ee158c5fa24f76918cbd43 +8801700000001 | telecom | ৳299.00 | expired | EXPIRED | 23:25:39 | |
ch_0b4cd05e2ad14850846fd106 +8801700000001 | telecom | ৳299.00 | expired | EXPIRED | 23:25:39 | |
ch_d9ec5f7b90bf439189c16240 | card | ৳299.00 | succeeded | SUCCESS | 23:25:26 | |
ch_7c5520f2545d401ab9cae191 | card | ৳500.00 | succeeded | SUCCESS | 23:25:21 | |
ch_afe321752f6a46e39270c81a | card | ৳299.00 | succeeded | SUCCESS | 23:25:18 | |
ch_8d1489d817704f1daf4fff69 | card | ৳200.00 | succeeded | SUCCESS | 23:25:14 | |
ch_d503162dc680431797316469 | card | ৳100.00 | succeeded | SUCCESS | 23:25:09 | |
ch_00df9757319b423a9e97a603 | card | ৳299.00 | succeeded | SUCCESS | 23:25:06 | |
ch_1e946a3d9e6a4178832a6236 | card | ৳299.00 | succeeded | SUCCESS | 23:25:02 | |
ch_e2dbd8d21ade405ead9755f1 | card | ৳299.00 | succeeded | SUCCESS | 23:24:58 | |
ch_e4a568ac73f04d51babfd4d8 | card | ৳299.00 | failed | HARD_FAIL | card_declined_generic | 23:24:54 |
ch_735c9b74d6b14445a9d8b917 | card | ৳299.00 | failed | HARD_FAIL | card_declined_generic | 23:24:50 |
ch_fc7fca00fc9d4bc299d90f79 | card | ৳299.00 | failed | RETRY | insufficient_funds | 23:24:48 |
ch_099f6a815338477ca78df4c3 | card | ৳299.00 | failed | RETRY | insufficient_funds | 23:24:47 |
ch_1589cee224fe42289f838920 | card | ৳299.00 | failed | RETRY | insufficient_funds | 23:24:46 |
ch_c663134d87aa4103af95f004 | card | ৳299.00 | failed | RETRY | insufficient_funds | 23:24:45 |
ch_cae60736c1564358849151a7 | card | ৳299.00 | failed | RETRY | insufficient_funds | 23:24:44 |
ch_2667eb4eb1e041c59c0fbe30 | card | ৳299.00 | failed | RETRY | insufficient_funds | 23:24:43 |
ch_cb341a1e8ade4547b8f2abf6 | card | ৳299.00 | failed | RETRY | insufficient_funds | 23:24:42 |
ch_8261f11295074ce697ae8679 | card | ৳299.00 | failed | RETRY | insufficient_funds | 23:24:41 |
ch_3d57f2496bf44f96b344ffa1 | card | ৳299.00 | failed | RETRY | insufficient_funds | 23:24:40 |
ch_eb5a59d3261242e2b8befb67 | card | ৳299.00 | failed | RETRY | insufficient_funds | 23:24:39 |
ch_97c784da47124dada09740ad | card | ৳299.00 | failed | RETRY | insufficient_funds | 23:24:38 |
ch_6a79c5cf53c14ccfb98ba6d6 | card | ৳299.00 | failed | RETRY | insufficient_funds | 23:24:36 |
ch_78fcda89fd994cd0af05c5d6 | card | ৳299.00 | failed | RETRY | insufficient_funds | 23:24:35 |
ch_516b149cc1244f608dc58a3f | card | ৳299.00 | failed | RETRY | insufficient_funds | 23:24:34 |
ch_35afd177ca374efbad40ad3b | card | ৳299.00 | failed | RETRY | insufficient_funds | 23:24:32 |
ch_a6a43dea22e64913bf5928ff | card | ৳299.00 | succeeded | SUCCESS | 23:24:30 | |
ch_98104d33cd0b473a8919769d | card | ৳299.00 | succeeded | SUCCESS | 23:24:29 | |
ch_e527e5f50d704cc99d49405b | card | ৳100.00 | succeeded | SUCCESS | 23:23:30 | |
ch_be208c97d88243c1b05f3362 | card | ৳100.00 | succeeded | SUCCESS | 23:23:28 | |
ch_1178753b32724da185054a0d | card | ৳100.00 | succeeded | SUCCESS | 23:23:27 | |
ch_fb89cc5ec1804c11b682dca2 | card | ৳100.00 | succeeded | SUCCESS | 23:23:26 | |
ch_03a16ad06b9740c69f61498f | card | ৳299.00 | failed | RETRY | insufficient_funds | 23:23:09 |
ch_a5c2500b3b9342a48701d516 | card | ৳1000.00 | succeeded | SUCCESS | 23:22:57 | |
ch_b7af8b5c74fb4f32a1eb863b | card | ৳299.00 | succeeded | SUCCESS | 23:22:54 | |
ch_3254068eaff24600a09eadc1 | card | ৳299.00 | succeeded | SUCCESS | 23:22:33 | |
ch_3d51b1b03bf944019229d78c | card | ৳500.00 | succeeded | SUCCESS | 23:22:29 | |
ch_b793f267e57a43bf86149047 | card | ৳299.00 | succeeded | SUCCESS | 23:22:26 | |
ch_f1b9a3a3fa2048e1b9c003c5 | card | ৳200.00 | succeeded | SUCCESS | 23:22:22 | |
ch_3a499f9aca8d465fad2e35db | card | ৳100.00 | succeeded | SUCCESS | 23:22:17 | |
ch_723b23950a324c1db2d89b70 | card | ৳299.00 | succeeded | SUCCESS | 23:22:14 | |
ch_2d86ffb5674f4477ac6a27d9 | card | ৳299.00 | succeeded | SUCCESS | 23:22:10 | |
ch_ca2b645bbd7d452b92c10814 | card | ৳299.00 | succeeded | SUCCESS | 23:22:06 | |
ch_838282653daf44d39a33da0d | card | ৳299.00 | succeeded | SUCCESS | 22:48:27 | |
ch_f32e11b48f0946ad95482b8a +8801700000004 | telecom | ৳299.00 | expired | EXPIRED | 22:47:54 | |
ch_64a56477f6784aa88371a125 +8801700000001 | telecom | ৳299.00 | succeeded | SUCCESS | 22:47:52 |
Test card reference
FR10What each deterministic test card triggers. Read from the outcome engine itself, so this can never disagree with what a charge actually does.
| Card number | Outcome | Decline code | Use for |
|---|---|---|---|
| 4242424242424242 | SUCCESS | Happy path | |
| 4000000000009995 | RETRY | insufficient_funds | Soft decline / dunning retry logic |
| 4000000000000341 | RETRY | do_not_honor | Soft decline / dunning retry logic |
| 4000000000000101 | RETRY | issuer_timeout | Soft decline / dunning retry logic |
| 4000000000000002 | HARD_FAIL | card_declined_generic | Immediate cancellation logic |
| 4000000000000069 | HARD_FAIL | expired_card | Immediate cancellation logic |
| 4000000000000127 | HARD_FAIL | incorrect_cvc | Immediate cancellation logic |
| 4000000000000119 | HARD_FAIL | processing_error | Immediate cancellation logic |
| 4100000000000019 | HARD_FAIL | stolen_card | Immediate cancellation logic |
| 4000000000000259 | TIMEOUT | Circuit breaker / timeout handling — the route answers 504 with an empty body |
Any other card number gets a weighted random outcome — roughly 80% SUCCESS, 15% RETRY, 5% HARD_FAIL. Only the numbers above are guaranteed.
Test phone number reference
FR10The carrier billing equivalent. +8801700000004 is the one to reach for when testing what happens if a subscriber never confirms.
| Phone number | Confirmation | Then | Use for |
|---|---|---|---|
| +8801700000001 | Confirms immediately when the confirm endpoint is called | SUCCESS | Happy path |
| +8801700000002 | Confirms immediately | RETRY | Retry/dunning logic — soft decline, same-day retry then next-day shift |
| +8801700000003 | Confirms immediately | HARD_FAIL | Immediate cancellation logic |
| +8801700000004 | Never confirms — stays pending_confirmation until the simulated grace period elapses, then expires | EXPIRED | PENDING timeout / grace-period expiry logic |
| +8801700000005 | Confirms, but only after a simulated same-day retry then next-day shift on the first attempt | SUCCESS | Retry-then-recover logic — succeeds on the second attempt |
Any other number behaves like the happy path — deliberately, so ad hoc testing never lands on the never-confirms case by accident. The grace period runs on an accelerated clock, so an expiry is watchable in seconds rather than days.