COD tidak muncul di checkout WooCommerce hampir selalu disebabkan oleh salah satu dari lima hal: pengaturan Cash on Delivery WooCommerce yang membatasi COD ke metode pengiriman tertentu, pembeli yang belum memilih kurir, metode pengiriman yang tidak membawa informasi kurir (flat rate atau gratis ongkir), kurir instan seperti GoSend dan GrabExpress, atau keranjang berisi produk virtual. Di toko yang memakai AgenWebsite Shipping dan AgenWebsite Everpro Integration, empat penyebab pertama berasal dari aturan yang memang disengaja, dan masing-masing punya satu pengaturan yang bisa Anda cek dalam hitungan menit.

Gejalanya biasanya begini. Anda membuka halaman checkout toko sendiri untuk mengetes, mengisi alamat Bekasi, dan pilihan pembayaran hanya menampilkan transfer bank. Padahal tadi pagi Cash on Delivery sudah dicentang aktif. Anda matikan plugin satu per satu, COD muncul lagi, dan Anda menyimpulkan “plugin pengiriman bikin COD hilang”. Itu setengah benar: COD-nya memang disembunyikan, tetapi dengan alasan yang masuk akal, dan hampir selalu bisa diatur ulang tanpa mematikan apa pun.

πŸ’‘ Jawaban Singkat: Cek lima hal berurutan. Pertama, WooCommerce β†’ Pengaturan β†’ Pembayaran β†’ Cash on Delivery: kosongkan kolom “Aktifkan untuk metode pengiriman” kecuali Anda memang ingin membatasinya. Kedua, pastikan pembeli sudah memilih kurir; dengan Biaya COD aktif di AgenWebsite Shipping, COD baru tampil setelah kurir terpilih. Ketiga, flat rate dan gratis ongkir tidak menampilkan COD. Keempat, GoSend dan GrabExpress tidak melayani COD. Kelima, produk virtual memerlukan opsi “Terima untuk pesanan virtual”.

Cek pertama: apakah COD aktif untuk metode pengiriman yang dipilih?

Pengaturan Cash on Delivery bawaan WooCommerce punya kolom bernama “Aktifkan untuk metode pengiriman” (Enable for shipping methods). Kalau kolom ini terisi, COD hanya ditampilkan ketika pembeli memilih salah satu metode yang Anda daftarkan di sana. Pilih kurir lain, dan COD menghilang tanpa pesan apa pun.

Buka WooCommerce β†’ Pengaturan β†’ Pembayaran, klik Kelola pada baris Cash on Delivery (di WooCommerce berbahasa Indonesia labelnya Bayar di Tempat), lalu lihat kolom tersebut. Ada dua skenario yang sering kami temui:

  • Kolom berisi metode lama yang sudah tidak dipakai, misalnya “Flat rate” dari masa toko belum memakai plugin ongkir. Begitu Anda beralih ke tarif kurir dari AgenWebsite Shipping, tidak ada satu pun metode yang cocok, dan COD tidak pernah muncul. Kosongkan kolomnya.
  • Kolom sengaja diisi untuk membatasi COD ke kurir tertentu, tetapi isinya ID metode yang tidak lengkap. Kalau tujuan Anda memang membatasi COD per kurir, cara yang lebih rapi dibahas di bagian “Kurir yang dipilih tidak melayani COD” di bawah, lewat daftar kurir COD di Everpro Integration.

Dokumentasi resmi Cash on Delivery WooCommerce menjelaskan kolom ini dan kolom “Terima untuk pesanan virtual” yang akan kita bahas belakangan. Kalau setelah kolom dikosongkan COD tetap tidak tampil, lanjut ke cek berikutnya.

Kenapa COD hilang sebelum pembeli memilih kurir?

Kalau fitur Biaya COD di AgenWebsite Shipping aktif, COD disembunyikan sampai ada metode pengiriman yang terpilih di sesi checkout. Alasannya praktis: Biaya COD dihitung per kurir (bisa nominal tetap atau persentase, dengan pembulatan ke kelipatan yang Anda tentukan), jadi plugin tidak bisa menampilkan COD dengan biaya yang benar sebelum tahu kurir mana yang dipilih pembeli.

Dalam praktik, ini terlihat sebagai COD yang “berkedip”: halaman checkout dibuka, COD tidak ada; alamat terisi dan ongkir terhitung, COD muncul. Pembeli yang terbiasa mengisi alamat dulu tidak akan menyadarinya. Yang sering mengira ini bug justru pemilik toko yang mengetes checkout dengan keranjang kosong alamat, atau toko yang tema-nya menaruh pilihan pembayaran di atas pilihan pengiriman.

