Terima pembayaran

Plugin WooCommerce

Terima QRIS, Virtual Account, dan kartu di toko WooCommerce tanpa menulis kode.

Plugin resmi ini menambahkan Kasera Pay sebagai metode pembayaran di checkout toko Anda. Pembeli diarahkan ke halaman Kasera Pay Checkout untuk membayar, lalu pesanan otomatis ditandai lunas lewat webhook payment.paid yang bertanda tangan. Kode sumber dan unduhannya ada di GitHub. Checkout block (bawaan WooCommerce) maupun halaman shortcode [woocommerce_checkout] dua-duanya didukung.

Kebutuhan

WordPress 6.0+, WooCommerce 8.0+, PHP 8.1+, dan mata uang toko IDR — di mata uang lain gateway ini menyembunyikan diri.

Pemasangan

Unduh zip terbaru dari Releases, lalu di admin WordPress: Plugins → Add New → Upload Plugin, dan aktifkan.

Pengaturan

Buka WooCommerce → Settings → Payments → Kasera Pay dan isi dua nilai:

API key. Dari halaman Developer di dashboard. Mulai dengan kp_test_... — semuanya jalan dari ujung ke ujung dan tidak ada uang sungguhan berpindah; lihat Mode tes.

Webhook signing secret. Di dashboard, atur URL webhook ke https://toko-anda.com/?wc-api=kasera_pay lalu salin secret whsec_... ke pengaturan plugin. Tanpa ini, pesanan tidak akan berubah ke Processing sendiri.

Kolom kode metode yang opsional membatasi metode yang ditawarkan di checkout (kode dipisah koma, daftarnya di metode pembayaran); kosong berarti semua metode yang aktif di akun Anda.

Uji dulu, lalu live

Buat satu pesanan dengan key tes: pilih Kasera Pay di checkout, bayar di halaman Kasera Pay (mode tes punya tombol simulasi), dan pastikan pesanan berubah jadi Processing. Setelah itu ganti key-nya dengan kp_live_.... Selesai — itu seluruh proses go-live-nya.

Yang dikerjakan plugin di belakang layar

Setiap pesanan membuat payment request lewat POST /v1/transactions dengan Idempotency-Key yang diturunkan dari pesanan dan isi permintaannya, jadi tombol bayar yang terklik dua kali tidak pernah menagih dua kali. Webhook diverifikasi terhadap Kasera-Signature-V1 (HMAC bertimestamp, toleransi lima menit) sebelum pesanan disentuh, dan kiriman yang nominalnya tidak cocok dengan total pesanan membuat pesanan ditahan (on hold), bukan diselesaikan.

Kalau ada yang tidak jalan

Kasera Pay tidak muncul di checkout: pastikan mata uang toko IDR dan kolom API key terisi. Pesanan tetap Pending setelah dibayar: periksa URL webhook di dashboard dan signing secret di plugin — pembayarannya sudah berhasil di sisi Kasera Pay; yang hilang hanya notifikasinya, dan pengirimannya diulang sampai ±34 jam.