Jika Anda ingin ongkos kirim segera tampil di toko Anda, langsung ke Ringkasan.
Requirement
Pastikan hal-hal dibawah sudah terpenuhi sebelum proses instalasi.
| Kebutuhan | Keterangan |
|---|---|
| PrestaShop | 9.1.x |
| Tema | template basiskan Hummingbird (bawaan PrestaShop 9) |
| PHP | Versi yang didukung resmi oleh rilis PrestaShop 9.1 yang Anda pakai (PHP 8.3) |
| Ekstensi PHP | curl (wajib — instalasi akan gagal tanpa ini) |
| Negara Indonesia | Harus ada dan aktif di Lokalisasi → Negara |
| Akun RajaOngkir/Komerce | API key domestic destination & cost aktif |

Ringkasan
- Pasang modul (lihat Instalasi).
- Buka Modules → Module Manager, cari RajaOngkir, lalu klik Configure.
- Isi API Key RajaOngkir/Komerce dan klik Save.
- Ketik nama kota asal pada kolom Origin City, pilih hasil autocomplete yang sesuai, lalu klik Set Origin City.
- Pada bagian Active carrier, centang kurir/layanan yang ingin ditampilkan di checkout, lalu Save.
- (Opsional) Atur volumetrik, berat minimum, dan asuransi pengiriman per layanan kurir pada tabel aturan di bagian bawah halaman konfigurasi.
- (Opsional) Buka halaman edit produk → tab Shipping untuk menandai produk yang berhak diasuransikan.
- Buat order baru, tes ke alamat Indonesia yang valid dan pastikan ongkos kirim serta (jika diaktifkan) opsi asuransi tampil dengan benar.
Instalasi
Dari Back Office
Buka Modules → Module Manager → Upload a module lalu pilih file rajaongkir.zip. PrestaShop akan memasang dan mengaktifkan modul secara otomatis.
Cara lain, gunakan cara CLI di bawah.
Dari command line
unzip rajaongkir.zip -d modules/
php bin/console prestashop:module install rajaongkir
php bin/console cache:clear
Apa yang terjadi saat instalasi
Proses instalasi modul, akan secara otomatis:
- Membuat zona pengiriman dan menautkannya ke negara serta seluruh provinsi (state) Indonesia untuk pengiriman domestik dan internasional.
- Membuat ulang data provinsi untuk Indonesia dari data internal modul.
- Menyesuaikan format alamat untuk Indonesia.
- Membuat kurir dan layanannya yang didukung (contoh:
JNE REG,JNE YES,SiCepat BEST,TIKI ECO, dan seterusnya), lengkap dengan pengaturan dan logo kurir. - Membuat tabel database.
Kurir yang akan dibuat cukup banyak (satu per layanan kurir) dan semuanya aktif tapi belum tentu dipilih untuk dipakai. Pemilihan kurir mana yang akan tampil di halaman checkout, diseting di halaman konfigurasi (lihat Kurir dan layanan).
Memverifikasi instalasi
Setelah terpasang, periksa:
- Modul RajaOngkir muncul di Modules → Module Manager dengan status aktif.
- Beberapa carrier baru (mis.
JNE REG,TIKI ECO) muncul di Shipping → Carriers. - Negara Indonesia berstatus aktif dan berada dalam zona pengiriman rajaongkir.
- Halaman Configure modul tidak kosong/blank.
Zona pengiriman yang tidak berisi negara Indonesia, atau carrier yang tidak dicentang di pengaturan modul, adalah penyebab paling umum ongkos kirim tidak muncul.

Konfigurasi
Semua pengaturan modul berada di satu halaman: Modules → Module Manager → RajaOngkir → Configure.
Koneksi API
| Kolom | Keterangan |
|---|---|
| API Key | Kunci API RajaOngkir/Komerce Anda. Disimpan di konfigurasi PrestaShop, tidak pernah dikirim ke browser. |
Klik Save untuk menyimpan API key. Setelah API key terisi, kolom Origin City akan aktif.
Kota asal (origin)
Semua tarif dihitung dari titik ini, jadi kota asal yang salah membuat seluruh hasil ongkir salah.
- Ketik nama kota/kecamatan pada kolom Origin City (autocomplete akan mencari ke API RajaOngkir setelah minimal 3 karakter).
- Pilih salah satu hasil yang sesuai.
- Klik Set Origin City.

