Checkout

Route /checkout milik Sejoli Commerce — alur isian, diskon, wallet, hingga halaman sukses pembayaran.

Saat aktif, Sejoli Commerce mengambil alih route /checkout sebagai halaman checkout keranjang. Endpoint native Sejoli tetap aman dan tidak tersentuh:

  • /checkout/loading — milik Sejoli
  • /checkout/thank-you — milik Sejoli
  • /checkout/renew — milik Sejoli

Alur Halaman Checkout

Halaman checkout tersusun atas section berikut (urut dari atas):

  1. Customer Information

    Nama, email, telepon/WhatsApp pembeli. Untuk tamu tersedia tautan Sudah punya akun? Masuk — login langsung di tempat, tanpa pindah halaman. Saat email tidak diwajibkan (produk fisik), baris pertama form adalah Nama Lengkap + Telepon/WhatsApp; email opsional turun ke baris di bawahnya.

    Jika email atau nomor yang diisi ternyata sudah terdaftar, muncul pemberitahuan ringan bahwa pesanan akan dikaitkan dengan akun tersebut — checkout tetap berjalan tanpa dipaksa login, dan order otomatis menempel pada akun pemilik email/telepon itu. Akun baru hanya dibuat untuk data yang memang belum terdaftar.

  2. Special Offer

    Muncul hanya jika ada bump offer yang berlaku.

  3. Shipping Destination

    Hanya untuk produk fisik: pilih alamat tujuan, lalu kurir & layanan per paket asal (lihat Produk Fisik).

  4. Discount Code

    Kode kupon tambahan.

  5. Wallet

    Muncul bila plugin sejoli-wallet aktif; pembeli bisa memakai saldo (parsial atau penuh).

  6. Payment Method

    Metode pembayaran Sejoli (manual/online) sesuai konfigurasi produk.

  7. Order Summary

    Rincian item dengan harga final per produk (harga normal dicoret bila kupon berlaku). Khusus Product Bundle: seluruh isi bundle tampil sebagai satu baris atas nama bundle — total normal dicoret, harga offer di bawahnya, dan daftar produk terlipat di Berisi N produk (klik untuk membuka daftar nama + jumlah, tanpa harga — berapa pun isi bundlenya kartu tetap setinggi satu produk). Baris tambahan yang muncul sesuai kondisi: Diskon Pengiriman (kupon gratis ongkir — ongkir tampil normal, potongannya di baris ini) dan Diskon Bundle (rincian penghematan offer, ada di rincian yang dilipat). Unique code, penyesuaian pembayaran, dan PPN mengikuti konfigurasi — PPN dihitung di semua jalur checkout Commerce (termasuk setelah bump offer diterima) untuk produk yang mengaktifkannya. Baris Subtotal dan Diskon dilipat menjadi satu ikon chevron — klik untuk membuka rinciannya. Untuk gateway mutasi (Moota), kode unik pembeli ditampilkan pada baris Kode Unik — termasuk operasi potongan yang tampil sebagai nilai negatif.

  8. Complete Order

    Tombol kirim pesanan.

Atribusi Afiliasi

Pembeli yang masuk lewat link affiliate — link produk native, link site-level, maupun link bundle — tercatat sebagai referrals affiliate pada transaksinya. Sebagai konfirmasi visual, footer checkout menampilkan "Affiliasi oleh {nama}" saat atribusi aktif (bisa disembunyikan lewat pengaturan). Tampil sejak halaman dibuka, jadi keberhasilan link langsung terlihat sebelum pesanan dikirim.

Komisi transaksi mengikuti pengaturan affiliate tiap produk; untuk transaksi bundle, kebijakan komisinya diatur di bundle itu sendiri.

Multi-Kupon

Kolom Discount Code menerima beberapa kupon sekaligus — tiap kupon tampil sebagai pill yang bisa dilepas satu per satu:

Kupon affiliate eksklusif — satu transaksi hanya boleh punya satu pemilik kupon affiliate. Memasukkan kupon affiliate milik orang lain saat sudah ada yang terpasang akan memicu aturan dari pengaturan (default: konfirmasi ganti kupon; bisa juga langsung ganti atau tolak). Nama affiliate yang menerima komisi tampil di bagian bawah halaman checkout — detail aturan atribusi ada di Kupon Affiliate & Komisi.

  • Kupon berlaku sesuai aturan produknya: sebagian menyasar seluruh keranjang, sebagian hanya produk tertentu.
  • Untuk tiap produk, sistem memakai kupon dengan diskon terbesar (lihat Kupon Terbaik Otomatis).
  • Kode salah atau kedaluwarsa menampilkan peringatan langsung di bawah kolom.

Setelah Tombol Ditekan

  1. Validasi & order transaksi terbentuk

    Commerce memvalidasi keranjang (termasuk kesiapan produk fisik) lalu membentuk satu order transaksi yang memuat semua produk di keranjang. Pembayaran dan invoice mengikat ke order transaksi ini; setiap produk di dalamnya disiapkan otomatis oleh sistem.

  2. Loading overlay

    Pembeli diarahkan ke loading overlay Commerce saat pembayaran diproses.

  3. Halaman sukses

    Pembeli tiba di halaman sukses bergaya Commerce berisi ringkasan transaksi multi-produk dan instruksi pembayaran.

Checkout juga dilindungi mekanisme anti-manipulasi: ringkasan yang dikirim pembeli diverifikasi terhadap pratinjau harga (hash), dan tiap pembeli punya lock checkout untuk mencegah submission ganda.

Halaman Tanpa Cache

Keranjang dan checkout bersifat personal, sehingga Commerce menambahkan header no-cache pada route ini secara default (Advanced Settings → General → Force no-cache headers on cart and checkout routes). Biarkan aktif jika memakai plugin caching (LiteSpeed, WP Rocket, dsb).

Last updated Sep 12, 2026