Arsitektur Checkout & Alur Pesanan BDX
Proses checkout BDX mengubah niat pembelian pembeli menjadi ruang kerja pesanan yang aman dan didukung eskro. Jalur ini mengelola pembuatan akun tamu, verifikasi, reservasi stok atomik, pengiriman otomatis, dan transisi mesin status.
Dokumen ini menyajikan panduan menyeluruh tentang alur checkout, status siklus hidup pesanan, dan mekanika pengiriman digital.
1. Alur Checkout Ujung ke Ujung
[Buyer Clicks "Buy Now" on Offer Page]
|
v
GET /checkout/{offer}?qty=N
|
+---> Is User Authenticated?
| |
| +---> NO -> Display "Continue as Guest" Option
| | Guest inputs email & receives 6-digit verification code
| | Verifies code to activate guest account
| |
| +---> YES -> Render Checkout View
|
v
Order Submission & Safety Checks:
1. Verify offer is active & buyable
2. Verify buyer identity & account status
3. Prevent seller self-purchase
4. Validate Terms & Risk Acknowledgments
5. Check for duplicate pending orders
|
v
Atomic Stock Reservation:
Locks offer stock quantity to prevent double-purchases
|
v
Order Record Created:
Status set to pending payment; stock reserved
|
v
Payment Method Selection:
|
+---> BDX Wallet Balance (If balance >= total price)
| |
| v
| Instant payment deducted from wallet
| Mark order paid -> Status: awaiting delivery
| Trigger automated instant delivery (if applicable)
| Redirect to Order Workspace
|
+---> Online Payment Gateways (bKash, Nagad, etc.)
| |
| v
| Redirect buyer to secure payment portal
| Process payment verification callback
|
+---> Manual Payment (bKash / Nagad / Rocket / Bank Transfer)
|
v
Redirect to Order Workspace with payment instructions
Buyer submits transaction ID / proof screenshot
Admin reviews & verifies payment proof
2. Checkout Tamu & Verifikasi Email
Untuk menghilangkan hambatan sekaligus mencegah akun spam dan bot pengunci stok, BDX menyediakan urutan checkout tamu yang ramping:
- Pendaftaran Tamu: Tamu memasukkan alamat email mereka selama checkout. Akun pembeli dibuat secara otomatis.
- Kode Verifikasi Dikirim: Kode verifikasi 6 digit yang dinamis dikirim melalui email kepada tamu.
- Verifikasi Email: Memasukkan kode 6 digit memverifikasi alamat email dan menyelesaikan pengiriman pesanan.
3. Siklus Hidup Pesanan & Status
Setiap pesanan di BDX bergerak melalui mesin status yang terstruktur. Pesanan berisi tiga indikator pelacakan status utama: status pesanan global, status pembayaran, dan status pengiriman.
+-----------------------------------+
| ORDER CREATED |
| status: pending_payment |
| payment_status: awaiting_payment |
| delivery_status: awaiting_payment|
+-----------------+-----------------+
|
Payment Verified
|
+-----------------v-----------------+
| PAYMENT COMPLETED |
| status: awaiting_delivery |
| payment_status: paid |
| delivery_status: awaiting_seller |
+-----------------+-----------------+
|
Seller Delivers Item
|
+-----------------v-----------------+
| DELIVERY SUBMITTED |
| status: delivered |
| payment_status: paid |
| delivery_status: delivered |
+--------+-----------------+--------+
| |
Buyer Confirms /| |\ Buyer Opens
7 Days Elapse | | Dispute
v v
+--------+--------+ +------+--------+
| COMPLETED | | DISPUTED |
| status: | | status: |
| completed | | disputed |
+-----------------+ +---------------+
Tabel Referensi Status Pesanan
| Status Pesanan Global | Status Pembayaran | Status Pengiriman | Deskripsi / Tindakan Berikutnya |
|---|---|---|---|
pending_payment | awaiting_payment | awaiting_payment | Status checkout awal. Stok dicadangkan. Menunggu pengiriman atau verifikasi pembayaran. |
awaiting_delivery | paid | awaiting_seller | Pembayaran terkonfirmasi dan ditahan dengan aman di eskro. Penjual diberi tahu untuk mengirimkan barang atau layanan. |
delivered | paid | delivered | Penjual mengirimkan bukti/kode pengiriman di dalam ruang kerja pesanan. Hitung mundur perlindungan pembeli 7 hari dimulai. |
completed | paid | confirmed | Pembeli mengonfirmasi pengiriman ATAU 7 hari berlalu tanpa sengketa. Dana dilepaskan ke saldo kliring tersedia dompet penjual. |
disputed | paid | disputed | Pembeli membuka sengketa dalam jendela 7 hari. Eskro ditahan dalam moderasi. Penjual memiliki 24 jam untuk merespons. |
cancelled | failed/refunded | cancelled | Pesanan dibatalkan sebelum pengiriman. Stok yang dicadangkan dikembalikan ke kumpulan. |
refunded | refunded | refunded | Jumlah yang dapat dikembalikan (harga barang; biaya perlindungan + biaya gateway tidak dapat dikembalikan) atau pengembalian dana sebagian diterbitkan ke saldo Dompet BDX pembeli setelah sengketa atau pembatalan yang disetujui. |
4. Perlindungan Stok & Pengiriman Otomatis
Pengaman Reservasi Stok
Untuk mencegah kondisi balapan di mana beberapa pembeli mencoba membeli barang digital langka yang sama (seperti kunci aktivasi sekali pakai atau akun game) secara bersamaan:
- Stok dikunci seketika pada saat inisiasi checkout.
- Jika pesanan dibatalkan atau kedaluwarsa sebelum pembayaran selesai, jumlah yang dicadangkan secara otomatis dikembalikan ke kumpulan stok aktif penjual.
Pengiriman Kumpulan Kode Otomatis
Untuk penawaran yang dikonfigurasi dengan pengiriman otomatis instan (seperti kartu hadiah, kode top-up dompet, atau voucher digital):
- Pemicu: Pengiriman otomatis dimulai segera setelah konfirmasi pembayaran.
- Penetapan Kunci: Sistem mengklaim kode digital yang belum ditukarkan dari brankas inventaris terenkripsi penjual.
- Pengiriman Instan: Kode digital ditampilkan dengan aman di dalam halaman Detail Pesanan privat pembeli dan utas pesan, memperbarui status pesanan menjadi terkirim seketika.