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 di-redirect ke halaman Kasera Pay Checkout untuk membayar, lalu pesanan otomatis ditandai lunas lewat webhook payment.paid yang ber-signature. Source code dan file download-nya ada di GitHub. Checkout block (default WooCommerce) maupun halaman shortcode [woocommerce_checkout] dua-duanya didukung.

Requirement

WordPress 6.0+, WooCommerce 8.0+, PHP 8.1+, dan mata uang toko IDR — di mata uang lain, metode pembayaran ini otomatis disembunyikan.

Instalasi

Download 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 awal sampai akhir dan tidak ada uang sungguhan yang berpindah; lihat Test mode.

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.

Test dulu, lalu go live

Buat satu pesanan dengan test key: pilih Kasera Pay di checkout, bayar di halaman Kasera Pay (di test mode ada tombol Simulasikan pembayaran), 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 dibuat dari pesanan dan body request-nya, jadi tombol bayar yang terklik dua kali tidak pernah menagih dua kali. Webhook diverifikasi dengan Kasera-Signature-V1 (HMAC dengan timestamp, toleransi lima menit) sebelum pesanan diubah, dan kiriman webhook 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 belum sampai hanya notifikasinya, dan webhook-nya di-retry sampai ±34 jam.