Panduan

Penagihan SaaS WordPress: Memilih Antara Polar, WooCommerce, dan Penyedia Lainnya

Tim GrabWP
· 6 min read · Direview oleh Tim GrabWP

Penagihan adalah di mana SaaS WordPress berhenti menjadi demo dan mulai menjadi bisnis. Dalam Website-as-a-Service (WaaS) yang dibangun di atas GrabWP Tenancy, pengunjung mendaftar, membayar, dan mendapatkan situs tenant yang diprovisikan tanpa Anda menyentuh apa pun. Pertanyaannya bukanlah apakah Anda memerlukan penagihan, melainkan penyedia mana yang sesuai dengan pasar Anda. Panduan ini membahas apa yang harus dilakukan oleh penagihan, lalu membandingkan Polar.sh, WooCommerce, dan adaptor regional sehingga Anda dapat memilih tanpa membuat diri Anda terjebak.

Apa yang harus dilakukan penagihan dalam WaaS mandiri

Konfigurasi penyedia penagihan dalam pengaturan WaaS GrabWP

Alur intinya singkat untuk dijelaskan dan tidak boleh ada kesalahan: daftar, bayar, provisikan. Calon pelanggan memilih paket, menyelesaikan pembayaran, dan sistem membuat situs tenant mereka yang terisolasi secara otomatis. Tidak ada langkah manual, tidak ada tiket dukungan, tidak ada waktu tunggu.

Agar hal tersebut dapat diandalkan, tiga hal harus dipertahankan. Pertama, provisi harus idempoten. GrabWP menyelesaikan provisi melalui webhook pada event payment.received, sehingga webhook yang dicoba ulang atau diduplikasi tidak membuat tenant kedua atau logika tagihan ganda. Kedua, paket berbayar yang dipilih pelanggan harus dipetakan dengan rapi ke penyedia mana pun yang benar-benar memproses uang tersebut. Ketiga, seluruh sistem harus terus berjalan setelah penjualan pertama: perpanjangan, kedaluwarsa, pembatalan, dan kartu yang gagal adalah cuaca biasa dalam bisnis langganan, bukan kasus khusus.

GrabWP memperlakukan penagihan sebagai registri pluggable daripada gateway tunggal yang di-hardcode. Itulah keputusan desain yang memungkinkan sisa artikel ini: Anda memilih penyedia per paket, dan registri menangani integrasinya.

Polar.sh: Hosted atau embedded checkout untuk SaaS global

Polar.sh adalah pilihan bawaan untuk langganan SaaS global. Ini memberi Anda hosted checkout yang berada di sisi Polar, atau embedded checkout yang Anda masukkan ke dalam alur pendaftaran Anda sendiri, tergantung pada seberapa banyak pengalaman yang ingin Anda pertahankan di domain Anda.

Polar cocok jika pelanggan Anda berskala internasional, membayar dengan kartu, dan mengharapkan checkout langganan modern. Anda membuat produk di Polar, lalu memetakan paket berbayar GrabWP Anda ke Product ID Polar tersebut. Saat pelanggan melakukan checkout, Polar menangani pembayaran dan memicu webhook yang menggerakkan provisi. Karena penyelesaian provisi bersifat idempoten, situs tenant dibuat tepat satu kali meskipun Polar mencoba ulang notifikasinya.

Opsi yang di-host adalah jalur tercepat untuk berjualan: lebih sedikit yang harus dibangun, lebih sedikit yang harus dipelihara, dan permukaan pembayaran bukanlah masalah Anda. Opsi yang disematkan menukar sedikit pengaturan untuk pendaftaran yang lebih mulus di situs Anda sendiri. Keduanya memberi makan alur provisi yang sama.

WooCommerce: Penagihan self-hosted dengan harga paket dinamis

Jika Anda sudah menjalankan WooCommerce, atau Anda ingin mempertahankan penagihan sepenuhnya di infrastruktur Anda sendiri, adaptor WooCommerce menangani penagihan langganan self-hosted. Keuntungannya di sini adalah kontrol dan harga paket dinamis: harga Anda berada di toko Anda, di bawah aturan Anda, dengan logika pajak dan kupon Anda.

