System settings
Custom domain
Serve a Brand's checkout, invoice and payment-link pages on its own domain.
By default, a Brand's customer pages live on your installation's address, under the Brand's slug:
https://pay.example.com/your-brand/invoice/INV-7KX2M9QD4AWith a custom domain, the same pages are served on the Brand's own domain instead:
https://pay.yourbrand.com/invoice/INV-7KX2M9QD4AEach Brand can have one custom domain. It's set in System Settings → Domain while you're in that Brand.
What moves to the custom domain
| Moves | Stays on your installation's address |
|---|---|
| Checkout pages | The admin panel |
| Invoice pages | The API |
| Payment-link pages, including the default link | Payment-provider callbacks (IPN/webhook) |
| Gateway payment and status pages |
Callback addresses registered with your payment providers never change, so you don't need to update anything at the provider. The admin panel and API don't answer on the custom domain at all, and the domain's home page shows "not found".
Set up a custom domain
Point the domain at your server
At your DNS provider, add a record for the domain:
- a CNAME record pointing at your installation's address, such as
pay.example.com; or - an A record pointing at your server's IP address.
Use a subdomain you control, such as pay.yourbrand.com. It can't be an IP address or your installation's own address.
Save the domain
In System Settings → Domain, enter the domain and click Save domain. Its status becomes Pending: links keep using the default addresses until it's verified.
Make sure HTTPS works
The domain must reach Paybob over HTTPS before it can be verified:
- Installed with the built-in proxy (the standard Docker install): nothing to do. Paybob gets a certificate for the domain automatically, as soon as its DNS points at your server. It only does this for domains saved on an active Brand.
- Behind Cloudflare: set the record to Proxied, and in Cloudflare → SSL/TLS → Overview choose Full, or Full (strict) if your server has its own certificate for the domain.
- With your own proxy or web server: add the domain to the site that serves Paybob (an alias,
server_nameorServerAlias) with a valid certificate.
Verify
DNS changes usually take a few minutes. Then click Verify. Paybob checks that the domain reaches it over HTTPS. When it succeeds, the status becomes Active and every new link uses the custom domain.
The page shows the current Status and what customer links currently look like.
Old links keep working
Links you sent before the domain was active, on the default address, redirect customers to the custom domain. Gateway payment pages already in progress keep working on their original address.
Removing the domain
Click Remove domain. Links switch back to the default addresses straight away. If the domain's DNS still points at your server, visitors to it are redirected to the default address.
When a Brand is suspended
A suspended Brand's domain stops serving pages until the Brand is activated again. See Brands.
Permissions
Viewing the Domain page and changing the domain each have their own permission. See Staff and roles.