ChargeOn quick start guide¶
By the end of this guide ChargeOn is installed, connected to a payment gateway, and has taken a test payment from a Salesforce record.
Who does this: a Salesforce administrator. How long: about two hours, spread across a day if you are waiting on gateway credentials.
Complete the prerequisites first
This guide assumes everything in the prerequisite guide is already done — particularly the email settings and your gateway credentials. If you have not worked through it, stop and do that now. Every step below depends on it.
What you will do¶
- Install ChargeOn from AgentExchange
- Give yourself and your team access
- Create the payment link site
- Connect a payment gateway
- Map your payment object
- Add the Charge button to your record
- Schedule the background jobs
- Take a test payment
Part 1 — Install ChargeOn¶
- Open the ChargeOn listing on Salesforce AgentExchange.
- Click Get It Now.
- Choose your sandbox org.
- Choose Install for Admins Only.
- Click Install.
- If you are asked to approve third-party access, approve it. ChargeOn has to reach your payment gateway over the internet, and it cannot do that otherwise.
- Wait for the confirmation email from Salesforce before continuing. Installation is not instant.
Install into a sandbox, not production
Everything in this guide should happen in a sandbox first. You will be entering test credentials and taking test payments, neither of which belongs in production.
What you should see: ChargeOn appears in your App Launcher, and Salesforce has emailed you to confirm the install succeeded.
Part 2 — Give your team access¶
- Go to Setup → Installed Packages, find ChargeOn, and click Manage Users.
- Assign a licence to everyone who will use ChargeOn.
- Go to Setup → Users → Permission Set Groups.
- Assign ChargeOn_PSG_Admin to yourself.
- Assign the permission sets each other user needs, based on what you decided in the prerequisite guide.
A licence and a permission set are two different things, and users need both. A licence lets someone open ChargeOn; a permission set decides what they can do once inside.
What you should see: your own user has both a ChargeOn licence and the administrator permission set group.
Part 3 — Create the payment link site¶
Customers pay through a public page. This is the page.
- Go to Setup → User Interface → Sites.
- Click New.
- Set the Site Label to ChargeOn PaymentLink.
- In Active Site Home Page, select PaymentLink.
- Tick Active.
- Under Error Pages, set both Authorization Required Page (401) and Generic Error Page to Error Template.
- Click Save.
- On the site's detail page, click Public Access Settings.
- Assign the ChargeOn guest user permission set to the site's guest user.
The guest user is not you
The site guest user is a separate user record that represents an anonymous visitor. Assign the guest permission set to that user, not to your own profile. Assigning it to yourself looks like it worked and leaves every customer locked out.
What you should see: the site listed as Active, with a web address, and the guest user carrying the ChargeOn guest permission set.
Part 4 — Connect a payment gateway¶
Repeat this part for each gateway you want to use.
- Open the ChargeOn app, go to Global Settings → Payment Gateways, and click New.
- Choose your gateway.
- Choose the Checkout Experience. This decides what your customer sees and how much responsibility your organisation takes on for card data — the terminology guide explains the three options. If you are unsure, choose the gateway's hosted option.
-
Select the payment types this gateway should support, and its Supported Payment Modes.
Supported Payment Modes lists more options than the three payment methods a user picks when taking a payment, because it describes what the gateway can handle rather than what the user chooses. Recurring appears here split into its two forms, Installment and Subscription, alongside bank-specific modes. Select everything this gateway genuinely supports; leaving one out makes it unavailable later with no explanation on screen. 5. Tick Active. 6. Enter the gateway credentials. These differ for every gateway. 7. Click Save.
Now authorise Salesforce to contact the gateway:
- Go to Setup → Remote Site Settings and click New Remote Site.
- Give it the gateway's name and its web address, leave Active ticked, and click Save.
Then confirm it works:
- Return to Global Settings → Payment Gateways, open the gateway, and click Verify Credentials.
What you should see: a success message, with the last verification status and date filled in on the gateway record.
NMI always reports failure here
NMI does not provide a way to check credentials, so Verify Credentials reports failure for it no matter what you enter. This is expected. Confirm NMI works by taking a test payment in Part 8 instead.
Part 5 — Map your payment object¶
This tells ChargeOn which record to take payments against, and where to find the amount and the customer.
- Go to Global Settings → Object and Rules and click New.
- Choose your Payment Object — Opportunity, or whichever object you settled on.
- Choose the field holding the amount.
- Choose the payer details — the contact or account paying.
- Choose the address details.
- Choose the message page details.
- Choose the site and email templates for payment notifications.
- Under Gateway Mapping, select the gateway you configured in Part 4.
- Click Save Mapping.
Optional, and worth knowing about:
- Pre-charge notification emails customers before a scheduled or recurring charge runs.
- Invoice line item mapping breaks a payment down by product or service.
- Invoice settings control whether invoices appear on related records, whether offline payments generate one, and whether the PDF is saved automatically.
- Gateway routing and fallback sends payments to different gateways by criteria — for instance, one gateway above a certain amount and another below — and retries elsewhere on failure. Fallback has real limits; see the terminology guide.
What you should see: a saved mapping listed under Object and Rules, showing your object and your gateway.
Part 6 — Add the Charge button¶
- Go to Setup → Object Manager, open your payment object, and click Buttons, Links, and Actions.
- Click New Action.
- Set Action Type to Lightning Web Component.
- Select the ChargeOn Charge component.
- Label it Charge and click Save.
- Open the object's Page Layouts and edit the layout you use.
- Drag Charge into the Salesforce Mobile and Lightning Experience Actions section.
- Add these fields to the layout: Amount Paid, Remaining Amount, Recurring Amount, Refunded Amount, Pending Amount.
- Click Save.
What you should see: open any record of that object, and a Charge button appears.
Part 7 — Schedule the background jobs¶
Do not skip this part. ChargeOn's automatic work runs on scheduled jobs, and installing the package does not schedule them. If you skip this, everything in Part 8 will still work — and recurring payments, scheduled payments and collections will silently never run.
Go to Setup → Apex Classes → Schedule Apex, and schedule each job you need. The class name is what you select on that screen.
| Schedule this | If you want |
|---|---|
RecurringPaymentBatch |
Recurring payments to charge on their cycle |
ScheduledPaymentBatch |
Scheduled payments to run on their date |
PaymentLinkBatch |
Payment links to be issued automatically |
InvoiceOverdueBatch |
Invoices to be marked overdue and late fees applied |
AutomatedCollectionHandler |
Automated collection to chase overdue payments |
TransactionStatusUpdateBatch |
Transaction statuses kept in step with the gateway |
PreChargeNotificationBatch |
Customers warned before a charge is taken |
CardExpirationNotificationBatch |
Customers reminded to update an expiring card |
ReconciliationScheduler |
Reconciliation to run on a schedule |
Daily, overnight, is a sensible starting cadence for all of them.
Recurring payments will not run without this
This is the single most common reason a ChargeOn setup looks complete and then does nothing.
A recurring plan created without RecurringPaymentBatch scheduled will sit there, correctly
configured, and never charge anyone.
What you should see: your scheduled jobs listed under Setup → Scheduled Jobs, each with a next run time.
Part 8 — Take a test payment¶
- Open a test record on your payment object.
- Click Charge.
- Choose Card as the payment type and Instant as the payment method.
- Enter the test card details your gateway provided.
- Complete the payment.
- Open Transaction History and confirm a new transaction with status Success, the right amount, and the right gateway.
What you should see: a successful transaction in ChargeOn, and a matching one in your gateway's own dashboard. Both should agree on the amount.
Next¶
Post-configuration testing guide — work through every payment type properly before you go live.
Do not switch to live credentials until you have.
If something went wrong¶
| Symptom | Likely cause | What to do |
|---|---|---|
| Verify Credentials fails | Wrong credentials, or no remote site entry for the gateway | Check the remote site address matches the gateway exactly. If the gateway is NMI, this failure is expected — see Part 4 |
| The payment link page shows an authorisation error | The guest permission set went to the wrong user, or the sharing rules are missing | Re-check Part 3. The guest user is a separate user record from your own |
| The payment succeeded but no email arrived | Deliverability is not set to All Emails | Prerequisite guide, Part 2. This is the most common cause by a distance |
| A recurring payment was created but never charged | The background jobs are not scheduled | Part 7 |
| The Charge button does not appear | The action was created but never added to the page layout | Part 6, steps 6 to 9 |
| The Charge button opens but no gateway is selectable | The gateway is not active, or is not mapped to your payment object | Check Active on the gateway record, then the gateway mapping in Part 5 |