Payments Settings: Choosing and Activating a Gateway
Every tenant sells courses through exactly one active payment gateway at a time, even though you can store credentials for both. This article walks through the Payments settings page and what "active" actually means.
Where it lives
Open Settings → Payments as an Admin. You'll see two cards, one for Stripe and one for Billplz. Stripe handles cards and wallets with a checkout that embeds directly on your site. Billplz handles Malaysian FPX online banking and cards, but the actual payment step always hands off to Billplz's own hosted bill page — that part can't be fully embedded.
Both gateways can hold saved credentials; only one is live for learner checkouts at a time.
Storing credentials vs activating
Saving a gateway's API keys and clicking Activate are two different actions. You can paste in and save Stripe credentials without making Stripe the live gateway — useful if you're testing keys before a cutover. The Activate control is separate and explicit; it's what actually switches learner checkouts from whichever gateway was active before.
Once saved, credential fields no longer show their real values. They render as masked "On file" rows with an eye icon you can click for a partial hint. See why credentials are write-only for the reasoning.
The active gateway is what every learner checkout uses until you switch it again.
What switching affects
- The /checkout page renders a different payment step depending on which gateway is active.
- Deposit + installment pricing on courses only auto-debits on Stripe today.
- Branches with their own override, if enabled, ignore the tenant-level active gateway. See per-branch payment overrides.
Notes
Switching the active gateway mid-cycle doesn't retroactively touch existing orders or installment plans — those keep charging against whatever gateway they were created under.