Set up the customer portal¶
No portal ships pre-built — you build it
ChargeOn ships the components a customer would use to pay, save a card and manage a subscription — it does not ship a working Experience Cloud site with those components already placed on it. You build (or already have) your own Experience Cloud site, and this page is how you add ChargeOn to it. If you were expecting to switch something on and find a finished customer portal waiting, that page does not exist — budget time for this as a real build, not a toggle.
Before you start¶
- An Experience Cloud (Digital Experience) site, already built or in progress. Building the site itself is a Salesforce Experience Cloud task, outside ChargeOn's scope — this guide assumes you have one to work with.
- Permission to edit permission sets, and access to Digital Experience Builder and Setup.
- Decide which gateways the portal will offer. Only gateways running Direct API or Hosted Fields checkout experience work in the portal. A gateway running Redirect checkout — where the customer is sent to the gateway's own page — is not supported here at all. See choose a checkout experience if you are not sure which your gateways are running.
Steps¶
- Assign the ChargeOn Experience Cloud User permission set to every portal user who needs ChargeOn access. This is what grants a logged-in customer the ability to pay, save a payment method and view their own transactions and subscriptions.
- Set up Sharing Sets so each customer sees only their own records:
- Go to Setup → Digital Experiences → Sharing Sets and create a new one.
- Target Customer Payment Method and Transaction History.
- Map the portal user's Contact to the Contact field on those objects.
- Save.
- Add the ChargeOn components to your Experience Builder pages — see the table below for what each one does.
- Set each component's required page properties. Make a Payment needs the ChargeOn record, the payment record it charges, and the payment gateway to use, all specified when you place it. My Transactions needs a Field Set you create yourself on Transaction History first — none ships with the package, so decide which columns your customers should see and build that Field Set before placing the component.
- Publish the site.
The components available¶
| Component | What it does |
|---|---|
| My Payment Methods | View saved cards/bank accounts; reorder priority; deactivate, reactivate or delete |
| Register Payment Method | Add a new card or bank account, either through ChargeOn's own form or, for a Hosted Fields gateway, the gateway's own secure embedded form |
| Make a Payment | Charge one of the customer's own saved payment methods, or view and pay a specific payment link |
| My Subscriptions | List the customer's own recurring payments and instalment plans |
| Subscription Detail | View one subscription, check whether it has an overdue amount at risk of an automatic retry, and change its payment method |
| My Transactions | The customer's transaction history, in the columns your Field Set defines |
What you should see¶
A logged-in customer visiting the pages where you placed these components sees only their own payment methods, transactions and subscriptions. A guest visiting the same pages without logging in is turned away — this portal is for authenticated customers only. Guests continue to use your existing payment link pages, which are unaffected by any of this.
If it does not work¶
| Symptom | Likely cause | What to do |
|---|---|---|
| A logged-in customer sees no payment methods or transaction history at all | Sharing Sets are not configured, or map the wrong field | Redo step 2 — this is the single most common miss |
| The card entry area shows blank on a Hosted Fields gateway | The gateway's script has not been allow-listed for your org yet — a one-time step for whoever implemented ChargeOn | Ask them to confirm it, per choose a checkout experience |
| A gateway you expect does not appear when registering a card or paying | It is running Redirect checkout, which the portal does not support at all | Switch it, or leave it out of the portal — see choose a checkout experience |
| My Transactions shows nothing, or errors | No Field Set exists yet, or the wrong one was referenced when the component was placed | Create the Field Set on Transaction History, then re-check the component's page properties |
| A customer cannot change a subscription's payment method | That subscription runs on a gateway using Redirect checkout, where the gateway itself — not ChargeOn — holds the stored payment method | Expected behaviour; there is nothing to configure here |