Kurir dan layanan
Bagian Active carrier menampilkan seluruh kombinasi kurir + layanan yang didukung modul (JNE, SiCepat, IDExpress, SAP Express, Ninja, J&T Express, TIKI, Wahana, POS Indonesia, Sentral Cargo, Lion Parcel, Royal Express Asia beserta layanannya masing-masing seperti REG, YES, BEST, dll).
Centang kurir/layanan yang akan ditawarkan ke pelanggan, lalu klik Save. Hanya kurir yang dicentang di sini yang akan:
- Muncul sebagai opsi pengiriman di checkout.
- Dihitung tarifnya lewat API RajaOngkir.
Semakin banyak kurir yang aktif, semakin banyak pula variasi tarif yang mungkin dihitung/diminta ke API pada satu kali checkout. Sebaiknya batasi kurir yang benar-benar Anda pakai.
Pengaturan umum
| Pengaturan | Default | Keterangan |
|---|---|---|
| Hide shipping fee to guest | Aktif | Saat aktif, ongkos kirim disembunyikan untuk pengunjung yang belum login jika checkout sebagai tamu (PS_GUEST_CHECKOUT_ENABLED) dinonaktifkan di toko. |
| Cache duration | 3 Months | Lama penyimpanan hasil kalkulasi ongkir di cache. Pilihan: 1 Month, 3 Months, 6 Months, 1 Year. |
| Activate volumetric | Nonaktif | Seting global untuk perhitungan berat volumetrik. Lihat Berat dan volumetrik. |
Tombol Clear delivery fee cache di bagian atas halaman menghapus seluruh cache tarif secara manual. Gunakan setelah mengganti kota asal atau saat menguji perubahan tarif agar hasil lama tidak terus terpakai, atau saat menerima pemberitahuan jika tarif kurir naik.
Berat dan volumetrik
RajaOngkir menghitung tarif berdasarkan berat, jadi berat produk di PrestaShop harus diisi dengan benar (dalam kg).
Seting Activate volumetric di bagian Pengaturan umum bersifat global. Bila nonaktif, seluruh perhitungan volumetrik diabaikan meskipun diaktifkan per layanan di tabel aturan.
Bila aktif, untuk setiap kurir/layanan yang mengaktifkan Volumetric enabled di tabel aturan (lihat Aturan per kurir), berat yang dipakai untuk kalkulasi tarif adalah nilai yang lebih besar antara:
- Berat aktual produk dalam keranjang, dan
- Berat volumetrik:
(Panjang × Lebar × Tinggi) / pembagi.
Nilai pembagi dapat diatur per kurir/layanan, karena tiap kurir menerapkan nilai yang berbeda-beda. Nilai umum yang dipakai adalah 6000.
Aturan per kurir
Tabel Volumetric and Weight Rules di bagian bawah halaman konfigurasi berisi satu baris per kurir/layanan yang tersedia (bukan hanya yang sedang aktif), dengan kolom:
| Kolom | Keterangan |
|---|---|
| Carrier / Service | Nama kurir + layanan, mis. JNE REG. |
| Volumetric enabled | Mengaktifkan perhitungan volumetrik untuk layanan ini. |
| Volumetric divisor | Angka pembagi rumus volumetrik untuk layanan ini. |
| Min weight (kg) | Berat minimum agar layanan ini tetap ditampilkan di checkout. |
| Insurance | Off, Optional, atau Required — lihat Asuransi pengiriman. |
| Insurance rate (%) | Persentase nilai barang yang diasuransikan yang dikenakan sebagai premi. |
| Insurance admin fee | Biaya admin tetap yang ditambahkan ke premi asuransi. |
Klik Save rules untuk menyimpan seluruh baris sekaligus.

