Beberapa waktu lalu saya dapat proyek yang cukup menarik. Ada website CPA Publisher (cpapublisher.com), sebuah platform konten untuk para akuntan publik di Amerika, yang ingin menambahkan sistem membership berbayar. Modelnya seperti New York Times: artikel bisa dilihat sebagian, tapi untuk baca penuh harus berlangganan dulu.
Ini cerita bagaimana proyeknya berjalan, dari awal review sampai live.
Awalnya Dari Permintaan Sederhana
Permintaan dari client cukup jelas:
- Artikel harus bisa di-gated (hanya member yang bisa baca penuh)
- User harus registrasi dan bayar untuk akses
- Ada pilihan one-time payment atau subscription
Client pakai lisensi berbayar (Standard) untuk mendapatkan akses fitur lengkap dan support resmi dari tim PMP.
Plugin yang Dipilih: Paid Memberships Pro
Setelah review beberapa opsi, pilihan jatuh ke Paid Memberships Pro (PMP). Alasannya sederhana: fiturnya lengkap untuk kebutuhan client, integrasinya dengan WordPress dan Stripe solid, dan ada support resmi yang bisa dihubungi kalau ada masalah. Client menggunakan lisensi Standard berbayar.
PMP punya beberapa tipe membership level yang bisa dipilih saat setup:
- Free: tidak perlu bayar, tidak ada kedaluwarsa
- One Time: bayar sekali di awal, ada masa berlaku
- Monthly / Annual: subscription berulang, tagih otomatis sampai user cancel
- Lifetime: bayar sekali, tidak pernah kedaluwarsa
- Trial: gratis dulu satu periode, lalu mulai tagih secara rutin
Untuk kasus ini, client akhirnya pilih membership berbayar dengan integrasi Stripe.
Setup Gated Content
Bagian ini yang paling inti. Di PMP, untuk membuat konten jadi gated ada dua cara:
Cara 1: Per kategori. Di pengaturan membership level, ada opsi untuk proteksi berdasarkan kategori post. Semua artikel di kategori itu otomatis jadi gated.
Cara 2: Per artikel. Di setiap post editor, ada metabox “Require Membership”. Tinggal dicentang.
Ada satu hal yang sempat bikin bingung di awal: beberapa artikel tetap bisa diakses publik meskipun sudah diset gated. Ternyata penyebabnya adalah checkbox “Require Membership” di post editor belum dicentang. Setelah dicek satu per satu dan diaktifkan, barulah protection-nya jalan.
Pop-up Membership: Bukan Fitur Bawaan
Client minta tampilannya seperti NYT: artikel tetap kelihatan sebagian, lalu ada pop-up yang muncul minta user untuk subscribe. Ini tidak ada di fitur default PMP.
Solusinya: buat manual, nanti saya akan bahas cara lengkapnya.
Di pengaturan tiap blok di Gutenberg, ada opsi Content Visibility dari PMP. Di situlah pengaturan show/hide per blok dilakukan. Hasilnya: pengunjung bisa baca preview, lalu pop-up muncul minta mereka join.
Stripe Payment: Test Mode Dulu
Saat setup di staging, payment belum konek ke Stripe production. PMP punya mode test bawaan. Untuk coba checkout, cukup pakai nomor kartu test Stripe:
Visa: 4242 4242 4242 4242
Expired: tanggal apa saja di masa depan (misal 12/34)
CVV: 3 digit apa saja
Setelah flow payment berhasil di test mode, baru Stripe production key dikoneksikan di live site.
Pelajaran dari Proyek Ini
PMP adalah pilihan yang solid untuk kebutuhan membership berbayar. Dengan lisensi Standard, semua kebutuhan dasar sudah tertangani: gated content, checkout via Stripe, email konfirmasi, dan halaman membership. Fitur-fitur lanjutan seperti integrasi MailChimp yang lebih dalam atau gift membership juga tersedia di level lisensi yang lebih tinggi.
Setup staging dengan benar sejak awal. PMP punya dokumentasi khusus soal cara setup staging environment yang aman. Intinya: staging dan production harus punya database yang terhubung secara tepat agar perubahan kode bisa di-push tanpa menimpa data transaksi live.