Cara Mengatur Field Shipping di Checkout (IndoOngkir Suite)
Perilaku field shipping di IndoCheckout: mode single fields, sinkronisasi dengan billing, dan opsi WooCommerce Ship to different address.
Saat pelanggan memilih Kirim ke alamat berbeda, WooCommerce akan menampilkan form shipping terpisah dari billing. IndoCheckout tetap bisa mengatur field-field ini, tetapi pada versi plugin saat ini tidak ada tabel Shipping Fields terpisah di admin karena mode single fields aktif secara default.
Artinya, pengaturan di Billing & Shipping Fields otomatis disalin ke field shipping paralel (shipping_first_name, shipping_last_name, dan seterusnya). Dengan memahami mekanisme ini, Anda tidak akan bingung mencari “tabel Shipping” yang memang tidak ditampilkan.
Prasyarat
- IndoCheckout aktif
- Toko mengizinkan pengiriman ke alamat berbeda dari billing (default WooCommerce)
- Sudah membaca Cara Mengatur Field Billing
Cara membuka pengaturan
- Buka WooCommerce → Pengaturan → IndoOngkir → IndoCheckout.
- Atur tabel Billing & Shipping Fields (bukan tabel Shipping terpisah).
- Untuk menyembunyikan seluruh form shipping, buka WooCommerce → Pengaturan → Pengiriman → Opsi pengiriman.

Mode single fields (default)
| Aspek | Perilaku |
|---|---|
| Tabel admin | Hanya Billing & Shipping Fields |
| Mapping | Setiap billing_* (kecuali email) → shipping_* dengan show/required/label/placeholder sama |
shipping_email |
Tidak dibuat (email hanya billing) |
| Prioritas urutan | Jika billing_address dan shipping_address prioritas berbeda, plugin menyesuaikan agar blok alamat selaras |
Field shipping yang disinkronkan
| Billing ID | Shipping ID |
|---|---|
billing_first_name |
shipping_first_name |
billing_last_name |
shipping_last_name |
billing_company |
shipping_company |
billing_address |
shipping_address |
billing_phone |
(tidak ada di shipping; WC 10.8+ phone di address) |
Field detail alamat (shipping_address_1, shipping_city, dll.) mengikuti Address Fields.
Opsi WooCommerce terkait shipping
| Pengaturan WooCommerce | Path | Fungsi |
|---|---|---|
| Shipping destination | WooCommerce → Pengaturan → Pengiriman → Opsi pengiriman | Pilih Default to customer shipping address atau Force shipping to the customer billing address |
| Ship to different address checkbox | Tema / checkout | Menampilkan form shipping kedua |
Catatan IndoCheckout: untuk menyembunyikan bagian Shipping Fields saat checkout, pilih Force shipping to the customer billing address di menu Opsi pengiriman.
Langkah-langkah
1. Atur field identitas shipping (via billing)
- Buka Billing & Shipping Fields.
- Atur kolom
first_name,last_name, dancompany: centang show / required sesuai kebijakan toko. - Perubahan otomatis berlaku untuk field shipping saat “alamat berbeda” dipilih.
- Simpan.
2. Atur alamat shipping (via Address Fields)
- Buka tabel Address Fields.
- Field alamat diterapkan ke billing dan shipping (
billing_address_*/shipping_address_*). - Simpan.
3. Uji “Ship to different address”
- Buka checkout, centang Kirim ke alamat berbeda.
- Pastikan field shipping muncul dengan label dan required yang sama dengan billing.
- Isi alamat berbeda, pastikan ongkir terhitung dari alamat shipping.


4. (Opsional) Sembunyikan seluruh shipping
- Buka WooCommerce → Pengaturan → Pengiriman → Opsi pengiriman.
- Set Shipping destination = Force shipping to the customer billing address.
- Simpan dan uji: form shipping kedua tidak muncul.
Cara memastikan berhasil
- Centang “alamat berbeda” menampilkan field shipping dengan konfigurasi paralel billing
- Ongkir IndoOngkir menggunakan alamat shipping yang diisi
- Mode force billing address menyembunyikan seluruh blok shipping
Catatan dan troubleshooting
Tidak menemukan tabel Shipping Fields di IndoCheckout
- Normal pada
use_single_fields = true. Kelola lewat Billing & Shipping Fields + Address Fields.
Shipping berbeda billing tetapi label sama
- Ini memang by design pada mode single fields. Untuk kontrol independen penuh, diperlukan perubahan kode (
use_single_fields = false) yang tidak tersedia lewat UI saat ini.
last_name shipping tetap tampil di Block
- Batasan Checkout Block, sama seperti billing