Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.paybridgenp.com/llms.txt

Use this file to discover all available pages before exploring further.

By default, every PayBridgeNP checkout session opens at https://checkout.paybridgenp.com/checkout/cs_.... With a custom domain, you can route those URLs through a subdomain you control - https://pay.yourstore.com/checkout/cs_... - so your customers never leave your brand.
Custom domains are a Premium feature. Free merchants stay on checkout.paybridgenp.com.

What changes, what stays

Changes: the host portion of every checkout URL the API returns - in POST /v1/checkout responses, payment-link emails, payment-button auto-config, dashboard previews. Provider redirects after payment land back on your custom domain. Stays the same:
  • The hosted-checkout HTML, themes, PB ID flow, SMS receipts - identical experience to canonical.
  • Provider callback URLs (eSewa, Khalti, Fonepay return URLs) stay on checkout.paybridgenp.com. Each provider only knows one return URL per merchant; we redirect the customer back to your custom domain after the provider hop, so the visible URL switch is brief (about a second).
  • Your dashboard, API base URL, payment-link short URLs (/pay/lnk_...), and embed scripts stay on PayBridgeNP. Custom domains are checkout-only.

What you can use

  • Any subdomain you own (pay.yourstore.com, checkout.yourstore.com.np, pay.staging.yourstore.com).
  • One hostname per project. Multi-brand merchants can run multiple PayBridgeNP projects, each with its own domain - pay.brandA.com on project A, pay.brandB.com on project B. Sessions created with project A’s API key emit pay.brandA.com/checkout/cs_...; project B’s emit pay.brandB.com/.... Sibling projects can’t borrow each other’s domains (a session URL hand-crafted onto the wrong project’s host returns 404).

What you can’t use

  • Apex domains (yourstore.com directly). Use a subdomain.
  • paybridgenp.com and any of its subdomains.
  • An IP address.

Setting it up

1

Add the domain in the dashboard

Go to Settings → Custom domain in your dashboard. The page lists all your projects - click Add domain on the project you want to attach a domain to. Type your subdomain (pay.yourstore.com) and confirm.
2

Add two DNS records at your DNS provider

The dashboard shows two records:
TypeNameValue
CNAMEpay.yourstore.comcname.paybridgenp.com
TXT_paybridge-verify.pay.yourstore.compbv_xxxxxxxxxxxxxxxxxxxxxxxx
The CNAME routes checkout traffic to PayBridgeNP. The TXT proves you own the domain. cname.paybridgenp.com is a dedicated routing hostname, separate from the public checkout URL.
3

Click Verify DNS

PayBridgeNP looks up the TXT record. On match, the status pill flips to “Issuing certificate” while a TLS certificate is provisioned for your hostname.
4

Wait 1-5 minutes for the certificate

The status pill flips to “Active” once the cert is live. New checkout sessions immediately return URLs on your custom domain.
DNS changes can take a few minutes to propagate after you save them at your DNS provider. If verification fails, give it 2-3 minutes and click Verify DNS again.

DNS provider notes

Most DNS providers (Cloudflare, Route 53, Google Cloud DNS, GoDaddy, Namecheap) accept the records exactly as shown. A few quirks worth knowing:
  • Cloudflare proxy: If your DNS is on Cloudflare, set the CNAME to DNS only (grey cloud). The orange-cloud proxy will block PayBridgeNP from reaching your hostname.
  • TXT record name: Some providers want just the prefix (_paybridge-verify.pay) instead of the full FQDN (_paybridge-verify.pay.yourstore.com). Both are correct - use whichever your provider expects.
  • CNAME on apex: Some providers don’t allow CNAME records at the apex of a zone. That’s fine - we don’t support apex domains anyway. Always use a subdomain.

Lifecycle

Your domain moves through a small state machine:
StatusMeaning
Awaiting DNSThe TXT record hasn’t been verified yet. Click Verify DNS after you’ve added it.
Issuing certificateTXT verified; a TLS certificate is being provisioned. Usually 1-5 minutes.
ActiveLive. New checkout URLs use your custom domain.
ErrorSomething failed (cert issuance blocked, hostname revoked upstream). The dashboard shows the underlying error. Remove the domain to start over.
The dashboard auto-checks pending domains; you can also click Refresh status to force a re-poll.

Removing a custom domain

Click Remove in the dashboard. New checkout sessions immediately switch back to checkout.paybridgenp.com. Sessions already issued on the custom domain keep working until they expire (about 30 minutes), then the URL stops resolving.

What about my existing CNAME?

Once your domain is active, leave the CNAME in place forever. Removing it stops traffic the next time DNS caches clear. The TXT record can be removed after activation (we only check it during verification), but most merchants leave both in place.

Plan changes

Custom domains are bundled with Premium. If you downgrade to Free:
  • Your custom domain is removed from PayBridgeNP within seconds (eager revoke).
  • New checkout URLs go back to checkout.paybridgenp.com.
  • The custom hostname is removed, so https://pay.yourstore.com stops resolving shortly after.
You can re-add the same hostname after upgrading back to Premium - DNS is preserved, you just verify again.

FAQ

Not in v1. We require a subdomain (pay.yourstore.com, checkout.yourstore.com).
Briefly - about one second during the provider redirect. After the provider (eSewa, Khalti, Fonepay) processes the payment, they redirect to checkout.paybridgenp.com/v1/callbacks/..., and our API immediately redirects the customer back to https://pay.yourstore.com/checkout/cs_xxx/.... The flash is unavoidable while the same merchant has one provider return URL on file.
Custom domains are checkout-only in v1. Your dashboard stays on dashboard.paybridgenp.com, the API on api.paybridgenp.com. Email “from” addresses are handled separately - see email branding for those settings.
The success page renders on your custom domain too. Same for failed, cancelled, and expired sessions. Provider callbacks always come back to canonical, but the customer-facing render is on your domain throughout.
No. Custom domains are included in Premium.
Check three things:
  1. The TXT record value matches exactly - copy it from the dashboard, no extra quotes.
  2. If you’re on Cloudflare, the CNAME and TXT records are set to DNS only (grey cloud), not proxied.
  3. Give it 2-3 minutes. DNS changes can take time to propagate, especially for first-time records.
If it still fails, the error toast will tell you exactly what we saw - either no TXT record found, or a TXT record with a different value.
Hosted checkout pages, success pages, failed pages, cancelled pages, and expired-session pages render on your custom domain. Your dashboard and API traffic stay on PayBridgeNP domains.
  • Payment Buttons - embeddable checkout widgets that pick up your custom domain automatically.
  • Payment Links - share a one-off pay URL; the destination renders on your custom domain.
  • PayBridgeNP ID - one-tap autofill for returning buyers, works seamlessly across canonical and custom-domain checkouts.