Ini cocok untuk operator yang menginginkan checkout, invoicing, dan catatan pelanggan di dalam WordPress daripada di dasbor pihak ketiga. Paket WooCommerce tidak memerlukan Product ID Polar sama sekali, karena adaptor WooCommerce memvalidasi pemetaannya sendiri. Anda mengonfigurasi paket terhadap toko Anda, dan saat checkout, adaptor mengonfirmasi bahwa tautan tersebut valid sebelum mengambil pembayaran.

WooCommerce meminta lebih banyak dari Anda secara operasional. Anda memegang kunci gateway pembayaran, pembaruan plugin, dan pemeliharaan toko. Sebagai gantinya, Anda menyimpan alur uang dan data pelanggan di pihak Anda, sesuatu yang sangat disukai oleh beberapa bisnis dan beberapa yurisdiksi.

Penyedia regional dan alternatif melalui registri adaptor

Pemroses kartu global tidak mencakup setiap pasar. Banyak pelanggan membayar melalui transfer bank lokal, dan checkout yang mengabaikan hal itu akan kehilangan pendapatan nyata. Di sinilah registri adaptor membuktikan nilainya.

SePay hadir sebagai plugin adaptor terpisah, bukan sebagai kode inti. Ini menangani transfer bank Vietnam melalui VietQR dan terhubung ke registri penagihan yang sama dengan yang digunakan Polar dan WooCommerce. Menginstalnya akan menambahkan opsi penyedia tanpa mengubah cara kerja paket atau provisi. Pelanggan memindai kode QR, membayar dari aplikasi perbankan mereka, dan pembayaran yang dikonfirmasi mendorong alur provisi yang sama.

Bagian yang penting adalah polanya, bukan contoh tunggalnya. Karena penagihan berbasis adaptor, penyedia baru dapat ditambahkan dengan cara yang sama. Adaptor penagihan Stripe sedang dalam pengembangan, dan arsitekturnya dibangun sedemikian rupa sehingga pemroses tambahan dapat mendaftar tanpa menulis ulang checkout atau alur provisi. Anda tidak terkunci pada penyedia yang kebetulan tersedia saat ini.

Adaptor juga menerima konteks mitra selama checkout provisi. Sistem mitra mendukung kunci API dan atribusi dalam lingkup mitra (partner-scoped), sehingga reseller atau afiliasi dapat dilacak melalui langkah pembayaran daripada digabungkan setelahnya.

Memetakan paket ke penyedia

Memetakan paket langganan ke penyedia penagihan di WaaS GrabWP

Kendala lama adalah bahwa paket berbayar secara efektif terikat pada Polar. Hal itu tidak lagi benar, dan perubahan tersebut penting bagi siapa saja yang berjualan di berbagai pasar.

Membuat atau mengedit paket berbayar tidak memerlukan Product ID Polar. Anda hanya memasukkan Product ID saat Anda berniat menjual paket tersebut melalui Polar. Untuk WooCommerce, SePay, atau adaptor lainnya, Anda mengosongkannya dan mengonfigurasi pemetaan milik penyedia itu sendiri sebagai gantinya. Paket adalah paket, penyedia adalah keputusan yang terpisah.

Validasi terjadi per adaptor, saat checkout, bukan saat pembuatan paket. Setiap adaptor penagihan memeriksa pemetaannya sendiri ketika pelanggan mencoba untuk membeli. Jadi, paket berbayar yang salah dipetakan akan gagal secara bersih saat pembelian, pada satu penyedia tersebut, alih-alih menghalangi Anda untuk membuat atau mengedit paket sejak awal. Anda dapat membangun katalog paket lengkap Anda, menghubungkan penyedia secara bertahap, dan menemukan pemetaan yang buruk pada saat dan tempat yang tepat ketika itu penting, alih-alih melalui kesalahan global.

Secara praktis, itu berarti Anda dapat menawarkan paket Pro yang sama seharga $9.99/month melalui Polar untuk pelanggan internasional dan melalui SePay untuk transfer bank lokal, masing-masing dengan pemetaan yang divalidasi sendiri, tanpa menduplikasi paket.

Siklus hidup langganan: Kedaluwarsa, pembatalan, dan kegagalan pembayaran

