Produk Fisik & Pengiriman

Checkout produk fisik — ongkir multi-origin, paket per gudang, COD, dan aturan akun pembeli.

Sejoli Commerce mendukung penjualan produk fisik dengan pengiriman multi-asal (multi-origin): tiap kelompok barang dari asal/gudang yang sama menjadi satu paket dengan ongkir sendiri.

Data Produk

Commerce memakai pengaturan fisik native Sejoli — tidak ada field ganda:

  • Berat (weight) — wajib untuk hitung ongkir.
  • Origin / gudang — asal pengiriman; produk dengan origin sama digabung jadi satu paket.
  • COD — pengaturan COD native (aktif, biaya, cakupan kota).

Produk fisik tanpa berat atau origin yang valid otomatis diblokir dari keranjang dan checkout — ini mencegah order yang tidak bisa dihitung ongkirnya.

Ongkir Multi-Origin

Saat pembeli mengisi alamat di checkout:

  1. Item fisik dikelompokkan per origin menjadi paket terpisah (ditandai Origin 1, Origin 2, dst.).
  2. Setiap paket mendapat kutipan ongkir sendiri ke kecamatan/kabupaten tujuan.
  3. Pembeli memilih kurir & layanan untuk tiap paket.
  4. Jika ada paket yang gagal mendapat ongkir, checkout diblokir dengan pesan jelas — bukan membuat order bermasalah.

Kartu paket menampilkan isi paket (nama produk, jumlah, berat) dan pilihan kurir beserta ongkirnya — tanpa mengulang harga produk. Harga produk cukup dibaca sekali di Ringkasan Pesanan, yang sudah memperhitungkan diskon dan kupon; setelah kurir dipilih, kartu menutup dengan baris Ongkir sebesar tarif yang dipilih. Dengan begitu tidak ada dua angka berbeda untuk produk yang sama di satu halaman checkout.

Grup origin juga otomatis bertambah saat isinya bertambah: bump offer fisik dari origin yang berbeda membentuk paket terpisah sendiri dengan pilihan kurirnya — di native, offcanvas, maupun halaman checkout Commerce (lihat Bump Offer).

Hasil kutipan ongkir di-cache 10 menit agar checkout tetap cepat. Cache ini hanya menyimpan hasil yang sukses — bila penyedia ongkir gagal sesaat (timeout, rate limit), hasil gagal tidak pernah di-cache sehingga percobaan ulang langsung mengambil tarif baru. Untuk paket yang sebelumnya pernah berhasil dikutip, Commerce otomatis memakai salinan tarif terakhir (hingga 1 jam) selama gangguan berlangsung, dengan pemberitahuan di layar. Pesan kegagalan juga menyertakan alasan dari penyedia, bukan sekadar "gagal".

COD

Gateway Cash on Delivery (COD) terdaftar otomatis saat checkout fisik aktif. Aturan penting:

  • COD hanya berlaku untuk paket fisik yang memenuhi syarat COD native.
  • Dalam keranjang campuran (digital + fisik), item digital tidak bisa "menumpang" COD — pembeli memakai metode pembayaran lain untuk transaksi tersebut.

Biaya COD

Kurir menagih biaya COD per paket (per parcel), dan Commerce mengikuti struktur itu: satu paket = satu biaya COD, dihitung dari nilai produk paket (+ ongkirnya, tergantung basis). Dua origin berarti dua paket yang masing-masing dikenai biaya.

Pembeli melihat totalnya sebagai baris Biaya COD di ringkasan checkout, plus rincian per paket ("Termasuk biaya COD: …") di kartu paket masing-masing. Sumber persentasenya diatur di kartu Biaya COD pada Pengaturan → Checkout: satu aturan tingkat toko, atau diambil dari produk (persentase tertinggi/terendah di keranjang — keputusan bisnis Anda).

Kebijakan Akun Pembeli

Advanced Settings → Physical Products → Physical Buyer Account Mode mengatur kewajiban akun untuk pembelian fisik:

ModePerilaku
RequiredPembeli fisik wajib punya akun
OptionalAkun opsional — guest boleh
No-emailAkun dibuat tanpa mewajibkan email unik

Produk digital selalu mewajibkan email, apa pun modenya.

Fallback Origin

Fallback Origin ID / Name dipakai bila sebuah produk fisik tidak mengisi origin sendiri — termasuk produk yang ditambahkan lewat bump offer. Origin di produk selalu menang; fallback hanya jaring pengaman agar checkout tidak macet. Bila keduanya kosong, baris tersebut ditolak dengan pesan eksplisit agar admin tahu harus melengkapinya.

Setelah Dibayar

  • Transaksi berstatus Completed begitu pembayaran dikonfirmasi — termasuk transaksi campuran digital+fisik.
  • Produk digital di dalamnya langsung bisa diakses; produk fisik menunggu fulfillment per paket di Menu Orders (order per produk fisiknya In Progress sampai paket Delivered).
  • Pelacakan paket oleh pembeli dibahas di Fulfillment & Pelacakan.

Last updated Sep 16, 2026