Asuransi pengiriman
Asuransi dikonfigurasi per kurir/layanan melalui kolom Insurance pada tabel aturan di atas:
- Off — tidak ada asuransi untuk layanan ini.
- Optional — pelanggan melihat kotak centang opsional di halaman checkout, tepat di bawah opsi kurir yang dipilih, dengan teks seperti “Add shipping protection for Rp X (Rp Y)” (nilai barang yang diasuransikan dan besaran premi).
- Required — (dipakai sebagai penanda; kotak centang opsional tetap muncul mengikuti alur optional pada versi saat ini).
Premi dihitung sebagai:
Premi = (Nilai barang diasuransikan × Insurance rate%) + Insurance admin fee
Nilai barang yang diasuransikan adalah total harga (termasuk pajak) dari item-item di keranjang yang produknya ditandai eligible untuk asuransi — lihat Pengaturan produk. Produk yang tidak ditandai eligible tidak ikut dihitung ke nilai asuransi walaupun ada di keranjang yang sama.
Pilihan asuransi pelanggan (kurir mana yang diasuransikan) disimpan per keranjang dan mengikuti kurir yang sedang dipilih pelanggan pada saat itu. Jika pelanggan berganti kurir sebelum menyelesaikan pesanan, status asuransi mengikuti kurir yang aktif saat form pengiriman dikirim.

Pengaturan produk
Buka Catalog → Products, pilih produk, lalu buka tab Shipping. Anda akan menemukan seting:
Eligible for shipping insurance When shipping insurance is offered at checkout, this product’s price is included in the insured value calculation.
- Aktif (default untuk produk baru): harga produk ikut dihitung ke dalam nilai barang yang diasuransikan saat pelanggan memilih kurir dengan asuransi
Optional/Required. - Nonaktif: produk tidak pernah ikut dihitung ke nilai asuransi, meskipun kurir yang dipilih mendukung asuransi.
Pengaturan ini tidak mempengaruhi berat/dimensi produk, hanya mempengaruhi kelayakan asuransi.