Penjualan adalah permulaan, bukan akhir. GrabWP mencakup manajemen siklus hidup langganan yang menangani berbagai event yang benar-benar menjaga SaaS beroperasi dengan baik: kedaluwarsa, pembatalan, dan kegagalan pembayaran, didukung oleh riwayat per tindakan dan log audit sehingga Anda dapat melihat apa yang terjadi dan kapan.

Kedaluwarsa dan backfill ditangani sebagai tindakan kelas satu, bukan pengeditan database manual. Saat langganan berakhir, sistem akan mengetahuinya. Notifikasi email mencakup pesan kegagalan pembayaran dan pembatalan langganan, sehingga pelanggan yang kartunya ditolak akan diberi tahu, dan operator yang mengawasi akun tidak perlu menebak-nebak. Pembatalan adalah tindakan eksplisit dengan catatannya sendiri daripada perubahan status yang senyap.

Karena provisi bersifat idempoten dan didorong oleh webhook, siklus hidup tetap konsisten meskipun penyedia mencoba ulang event. Log audit memberi Anda jejak untuk menjawab pertanyaan dukungan dan merekonsiliasi dengan catatan penyedia itu sendiri.

Memilih tanpa penyesalan

Pilih Polar untuk langganan SaaS global berbasis kartu yang cepat dengan checkout yang di-host atau disematkan. Pilih WooCommerce saat Anda menginginkan kontrol self-hosted dan harga dinamis di dalam WordPress. Tambahkan SePay atau adaptor regional lainnya saat pelanggan Anda membayar secara lokal. Karena paket dipisahkan dari penyedia dan setiap adaptor memvalidasi dirinya sendiri saat checkout, tidak satu pun dari pilihan ini yang permanen, dan Anda dapat menjalankan beberapa sekaligus.

GrabWP Tenancy saat ini berada dalam tahap guided beta, jadi kami lebih memilih untuk menetapkan ekspektasi yang jujur daripada memberikan janji berlebihan. Registri penagihan, adaptor Polar dan WooCommerce bawaan, plugin SePay, dan alat siklus hidup sudah dapat digunakan hari ini, sementara adaptor Stripe sedang dikembangkan.

Jika Anda merencanakan sisi bisnis SaaS WordPress, mulailah dengan alur, bukan gateway. Lihat bagaimana proses pendaftaran hingga provisi saling melengkapi dalam panduan kami tentang cara membangun SaaS WordPress tanpa kode, dapatkan plugin GrabWP Tenancy gratis, dan saat Anda siap berjualan, jelajahi platform WaaS lengkap.

Pertanyaan yang sering diajukan

Apakah saya harus menggunakan Polar untuk menjual paket berbayar di WaaS WordPress?
Tidak. Paket tidak lagi terikat pada Polar. Membuat atau mengedit paket berbayar tidak memerlukan Product ID Polar. Anda hanya memasukkan Product ID saat Anda menjual paket spesifik tersebut melalui Polar, dan Anda mengosongkannya untuk WooCommerce, SePay, atau adaptor lainnya. Setiap adaptor penagihan memvalidasi pemetaannya sendiri saat checkout.
Bagaimana GrabWP menangani pembayaran yang gagal atau langganan yang dibatalkan?
Manajemen siklus hidup langganan mencakup kedaluwarsa, pembatalan, dan kegagalan pembayaran dengan log audit penuh dan riwayat per tindakan. Notifikasi email mencakup pesan kegagalan pembayaran dan pembatalan langganan, sehingga tenant dan operator sama-sama mengetahui status akun saat ini.
Bisakah saya menambahkan penyedia pembayaran yang tidak bawaan, seperti transfer bank regional?
Ya. Lapisan penagihan adalah registri pluggable. SePay hadir sebagai plugin adaptor terpisah untuk transfer bank Vietnam melalui VietQR, dan desain berbasis adaptor berarti penyedia baru dapat terhubung ke registri yang sama. Adaptor Stripe sedang dalam pengembangan.

Editorial standards: Our content is written by WordPress experts with hands-on multi-tenancy experience. Articles are fact-checked and regularly updated to ensure accuracy.