Shortcode dan Halaman Konfirmasi Pembayaran WooCommerce (LarisTurbo)
Cara memakai [laristurbo_wc_payment_confirm], Verification Type, URL order-pay, tombol di thank you/order list, dan alur upload bukti pembayaran.
Tutorial ini melengkapi panduan dasar Payment Confirmation Form. Di sini fokusnya ke penempatan form, verifikasi order, dan dua mode akses (publik vs per-order).
Dua cara menampilkan form
1. Halaman per order (URL checkout)
Setiap order punya URL konfirmasi internal:
/checkout/order-pay/{order_id}/?key={order_key}&show_payment_confirm=true
Pola ini dijelaskan di bagian Payment Confirmation Page Layout di Settings. Parameter show_payment_confirm=true mengganti konten halaman order-pay dengan form upload (filter the_content).
Tombol Payment Confirmation di thank you, View Order, dan daftar order My Account mengarah ke URL ini (kecuali order dikecualikan atau metode COD).
2. Halaman publik dengan shortcode
Tempatkan shortcode di halaman atau post mana pun:
[laristurbo_wc_payment_confirm]
Shortcode lama masih didukung: [tokopressid_wc_payment_confirm].
Saat aktivasi pertama, jika belum ada halaman berisi shortcode, plugin bisa membuat halaman baru dengan judul default dan konten shortcode.
Alur shortcode:
- Pengunjung mengisi Order Number (dan field verifikasi jika diperlukan).
- AJAX
laristurbo_wc_payment_confirm_validatememvalidasi order. - Jika valid, form upload bukti muncul (atau redirect ke URL order-pay dengan
show_payment_confirm=true).
Verification Type (shortcode)
Di bagian Payment Confirmation Shortcode, pilih Verification Type:
| Opsi | Label di admin | Field tambahan |
|---|---|---|
number |
Order Number Only | Hanya nomor order |
email |
Order Number & Billing Email | Nomor + email billing harus cocok |
phone |
Order Number & Billing Phone | Nomor + telepon billing (dinormalisasi format) |
Default saat aktivasi: Order Number Only (number).
Verifikasi mencegah upload bukti ke order orang lain saat form dipublikasikan tanpa key order.
Field form upload
Setelah order valid, pengguna mengisi:
| Field | Keterangan |
|---|---|
| Bukti pembayaran | File wajib: .jpg, .jpeg, .png, .pdf |
| Metode pembayaran | Teks; di URL per-order terisi otomatis dari payment_method_title |
| Jumlah pembayaran | Angka; di URL per-order terisi otomatis dari order total |
| Tanggal pembayaran | Date picker; default hari ini |
Max File Size di Settings (default 500 KB) membatasi ukuran upload. File disimpan di wp-content/uploads/payment-proof/ dengan nama {order_id}-{order_key}.{ext}.
Meta order yang disimpan: _lt_paymentconfirm_proof, _lt_paymentconfirm_method, _lt_paymentconfirm_amount, _lt_paymentconfirm_date.
Excluded Order Statuses
Excluded Order Statuses menentukan status yang tidak perlu upload bukti (default: Processing dan Completed). Order dengan status ini mendapat pesan pengecualian, bukan form.
Order yang sudah punya bukti (_lt_paymentconfirm_proof) menampilkan pesan “sudah diupload”.
Tombol di frontend WooCommerce
| Lokasi | Setting | Default placeholder |
|---|---|---|
| Thank you & View order | Button Text in the Thank You & Order View pages | Teks tombol panjang |
| Daftar order My Account | Button Text in the Order List | Teks tombol pendek |
Tombol tidak muncul untuk:
- Order berstatus dikecualikan.
- Metode pembayaran COD (
cod).
Di thank you BACS, tombol juga bisa disisipkan lewat hook laristurbo_wc_thankyou_bacs_content (setelah konten BACS Thank You Optimizer).
Notifikasi admin
Setelah upload sukses:
- Order note ditambahkan (method, amount, date).
- Email ke alamat Send Payment Confirmation Email to (kosong =
admin_email).
Admin: metabox dan kolom
- Metabox LarisTurbo - Payment Confirmation di sisi order (classic + HPOS).
- Kolom Payment Proof di daftar order: link ekstensi file jika sudah upload.
Custom Title
Custom Title mengganti judul halaman saat show_payment_confirm=true (filter the_title, document_title_parts, woocommerce_endpoint_order-pay_title).
Langkah menyiapkan halaman publik
- Aktifkan Enable Payment Confirmation.
- Buat halaman baru, misalnya “Konfirmasi Pembayaran”.
- Sisipkan
[laristurbo_wc_payment_confirm]. - Publikasikan; tambahkan link di menu/footer atau di email BACS.
- Atur Verification Type sesuai kebijakan toko (email lebih ketat dari nomor saja).
- Sesuaikan Max File Size jika pelanggan sering upload foto resolusi tinggi.
Troubleshooting
“Order not found” di shortcode
- Nomor order salah atau format dengan
#(plugin memangkas#di depan). - Verifikasi email/telepon tidak cocok dengan billing order.
Form tidak muncul di order-pay
- Pastikan
keydi URL valid dan cocok dengan order. - Parameter
show_payment_confirm=trueharus ada.
Tombol tidak ada di My Account
- Status order sudah Processing/Completed (dikecualikan).
- Metode COD (sengaja diabaikan).