Order Status
Daftar lengkap status order di Alusio: label tampilan, nama internal, dan tipe pembayaran terkait.
Setiap order di Alusio melewati serangkaian status yang menggambarkan posisinya dalam alur pembayaran & fulfillment. Status berubah otomatis lewat webhook gateway, aksi admin, upload bukti bayar, atau cron expiry — semua dicatat di order status history untuk audit.
Daftar Status
Label | Name (internal) | Payment Type | Arti |
|---|---|---|---|
Menunggu Pembayaran |
| Payment Gateway / Manual | Order baru dibuat. Untuk gateway: menunggu pelanggan menyelesaikan pembayaran. Untuk manual: menunggu pelanggan transfer + upload bukti. |
Menunggu Verifikasi |
| Manual | Pelanggan sudah upload bukti transfer. Menunggu admin verifikasi di dashboard sebelum order dianggap lunas. |
Lunas |
| Payment Gateway / Manual | Pembayaran terkonfirmasi. Untuk produk fisik, order siap diproses. Untuk produk digital langsung lompat ke Selesai (completed). |
Diproses |
| Payment Gateway / Manual | Admin menandai order sedang disiapkan/dikemas (khusus produk fisik). |
Dikirim |
| Payment Gateway / Manual | Order sudah diserahkan ke kurir. Nomor resi biasanya diisi di tahap ini. |
Selesai |
| Payment Gateway / Manual | Order tuntas. Trigger akses kursus, aktivasi membership, kirim file digital, perhitungan komisi affiliate, dan event Purchase Meta CAPI. |
Dibatalkan |
| Payment Gateway / Manual | Dibatalkan oleh pelanggan atau admin sebelum selesai. Status final — tidak bisa dilanjutkan. |
Gagal |
| Payment Gateway | Pembayaran ditolak gateway (kartu invalid, saldo kurang, dll). Pelanggan masih bisa coba ulang dari halaman order. |
Refund |
| Payment Gateway / Manual | Dana sudah dikembalikan ke pelanggan. Status final. |
Kedaluwarsa |
| Payment Gateway | Order belum dibayar sampai batas waktu gateway. Ditandai otomatis lewat cron / webhook expiry. |
Alur per Tipe Pembayaran
Payment Gateway (Midtrans, Duitku, Xendit, Stripe, PayPal)
awaiting_payment → paid → processing → shipped → completed
↘ failed (bisa retry)
↘ expired (timeout) → bisa kembali ke paid jika gateway konfirmasi terlambat
↘ cancelledUntuk produk digital / course / membership, webhook gateway memetakan langsung awaiting_payment → completed (skip processing & shipped) supaya akses langsung aktif.
Manual Transfer (Bank / E-Wallet manual)
awaiting_payment → awaiting_verification → paid → processing → shipped → completed
↘ cancelledPelanggan upload bukti transfer dari halaman order → status berubah ke awaiting_verification. Admin verifikasi di dashboard → status pindah ke paid (atau langsung completed untuk digital).
Status Final
Status berikut tidak bisa berpindah lagi (terminal):
cancelledrefunded
completed hanya bisa berpindah ke refunded. paid, shipped, dan processing juga bisa di-refund jika diperlukan.
Catatan Teknis
Semua perubahan status melewati helper
setOrderStatus()— tidak ada update langsung ke kolomorders.status.Transisi yang tidak valid (misal
completed → awaiting_payment) ditolak otomatis dan dicatat di log.Setiap perubahan memicu event
order/status-changedke Inngest yang menjalankan side effect: notifikasi email, auto-enroll course, aktivasi membership, decrement stok, dan kirim event Meta Purchase CAPI.