Sell and manage Porkbun domains from WHMCS: registration, DNS records, nameservers, glue records and expiry sync, on the Porkbun API v3.
Porkbun publishes an API but no WHMCS module. This one connects the two, so a
customer orders a domain on your site and it is registered on your Porkbun
account, without you opening the Porkbun dashboard for every order.
It covers what the Porkbun API covers: registration, availability, expiry
sync, nameservers, DNS records, glue records and TLD pricing. Five operations
have no endpoint at Porkbun at all. The module names them in plain words instead
of failing quietly, and they are listed on this page, before you buy.
The only thing that leaves your server is a licence check, which carries your
licence key, your WHMCS address and the module version. Nothing about your
customers or their domains.
An order is placed, the module calls Porkbun, the domain lands on your
Porkbun account and WHMCS records it. Registration is charged against your
Porkbun account balance: Porkbun bills the account and not the API call, so that
balance needs to hold.
Availability checks run inside the Porkbun limit of one lookup every ten
seconds. Past that budget the module reports the answer as unknown, never as
“not offered”. A rate limit is not a verdict on a domain, and a customer should
not be told a name is taken because a counter was full.
WHMCS edits A, AAAA, CNAME, MX and TXT records. Everything else already in
the zone, CAA, ALIAS, SRV, TLSA and subdomain NS records, is read, kept and
written back with its TTL untouched.
This matters because WHMCS sends the whole record set on every save. A module
that only understood the five types WHMCS knows would drop a CAA record the
first time a customer edited an A record, and nobody would notice until a
certificate authority refused to issue.
The sync reads the real expiry date from Porkbun, so WHMCS stops inferring it
from its own renewal maths. It needs API access enabled per domain in the
Porkbun dashboard. A domain without it is reported as exactly that, rather than
being marked expired on a failed read.
Nameservers are read and written, up to the five Porkbun accepts. Glue
records can be created, modified and deleted, with one IP address per
nameserver, which is what the Porkbun endpoint takes.
Pull the Porkbun price list into WHMCS and apply the margin you set. Porkbun
publishes a one-year price per TLD, so that is the figure the import carries.
Multi-year rows are not invented from it.
modules/registrars/porkbun and activateThe licence is verified with a public-key signature. The module carries the
public key only, which can check a reply but cannot produce one: the key that
signs never leaves our server. If our server is unreachable, the module opens a
grace window and keeps working. Only a reply that is present and wrong is
refused.
No, and no module can. The Porkbun API has no transfer endpoint. This one
returns a message pointing at the Porkbun dashboard instead of reporting a
success that never happened.
No. Porkbun exposes no renewal endpoint. Renewals are handled by auto-renew
in the Porkbun dashboard. WHMCS still invoices your customer on your schedule,
but the renewal itself happens at Porkbun.
None of the three can be changed through the Porkbun API. The auth code is
retrieved from the Porkbun dashboard. The lock reports as locked and cannot be
switched. WHOIS privacy is free at Porkbun and on by default, with no way to
turn it off through the API.
Not through this module. Porkbun has no endpoint for editing contact details.
The module says so rather than accepting the form and discarding it.
No. It is an unofficial module maintained by LaFactory, built on the public
Porkbun API. Porkbun neither endorses nor supports it.
Through your licence key. A new version is announced to the copy you
installed and downloaded with that same key. The version on sale today is
1.6.2.
No reviews yet.
Log in to review this product.
| Version | 1.6.2 |
|---|---|
| Requires | WHMCS 8.x or 9.x, PHP 7.4 and above |
| API | Porkbun API v3, key and secret key |
| Registration | Yes, charged against your Porkbun account balance |
| Availability check | Yes, one lookup every ten seconds. Past that budget the answer is reported as unknown |
| Expiry sync | Yes, requires API access enabled per domain at Porkbun |
| Nameservers | Read and write, up to the five Porkbun accepts |
| DNS records | WHMCS edits A, AAAA, CNAME, MX and TXT. CAA, ALIAS, SRV, TLSA and subdomain NS are preserved with their TTL |
| Glue records | Create, modify and delete, one IP address per nameserver |
| TLD pricing import | Yes, one-year price, with the margin you set |
| Transfer | No endpoint in the Porkbun API. Start it from the Porkbun dashboard |
| Renewal | No endpoint in the Porkbun API. Use auto-renew at Porkbun |
| EPP code | No endpoint in the Porkbun API. Retrieve it from the Porkbun dashboard |
| Registrar lock | Cannot be changed through the API. Reported as locked |
| WHOIS privacy | Free and enabled by default at Porkbun. Not switchable through the API |
| Contact details | No endpoint in the Porkbun API |
| Interface | English |
| Licence | Ed25519 public-key signature, grace window when the licence server is silent |