Cache
Tanpa cache, setiap perubahan alamat di checkout akan memicu panggilan API baru ke RajaOngkir untuk setiap kurir aktif — pada koneksi yang lambat ini terasa sebagai jeda beberapa detik di halaman checkout.
| Pengaturan | Default | Keterangan |
|---|---|---|
| Cache duration | 3 Months | Berapa lama hasil kalkulasi ongkir disimpan sebelum diminta ulang ke API. |
| Clear delivery fee cache | — | Tombol untuk menghapus seluruh cache secara manual. |
Gunakan Clear delivery fee cache setelah:
- Mengganti kota asal (origin).
- Mengubah aturan volumetrik/berat minimum/asuransi.
- Melakukan pengujian tarif dan ingin memastikan hasil terbaru yang tampil, bukan hasil lama yang tersimpan.
- Ada kenaikan tarif dari kurir.
Pengujian sebelum go-live
Buat beberapa pesanan ke setidaknya tiga tujuan berbeda: dalam satu kota dengan kota asal, provinsi lain, dan pulau lain. Pastikan:
- Ongkos kirim muncul untuk seluruh kurir yang diaktifkan, sesuai layanan yang dipilih di konfigurasi.
- Alamat baru maupun alamat yang sudah ada tersimpan dengan benar berikut data tujuan RajaOngkir-nya (provinsi/kota/kecamatan/kode pos).
- Layanan dengan aturan Min weight disembunyikan saat keranjang di bawah ambang beratnya, dan muncul kembali saat di atasnya.
- Keranjang dengan produk berdimensi besar tapi ringan menghasilkan tarif yang lebih tinggi saat volumetrik diaktifkan (dibandingkan saat dinonaktifkan).
- Kotak centang asuransi tampil untuk kurir dengan mode
Optional, menghitung premi dengan benar, dan tidak tampil untuk kurir dengan modeOff. - Produk yang ditandai tidak eligible asuransi benar-benar tidak menambah nilai barang yang diasuransikan.
- Menghapus cache (Clear delivery fee cache) benar-benar memaksa permintaan baru ke API pada percobaan berikutnya.
Uninstall
Dari Back Office
Buka Modules → Module Manager → RajaOngkir → Uninstall. Proses ini akan:
- Menonaktifkan (soft delete) seluruh carrier yang dibuat modul.
- Mengalihkan
PS_CARRIER_DEFAULTtoko ke carrier lain yang masih aktif, jika ada. - Menghapus konfigurasi modul.
- Menghapus tabel database milik modul.
Dari command line
php bin/console prestashop:module uninstall rajaongkir
php bin/console cache:clear
Jika hanya ingin mengembalikan modul ke pengaturan awal tanpa mencopotnya, gunakan tombol Reset di Module Manager — ini menjalankan uninstall lalu install ulang secara berurutan, sehingga seluruh data di atas ikut terhapus dan dibuat ulang dari nol.
Troubleshooting
Modul gagal diinstal
Urutan kemungkinan penyebab:
- Ekstensi PHP
curltidak aktif di server. - Data negara Indonesia tidak ada atau nonaktif di Lokalisasi → Negara.
- Instalasi dijalankan sebagai user yang berbeda dari pemilik berkas PrestaShop (masalah izin berkas).
Ongkos kirim tidak muncul di checkout
Urutan kemungkinan penyebab:
- Kurir/layanan yang bersangkutan belum dicentang di Active carrier.
- Kota asal (Origin City) belum diatur.
- API key belum diisi atau sudah tidak valid.
- Produk di keranjang tidak memiliki berat, sehingga kalkulasi API gagal.
- Berat keranjang berada di bawah Min weight layanan tersebut, sehingga layanan sengaja disembunyikan.
- Carrier tidak berada dalam zona yang mencakup alamat tujuan pelanggan.
Ongkos kirim berbeda dari yang diharapkan
Periksa berurutan: pengaturan volumetrik (aktif/nonaktif, angka pembagi), berat produk, dan apakah cache masih menyimpan hasil lama — coba Clear delivery fee cache lalu tes ulang.
Kotak centang asuransi tidak muncul
Periksa: mode Insurance kurir tersebut harus Optional (bukan Off), Insurance rate (%) harus lebih dari 0, dan minimal ada satu produk di keranjang yang ditandai Eligible for shipping insurance.
Halaman konfigurasi kosong/blank
Biasanya karena masalah permission. Periksa log error server.
Changelog
| Versi | Perubahan |
|---|---|
| 1.0.3 | Pilihan asuransi dilacak per kurir yang dipilih. |
| 1.0.2 | Menambahkan fitur asuransi pengiriman per kurir/layanan. |
| 1.0.1 | Menambahkan aturan volumetrik dan berat minimum per kurir/layanan. |
| 1.0.0 | Rilis awal: integrasi tujuan domestik RajaOngkir dan autocomplete alamat pada tema Hummingbird. |
Roadmap
Rencana pengembangan berikut bersifat indikatif — urutan dan waktu rilis dapat berubah mengikuti kebutuhan pengguna dan perubahan API RajaOngkir/Komerce.
| Rencana | Deskripsi |
|---|---|
| Dukungan tujuan internasional | Perhitungan ongkos kirim antar negara untuk kurir yang menyediakan layanan internasional. |
| Multi-origin / multi-gudang | Pemilihan titik asal pengiriman lebih dari satu, dengan penentuan origin otomatis berdasarkan ketersediaan stok atau kedekatan alamat tujuan. |
| Aturan tarif khusus | Markup atau diskon ongkos kirim per kurir/layanan, termasuk gratis ongkir dengan ambang nilai belanja. |
| Pelacakan resi | Penyimpanan nomor resi pada pesanan dan tautan pelacakan otomatis di halaman riwayat pesanan pelanggan. |
| Dukungan multistore | Konfigurasi kurir, volumetrik, asuransi, dan API key per toko pada instalasi PrestaShop multistore. |
| Ekspor/impor konfigurasi | Pemindahan pengaturan kurir, volumetrik, dan asuransi antar instalasi toko. |
Punya kebutuhan yang belum ada di daftar ini? Sampaikan ke kami, permintaan dari pengguna berlisensi akan menjadi pertimbangan utama.
Lisensi dan dukungan
Modul ini adalah perangkat lunak komersial berlisensi berbayar milik prestaidn. Anda tidak diperkenankan mendistribusikan ulang, menjual kembali, atau memasang modul ini di toko/domain lain di luar yang diizinkan oleh lisensi yang dibeli.
Modul ini tidak berafiliasi dan tidak bekerja sama secara resmi dengan RajaOngkir maupun PT Kurir Kirim Bersama (Komerce). “RajaOngkir” adalah merek dagang milik Komerce; modul ini hanya memanfaatkan layanan API publik yang disediakan secara independen.
Untuk kebutuhan kustomisasi (mis. penambahan gudang/origin lain atau integrasi tambahan), silahkan hubungi kami, jangan mengubah langsung modul agar pembaruan versi berikutnya tetap aman dipasang.