---
title: WHMCS
---

# WHMCS

Modul addon WHMCS resmi CaptchaLa. Menambahkan verifikasi CAPTCHA ke area klien WHMCS — login, pendaftaran, reset kata sandi, formulir kontak, pengiriman tiket, dan checkout keranjang — tanpa menulis kode apa pun.

Tidak seperti widget site-key biasa, setiap tantangan didukung oleh **token sekali pakai yang diterbitkan server** (anti-replay), dan tidak ada pelacak pihak ketiga yang dimuat.

## Cakupan

Setiap permukaan di bawah ini adalah toggle independen di pengaturan modul — aktifkan hanya yang ingin Anda lindungi.

- Login
- Pendaftaran
- Reset kata sandi
- Formulir kontak
- Pengiriman tiket
- Checkout keranjang

## Persyaratan

- WHMCS 8.x dan 9.x (diuji terhadap area klien 8.3 dan 9.0; berfungsi dengan tema `six` dan `twenty-one`, dengan atau tanpa Friendly URLs)
- PHP 8.0+ (WHMCS 9.0 sendiri membutuhkan PHP 8.2+)
- Akun CaptchaLa — dapatkan **App Key** + **App Secret** Anda di [`dash.captcha.la`](https://dash.captcha.la)

## Instalasi

### 1. Pasang modul

1. Unduh `whmcs-x.y.z.zip` terbaru dari [releases](https://github.com/Captcha-La/captchala-whmcs/releases).
2. Ekstrak ke direktori **root WHMCS** Anda. Ini menambahkan `modules/addons/captchala/`.
3. Di admin WHMCS, buka **Setup → Addon Modules**, cari **CaptchaLa**, dan klik **Activate**.

### 2. Konfigurasi

Klik **Configure**, lalu:

1. Tempel **App Key** dan **App Secret** Anda.
2. Pilih **Widget mode** dan **Theme**.
3. Aktifkan formulir yang ingin dilindungi.
4. Klik **Save Changes**.

Buka halaman **CaptchaLa** di bilah sisi admin untuk menjalankan uji koneksi langsung terhadap dasbor.

::: tip
Setelah mengaktifkan, jika widget tidak muncul, simpan ulang pengaturan modul sekali — WHMCS hanya mendaftarkan `hooks.php` modul saat modul diaktifkan/disimpan (ulang).
:::

## Konfigurasi

Semua pengaturan berada di bawah **Setup → Addon Modules → CaptchaLa → Configure**.

| Pengaturan | Tipe | Default | Deskripsi |
| --- | --- | --- | --- |
| App Key | string | — | Kunci publik dari dasbor CaptchaLa. Wajib. |
| App Secret | string | — | Rahasia server, digunakan untuk menerbitkan dan memvalidasi token. Wajib; tidak pernah diekspos ke browser. |
| Widget mode | enum | `popup` | `popup` (bilah pemicu → tantangan layar penuh), `float` (panel inline), `embed` (kotak centang inline), `bind` (tak terlihat, mencegat submit). |
| Theme | enum | `default` | Preset warna: `default`, `dark`, `slate`, `emerald`, `amber`, `rose`. |
| Language | string | `auto` | Kode BCP-47 (mis. `en`, `zh`, `de`) atau `auto` untuk mengikuti browser. |
| Protect login | bool | on | Tantangan pada login area klien. |
| Protect registration | bool | on | Tantangan pada pendaftaran akun baru. |
| Protect password reset | bool | on | Tantangan pada formulir reset kata sandi. |
| Protect contact form | bool | off | Tantangan pada formulir kontak. |
| Protect ticket submission | bool | off | Tantangan pada langkah akhir pengiriman tiket. |
| Protect cart checkout | bool | off | Tantangan pada checkout keranjang. |
| Skip for logged-in users | bool | on | Jangan tantang pengunjung yang sudah memiliki sesi klien. |
| Failure message | string | — | Pesan yang ditampilkan saat verifikasi gagal. |

## Cara kerjanya

Pada setiap halaman formulir yang dilindungi, modul menerbitkan **token server (`sct_`)** baru dari dasbor, dilingkup ke action formulir tersebut, dan merender widget yang terikat padanya. Setelah pengunjung menyelesaikan tantangan, SDK menulis **token lulus sekali pakai (`pt_`)** ke dalam formulir. Saat submit, modul memvalidasi `pt_` itu di sisi server sebelum WHMCS memproses formulir; pengulangan dan ketidakcocokan action ditolak.

Jika dasbor sementara tidak dapat dijangkau, modul **fails open** (membiarkan pengiriman lolos) sehingga area klien Anda tidak pernah terkunci akibat gangguan hulu.

## FAQ

**Apakah modul ini gratis?**

Ya. Modul ini gratis. Paket gratis CaptchaLa mencakup 10.000 verifikasi per bulan — paket berbayar hanya berlaku jika Anda butuh volume lebih besar.

**Apakah berfungsi di WHMCS 8 dan 9?**

Ya — diuji pada area klien 8.3 dan 9.0, dengan tema `six` dan `twenty-one`, dengan atau tanpa Friendly URLs.

**Widget tidak muncul.**

Simpan ulang pengaturan modul sekali (Configure → Save Changes). WHMCS hanya mendaftarkan `hooks.php` saat modul diaktifkan/disimpan (ulang).

## Sumber

- Repositori modul: [`github.com/Captcha-La/captchala-whmcs`](https://github.com/Captcha-La/captchala-whmcs)
- Isu / permintaan fitur: diajukan ke repositori di atas
- Terkait: [Web SDK](/id/web-sdk) · [PHP Server SDK](/id/sdk/server-php) · [Referensi API](/id/api-reference)