Cara memastikannya: buka checkout, isi alamat sampai pilihan kurir tampil, pilih satu kurir reguler (JNE REG, misalnya), lalu lihat apakah COD muncul. Kalau ya, tidak ada yang rusak. Kalau Anda ingin COD selalu tampil tanpa menunggu kurir, matikan Biaya COD di AgenWebsite Shipping β†’ Biaya COD; penyaringan ini hanya aktif bersama fitur itu. Konsekuensinya, Anda kehilangan biaya tambahan COD per kurir, dan COD juga akan tampil untuk metode yang sebenarnya tidak bisa COD.

Satu catatan tambahan: menyimpan pengaturan Biaya COD dalam keadaan aktif akan otomatis mengaktifkan metode pembayaran Cash on Delivery di WooCommerce. Jadi kalau Anda mendapati COD tiba-tiba “menyala” padahal tidak pernah mengaktifkannya, kemungkinan besar ada yang menyimpan tab Biaya COD.

Kenapa COD tidak muncul untuk GoSend, GrabExpress, flat rate, atau gratis ongkir?

Dengan Biaya COD aktif, COD hanya ditampilkan kalau metode pengiriman yang dipilih berasal dari AgenWebsite Shipping dan kurirnya bukan kurir instan. Dua kelompok metode ini gugur karena alasan berbeda.

Flat rate, gratis ongkir, dan metode dari plugin lain. Metode-metode ini tidak membawa informasi kurir sama sekali. Plugin tidak tahu paketnya akan dikirim lewat siapa, jadi tidak bisa menentukan apakah COD mungkin dan berapa biayanya. Hasilnya COD disembunyikan. Kalau Anda memakai gratis ongkir bawaan WooCommerce untuk pembelian di atas nominal tertentu dan tetap ingin pembeli bisa COD, pindahkan logika gratis ongkirnya ke subsidi ongkir di AgenWebsite Shipping. Subsidi tetap menghasilkan tarif kurir yang jelas (ongkir Rp0 atau dipotong sebagian) sehingga COD bisa tetap tampil.

GoSend dan GrabExpress. Kurir instan mengantar dalam hitungan jam dan tidak menagih uang ke penerima, jadi COD tidak berlaku untuk mereka. Begitu pembeli memilih layanan instan, pilihan COD hilang; pilih kurir reguler, COD kembali. Ini perilaku yang benar, bukan kesalahan konfigurasi.

Metode pengiriman yang dipilih pembeli COD tampil? (Biaya COD aktif) Alasan
Belum memilih apa pun Tidak Biaya COD belum bisa dihitung
Kurir reguler AgenWebsite Shipping (JNE, J&T, SiCepat, dll.) Ya Kurir diketahui, bukan instan
GoSend, GrabExpress Tidak Kurir instan tidak melayani COD
Flat rate WooCommerce Tidak Tidak membawa informasi kurir
Gratis ongkir WooCommerce Tidak Tidak membawa informasi kurir
Subsidi ongkir AgenWebsite Shipping Ya Tetap tarif kurir, hanya dipotong

Kurir yang dipilih tidak melayani COD

Ini kebalikan dari gejala sebelumnya: COD tampil, pembeli memilihnya, tetapi kurir yang ia pilih tidak bisa dibuatkan resi COD, dan masalahnya baru ketahuan saat Anda menekan Generate Resi. Di sini perannya ada pada Everpro Integration, bukan WooCommerce.

Everpro Integration punya daftar kurir yang dianggap melayani COD. Bawaannya JNE, J&T Express, J&T Cargo, SiCepat, ID Express, SPX Express, Lion Parcel, AnterAja, dan SAP Express. POS Indonesia, TIKI, Paxel, GoSend, dan Grab dikenali untuk resi non-COD saja. Saat pembeli memilih pembayaran COD di checkout klasik, kurir yang tidak ada di daftar itu disembunyikan dari pilihan pengiriman, dan tarif dimuat ulang begitu pembeli berganti metode pembayaran.

Kalau Anda ingin COD hanya lewat satu atau dua kurir yang penanganan returnya paling rapi di wilayah pembeli Anda, cukup ubah centangnya di pengaturan COD Everpro Integration. Ini jauh lebih aman daripada mengisi kolom “Aktifkan untuk metode pengiriman” di WooCommerce, karena daftar kurirnya mengikuti nama kurir, bukan ID metode yang berubah-ubah.

Perhatikan dua batasnya. Pertama, kurir yang benar-benar tampil saat membuat resi mengikuti layanan yang aktif di akun Everpro Anda; centang di plugin tidak bisa menghidupkan layanan yang belum aktif di akun. Kedua, penyembunyian kurir non-COD ini hanya berjalan di checkout klasik, yang membawa kita ke bagian berikutnya.

Produk virtual dan checkout Blocks

Dua kasus terakhir jarang, tetapi membingungkan kalau tidak tahu sebabnya.

Produk virtual. Kalau semua produk di keranjang ditandai virtual (e-book, jasa, voucher), WooCommerce tidak meminta pengiriman, dan Cash on Delivery hanya ditampilkan bila opsi “Terima untuk pesanan virtual” dicentang di pengaturan COD. Untuk toko fisik yang kebetulan menjual satu produk digital, ini biasanya memang perilaku yang diinginkan: tidak ada paket, tidak ada yang bisa ditagih kurir. Kalau pesanan campuran (fisik + virtual) kehilangan COD, cek dulu apakah produk fisiknya tidak sengaja tercentang virtual di tab Umum produk.

Checkout Blocks. Di checkout Blocks WooCommerce, resi COD tetap bisa dibuat untuk pesanannya, tetapi penyembunyian kurir non-COD saat pembeli memilih COD tidak berjalan. Pembeli bisa memilih COD lalu memilih TIKI, dan Anda baru tahu saat Generate Resi menawarkan opsi NON-COD saja untuk kurir itu. Toko yang mengandalkan penyaringan ini sebaiknya tetap memakai checkout klasik (shortcode [woocommerce_checkout]) untuk sekarang. Kalau Anda sudah di Blocks dan tidak ingin pindah, biasakan memeriksa kurir pesanan COD sebelum membuat resi, atau ubah ke NON-COD per baris saat Pengiriman Massal.

Urutan diagnosis singkat

  1. WooCommerce β†’ Pengaturan β†’ Pembayaran β†’ Cash on Delivery: pastikan aktif, kosongkan “Aktifkan untuk metode pengiriman”, centang “Terima untuk pesanan virtual” hanya kalau memang perlu.
  2. Buka checkout, isi alamat lengkap sampai kecamatan, pilih satu kurir reguler. Lihat apakah COD muncul setelah kurir terpilih.
  3. Kalau kurir yang dipilih GoSend/GrabExpress, flat rate, atau gratis ongkir, ganti ke kurir reguler AgenWebsite Shipping dan cek lagi.
  4. Kalau COD tampil tetapi kurir tertentu tidak bisa dibuatkan resi COD, cek daftar kurir COD di pengaturan Everpro Integration dan layanan yang aktif di akun Everpro Anda.
  5. Kalau toko memakai checkout Blocks, ingat bahwa kurir tidak disaring; periksa kurir pesanan COD sebelum Generate Resi.

Untuk setup COD dari nol, termasuk kurir mana yang bisa COD dan ke mana uangnya mengalir, baca panduan kami tentang COD tanpa marketplace di WooCommerce. Langkah membuat resinya sendiri ada di dokumentasi Membuat Pengiriman Everpro, dan gambaran alur integrasi COD yang lebih umum ada di panduan integrasi COD WooCommerce.

Pertanyaan yang Sering Diajukan

Kenapa muncul pesan COD tidak tersedia untuk pesanan ini?

Pesan semacam itu berarti metode COD disaring keluar dari pilihan pembayaran untuk kombinasi keranjang dan pengiriman yang sedang dipilih. Penyebab yang paling sering: kolom “Aktifkan untuk metode pengiriman” di pengaturan COD WooCommerce terisi, pembeli belum memilih kurir saat Biaya COD aktif, atau kurir yang dipilih instan, flat rate, atau gratis ongkir. Ikuti urutan diagnosis di atas dari langkah pertama.

Apakah COD bisa untuk kurir instan?

Tidak. GoSend dan GrabExpress tidak menagih uang ke penerima, jadi COD disembunyikan begitu pembeli memilih layanan instan. Kalau pembeli ingin COD, arahkan ke kurir reguler seperti JNE, J&T, atau SiCepat, yang masuk daftar kurir COD bawaan Everpro Integration.

Apakah COD jalan di checkout Blocks?

Metode pembayaran COD dan resi COD dari Everpro Integration berjalan di checkout Blocks. Yang tidak berjalan adalah penyembunyian kurir non-COD saat pembeli memilih COD; fitur itu saat ini khusus checkout klasik. Di Blocks, periksa kurir pesanan COD sebelum membuat resi.

Bagaimana mematikan COD untuk kurir tertentu?

Hilangkan centang kurir tersebut di daftar kurir COD pada pengaturan Everpro Integration. Di checkout klasik, kurir itu otomatis disembunyikan ketika pembeli memilih COD. Cara ini lebih stabil daripada mengisi kolom “Aktifkan untuk metode pengiriman” di WooCommerce, yang bekerja per ID metode pengiriman.

Kalau semua sudah dicek dan COD masih hilang

Sisanya biasanya konflik dengan plugin lain yang juga menyaring metode pembayaran, misalnya plugin pembatasan pembayaran per peran pengguna atau per nominal keranjang. Nonaktifkan plugin itu sementara di staging, bukan di toko live, dan tes ulang. Kalau COD muncul, pelakunya ketemu. Kalau masih belum, kirimkan domain toko dan tangkapan layar pengaturan Cash on Delivery Anda ke tim support kami lewat WhatsApp; kami bisa melihat kombinasi pengaturan yang tidak tampak dari luar.

πŸ‘‰ Detail daftar kurir COD, pengaturan Biaya COD, dan cara meminta bantuan setup ada di halaman AgenWebsite Everpro Integration.