Langsung ke konten utama

Model Data - Status

smilepayz teamsSekitar 2 menit

Ikhtisar Status Transaksi

Model data Status Transaksi mendefinisikan struktur untuk informasi status siklus hidup transaksi. Model ini mengkapsulasi pelacakan status, pemantauan, dan manajemen status untuk transaksi pembayaran.

Definisi Kode Status

Kode StatusDeskripsi
INITRequest transaksi telah didaftarkan tetapi metode pembayaran belum ditentukan
Penggunaan: Status awal ketika pesanan dibuat tetapi pelanggan belum memilih metode pembayaran
Status Berikutnya: PROCESSING (setelah pemilihan metode pembayaran)
PROCESSINGTransaksi sedang diproses secara aktif
Penggunaan: Pembayaran pelanggan tertunda atau pesanan sedang diproses oleh penyedia pembayaran
Status Berikutnya: SUCCESS, FAILED, EXPIRED
SUCCESSTransaksi telah berhasil diselesaikan
Penggunaan: Pembayaran diterima atau pencairan berhasil diselesaikan
Status Berikutnya: Status akhir - tidak ada transisi lebih lanjut
FAILEDTransaksi telah gagal dan mencapai status terminal
Penggunaan: Pemrosesan pembayaran gagal karena berbagai alasan (dana tidak cukup, masalah teknis, dll.)
Status Berikutnya: Status akhir - tidak ada transisi lebih lanjut
EXPIREDTransaksi telah kedaluwarsa karena timeout atau tidak aktif
Penggunaan: Pembayaran tidak selesai dalam batas waktu yang ditentukan atau timeout koneksi internet
Status Berikutnya: Status akhir - tidak ada transisi lebih lanjut

Alur Siklus Hidup Transaksi

Fase Inisialisasi

INIT → PROCESSING
  • Trigger: Pelanggan memilih metode pembayaran
  • Durasi: Transisi langsung
  • Aksi: Validasi metode pembayaran dan inisiasi pemrosesan

Fase Pemrosesan

PROCESSING → SUCCESS/FAILED/EXPIRED
  • Durasi: Bervariasi berdasarkan metode pembayaran dan waktu pemrosesan
  • Aksi: Pemrosesan pembayaran, interaksi pelanggan, komunikasi penyedia

Status Akhir

  • SUCCESS: Transaksi selesai, dana ditransfer
  • FAILED: Transaksi diakhiri karena kegagalan
  • EXPIRED: Transaksi diakhiri karena timeout

Contoh Implementasi

{
  "tradeNo": "122200312406111311517153",
  "orderNo": "200110edbb466abb04682968b40",
  "status": "SUCCESS",
  "transactionTime": "2020-12-17T10:55:00-05:00"
}

Pemantauan dan Penanganan Status

Pembaruan Status Waktu Nyata

  • Notifikasi Webhook: Pembaruan status otomatis melalui URL callback
  • API Polling: Pemeriksaan status berkala menggunakan API inquiry
  • Sinkronisasi Status: Status konsisten di semua komponen sistem

Penanganan Error

  • Status FAILED: Implementasi mekanisme retry dan logging error
  • Status EXPIRED: Tangani skenario timeout dan notifikasi pengguna
  • Status PROCESSING: Pantau transaksi yang macet dan implementasi timeout

Logika Bisnis

  • Manajemen Pesanan: Perbarui status pesanan berdasarkan status transaksi
  • Manajemen Inventori: Lepaskan inventori yang dipesan pada FAILED/EXPIRED
  • Komunikasi Pelanggan: Kirim notifikasi yang sesuai untuk setiap status

Pertimbangan Regional

Waktu Pemrosesan

  • Dompet Digital: Biasanya 1-5 menit untuk SUCCESS
  • Transfer Bank: 1-3 hari kerja untuk penyelesaian
  • Pembayaran Tunai: Langsung setelah konfirmasi pembayaran
  • Cryptocurrency: 10-60 menit tergantung jaringan

Keandalan Status

  • Keandalan Tinggi: Status SUCCESS dan FAILED bersifat definitif
  • Status Menengah: PROCESSING mungkin memerlukan verifikasi tambahan
  • Penanganan Timeout: Status EXPIRED untuk transaksi yang ditinggalkan

Keamanan dan Kepatuhan

Validasi Status

  • Pencegahan Manipulasi: Perubahan status harus ditandatangani secara kriptografis
  • Audit Trail: Log lengkap dari semua transisi status
  • Verifikasi: Cross-reference status dengan konfirmasi penyedia pembayaran

Persyaratan Regulasi

  • Pelaporan Transaksi: Pelaporan status yang akurat untuk kepatuhan regulasi
  • Penyelesaian Sengketa: Dokumentasi status yang jelas untuk penanganan chargeback
  • Rekonsiliasi Settlement: Pemrosesan settlement berbasis status
Terakhir diperbarui: