TransX402 Docs
Integrasi

Plugin WordPress

Panduan lengkap plugin WordPress TransX402 — pasang paywall IDRX di situs WordPress tanpa coding.

Ringkasan

Plugin TransX402 untuk WordPress memungkinkan pemilik situs memonetisasi konten dengan pembayaran mikro IDRX — tanpa perlu menulis kode. Cukup pasang plugin, masukkan API key, tentukan harga dalam IDR, dan aktifkan paywall pada post atau page yang diinginkan.

Plugin ini merupakan yang pertama di ekosistem x402 — belum ada plugin WordPress x402 lain yang tersedia.

Persyaratan

  • WordPress 6.0+
  • PHP 8.0+
  • Akun TransX402 dengan API key (daftar di dashboard.transx402.com)

Instalasi

Dari WordPress Admin

  1. Buka Plugins > Add New di admin WordPress
  2. Cari "TransX402 Paywall"
  3. Klik Install lalu Activate

Upload Manual

  1. Download file ZIP plugin dari GitHub releases
  2. Buka Plugins > Add New > Upload Plugin
  3. Pilih file ZIP dan klik Install Now
  4. Aktifkan plugin

Konfigurasi

Settings Utama

Buka Settings > TransX402 di admin WordPress:

SettingDeskripsi
API KeyAPI key TransX402 (ipk_sandbox_... atau ipk_live_...)
Default Price (IDR)Harga default untuk konten yang di-paywall (contoh: 5000)
Preview LengthParagraf pertama / 200 kata pertama / Excerpt custom
Paywall StyleOverlay / Inline / Blur
Custom MessagePesan kustom pada paywall
Enable forPost / Page / Custom post types

Catatan: Alamat wallet, jaringan, dan URL fasilitator dikonfigurasi di dashboard TransX402 — plugin hanya membutuhkan API key. Ini menjaga setup WordPress tetap minimal.

Konfigurasi per Post/Page

Di sidebar editor post/page, Anda akan melihat metabox TransX402:

SettingDeskripsi
Enable PaywallToggle untuk mengaktifkan paywall pada konten ini
Price (IDR)Override harga default (opsional)
Preview ContentTeks preview kustom (opsional)

Cara Kerja

Untuk Pengunjung (Frontend)

  1. Pengunjung membuka artikel yang di-paywall
  2. Melihat preview artikel (paragraf pertama atau excerpt) beserta overlay paywall
  3. Klik "Pay with IDRX"
  4. Hubungkan wallet (MetaMask, Coinbase Wallet, dll.)
  5. Pertama kali saja: setujui Permit2 untuk IDRX (satu kali, dijelaskan dengan jelas)
  6. Tanda tangani otorisasi pembayaran (gasless, tidak perlu ETH)
  7. Artikel terbuka langsung
  8. Kunjungan ulang ke artikel yang sama gratis (pembayaran diingat di localStorage dan diverifikasi on-chain)

Gating Konten

Plugin menggunakan filter the_content WordPress:

// Konten lengkap TIDAK PERNAH dikirim ke browser untuk post yang di-paywall
// PHP memotong konten pada batas preview dan menyisipkan overlay paywall
// Setelah pembayaran, library JS mengambil konten lengkap via REST API

Ini berarti konten premium Anda aman — tidak bisa diakses dengan mematikan JavaScript atau melihat source HTML.

Gaya Paywall

Overlay (Default)

Konten di-blur di belakang kartu pembayaran yang terpusat. Ini adalah pilihan paling populer.

Inline

Kartu paywall muncul secara inline setelah konten preview. Cocok untuk layout yang membutuhkan tampilan yang lebih menyatu dengan konten.

Blur

Seluruh konten terlihat tetapi di-blur, dengan tombol pembayaran mengambang. Memberikan kesan "teaser" yang kuat.

REST API WordPress

Plugin mendaftarkan beberapa endpoint REST API WordPress:

GET /wp-json/transx402/v1/content/:postId

Mengembalikan konten lengkap post setelah verifikasi pembayaran.

Header yang diperlukan:

X-TransX402-TxHash: 0x...
X-TransX402-Payer: 0xAlamatPembayar

Alur verifikasi:

  1. Cek hash transaksi terhadap API TransX402 (/verify/:txHash)
  2. Verifikasi penerima pembayaran cocok dengan wallet merchant
  3. Verifikasi jumlah pembayaran cocok dengan harga post
  4. Kembalikan konten lengkap

GET /wp-json/transx402/v1/config

Mengembalikan konfigurasi TransX402 untuk library JS:

{
  "apiKey": "ipk_live_...",
  "defaultPrice": 5000,
  "currency": "IDR"
}

GET /wp-json/transx402/v1/post/:postId/requirements

Mengembalikan persyaratan pembayaran untuk post tertentu (format x402):

{
  "scheme": "permit2",
  "network": "base",
  "token": "0x18Bc5bcC660cf2B9cE3cd51a404aFe1a0cBD3C22",
  "maxAmountRequired": "5000000000000000000000",
  "resource": "https://example.com/wp-json/transx402/v1/content/123",
  "description": "Artikel: Cara Membangun di Base"
}

Verifikasi Pembayaran dan Akses

Setelah pembayaran, akses pembaca disimpan di dua tempat:

  1. Browser localStoragetransx402_paid_{postId} = hash transaksi (instan, tanpa round-trip server saat kunjungan ulang)
  2. Verifikasi server-side — Saat mengambil konten, hash transaksi diverifikasi terhadap blockchain/API fasilitator

Artinya:

  • Kunjungan ulang berjalan instan (cek localStorage)
  • Membersihkan data browser memerlukan re-verifikasi (tetapi pembayaran masih tercatat on-chain, sehingga alur "restore purchases" dimungkinkan)
  • Perangkat berbeda memerlukan wallet yang sama untuk menandatangani pesan verifikasi gratis

Kompatibilitas

KomponenDukungan
WordPress6.0+
PHP8.0+
EditorGutenberg, Classic Editor
TemaAstra, GeneratePress, OceanWP, dan tema populer lainnya
WooCommerceTidak diperlukan, tetapi kompatibel
Plugin cachingWP Super Cache, W3 Total Cache (paywall overlay di-render JS, konten diambil via API)
SEOKonten preview dapat diindeks mesin pencari. Konten lengkap di balik API call.

Testing dengan Sandbox

  1. Masukkan API key sandbox (ipk_sandbox_...) di settings plugin
  2. Plugin otomatis terhubung ke environment sandbox
  3. Lakukan pembayaran test menggunakan IDRX test (gratis)
  4. Setelah puas, ganti ke API key production (ipk_live_...)

Tidak perlu mengubah konfigurasi lain — cukup ganti API key.

Keamanan

  • Konten lengkap tidak pernah ada di HTML awal — diambil via REST API setelah verifikasi pembayaran
  • Verifikasi pembayaran terjadi di server-side (PHP memanggil API fasilitator)
  • Validasi alamat wallet pada saat menyimpan settings admin
  • Proteksi nonce pada form admin
  • Endpoint REST API menggunakan WordPress nonce + verifikasi pembayaran
  • Tidak ada data sensitif yang disimpan di database WordPress (tanpa private key, tanpa tanda tangan pembayaran)