Arsitektur Payment: Dari Keranjang ke Settlement
Memahami flow pembayaran end-to-end — dari user klik 'Bayar' sampai uang masuk rekening
Tujuan Pembelajaran
- Memahami komponen arsitektur payment: merchant, gateway, acquirer, issuer
- Mengerti flow pembayaran dari authorization sampai settlement
- Mampu mengidentifikasi failure points di payment flow
Analogi
Payment Flow = Restoran dengan 3 Pihak:
User (Pembeli) = Pelanggan restoran
Merchant (Kamu) = Restoran
Payment Gateway = Mesin EDC (Midtrans/Xendit/Stripe)
Acquirer = Bank pemilik EDC
Issuer = Bank penerbit kartu pelanggan
Flow:
1. Pelanggan bayar → Mesin EDC kirim ke Acquirer
2. Acquirer tanya Issuer: "Saldo cukup?"
3. Issuer: "Ya, cukup." (Authorization)
4. Acquirer: "Transaksi approved."
5. Malam hari: Settlement — uang pindah dari Issuer ke Acquirer ke Merchant
Payment flow seperti restoran dengan mesin EDC — ada authorization (cek saldo) dan settlement (uang benar-benar pindah). Jangan kira transaksi approved = uang sudah masuk!
Penjelasan Konsep
Payment architecture melibatkan banyak pihak: (1) Merchant — kamu, yang menjual produk. (2) Payment Gateway (PG) — Midtrans, Xendit, Stripe. Interface antara merchant dan network pembayaran. (3) Acquirer — bank yang memproses pembayaran untuk merchant. (4) Issuer — bank penerbit kartu kredit/debit pelanggan. (5) Card Network — Visa, Mastercard, GPN.
Flow: Authorization (real-time, detik) → user klik bayar → PG kirim ke Acquirer → Acquirer tanya Issuer → Issuer verifikasi dana → Authorization approved/declined. Settlement (batch, harian) → transaksi yang sudah authorized dikumpulkan → uang benar-benar dipindahkan antar bank. Settlement bisa H+1 sampai H+3.
Payment status lifecycle: Pending → Authorized → Captured → Settled. Atau: Pending → Authorized → Voided/Refunded. JANGAN kirim barang hanya berdasarkan status ‘authorized’ — tunggu ‘captured’ atau ‘settlement’.
Failure points: (1) Payment timeout (30 detik) → retry? (2) Insufficient funds → decline. (3) Network error → status tidak diketahui (harus reconcile). (4) Duplicate payment → harus idempotent.
Inti yang Perlu Dipahami
Bagian ini berfokus pada memahami komponen arsitektur payment: merchant, gateway, acquirer, issuer., mengerti flow pembayaran dari authorization sampai settlement., dan mampu mengidentifikasi failure points di payment flow. Jangan terburu-buru menghafal istilahnya. Lebih penting untuk memahami peran setiap konsep dan kapan konsep itu muncul dalam pekerjaan web development.
Saat membaca Arsitektur Payment, gunakan tujuan belajar sebagai penanda arah. Kalau kamu sudah bisa menjelaskan tujuan itu dengan kata-katamu sendiri, berarti fondasinya mulai terbentuk.
Cara Membayangkannya
Payment flow seperti restoran dengan mesin EDC — ada authorization (cek saldo) dan settlement (uang benar-benar pindah). Jangan kira transaksi approved = uang sudah masuk!. Analogi ini dipakai supaya konsep teknis tidak terasa melayang. Hubungkan setiap istilah dengan perannya: siapa yang meminta, siapa yang memproses, data apa yang berpindah, dan hasil apa yang diharapkan.
Kalau analoginya sudah terasa masuk akal, barulah lihat istilah teknisnya. Cara ini membuat materi lebih mudah dipahami daripada langsung menghafal definisi.
Konteks dalam Perjalanan Belajar
Setiap konsep di platform ini dipilih karena dipakai di industri. Fokus pada pemahaman, bukan hafalan.
Kamu sudah di bagian lanjutan. Mulai pikirkan bagaimana konsep ini dipakai di dunia kerja — bukan hanya untuk belajar, tapi untuk membangun produk nyata.
Gunakan pertanyaan reflektif dan prompt AI di akhir chapter sebagai latihan aktif. Membaca saja tidak cukup — kamu perlu menjelaskan ulang dengan kata-katamu sendiri.
Prompt AI
Desain arsitektur payment untuk e-commerce. Komponen: frontend (checkout page), backend (order service, payment service), PG (Midtrans), database, webhook handler. Minta AI buat diagram sequence.
Pertanyaan Reflektif
Apa yang terjadi di aplikasi-mu kalau user bayar tapi PG timeout? Apakah kamu retry? Bagaimana mencegah user dicharge 2x?