Setup roadmap: from install to your first payment
This page is the map. It lists every setup step in the order REDA Pay needs them, says why each one matters, and links to the article that walks through it. Steps 1–8 get you to a first payment taken by your staff inside Salesforce. Steps 9–12 add the other channels and the background jobs.
- REDA Pay is installed in your org (Setup → Installed Packages lists REDA Pay). Your REDA account executive or support@reda.one provides the installation link for your edition.
- You have a Payload account and can sign in to its dashboard to copy an API key.
- You hold the REDA Pay - Admin User permission set — see Who can do what.
Part 1 — Connect Salesforce to Payload
1. Generate the encryption key
REDA Pay encrypts every secret it stores — your Payload API key, Payload identifiers, payment-link identifiers — with a key that lives only in your org. Until the key exists, REDA Pay cannot work and shows "REDA Pay setting(s) are invalid or not defined. Please contact your system administrator."
Open the REDA Pay app → REDA Pay Admin tab → Encryption Key Setup → Generate Key. The key can be generated once; afterwards the button reads Generated. → Generate the encryption key
The REDA Pay Admin tab. Step 1 happens on the first card; step 11 on the second.
2. Create a Pay Profile and store the Payload API key
A Pay Profile connects Salesforce to one Payload account. Create it on the Pay Profiles tab with a name, a unique Pay Profile Code and Provider = Payload, leaving Is Active unticked. Then press Update API Token on the profile and paste the API key from your Payload dashboard. Never type the key into the API Token field directly: the button is what encrypts it. → Create a Pay Profile and store your Payload API key
3. Sync processing accounts and activate the profile
Press Sync Processing Accounts on the Pay Profile. REDA Pay reads your merchant accounts from Payload and creates a Processing Account for each, and fills the profile's Profile Id. Now tick Is Active on the profile — REDA Pay refuses to activate a profile until it has both the API token and the Profile Id. → Sync processing accounts and activate the profile
Part 2 — Decide how money moves
4. Configure each processing account
Open each Processing Account and set at least Is Active, Allowed Transfer Type (Receipt, Disbursement, or Receipt and Disbursement) and Allowed Pay Methods (Card, Bank Account (ACH), or both). A blank Allowed Pay Methods means no payment method can be used. While you are there, set the logo, header and footer your payers will see, and the default tab (card or bank). Back on the Pay Profile, choose a Default Processing Account so staff are not asked to pick one every time. → Configure a processing account · Brand the payment screen
5. Add convenience fees (optional)
If you pass processing costs on to payers, add Fee Setup records under the Processing Account: one for bank payments, and one for all cards or per card brand. Without a Fee Setup, orders carry no fee. → Set up convenience fees
6. Check how customers are created
The first time someone pays from an Account, Contact or Lead, REDA Pay creates a Pay Customer from it, using mapping records that ship with the package for those three objects. Review them before go-live — they decide the customer's name, email, phone and allowed payment methods. → How Pay Customers are created
Part 3 — Let your team take payments
7. Assign permission sets
Give administrators REDA Pay - Admin User, staff REDA Pay - User, the refunds desk REDA Pay - Transaction Manager, and finance REDA Pay - Reconciliation Manager with REDA Pay - Read Only User. If anyone will send payouts, tick REDA Pay - Enable Disbursements on their User record. → Who can do what: permission sets
8. Put the payment screen where staff work
Add the REDA Pay payment component or a Pay button to the record pages your team uses — typically Lead, Contact and Account. Then take a small test payment. → Add REDA Pay to record pages · Take a payment
At this point staff can take payments. Statuses will not update automatically until you finish step 9.
Part 4 — Automation and other channels
9. Set up webhooks
Payload tells Salesforce when a payment is processed, declined, refunded or rejected, and when deposits reach your bank. For that, Payload needs a public Salesforce address to call. Create (or reuse) a public site, give its guest user access to the REDA Pay callback, enter the site's address in Webhook API Base URL on the Pay Profile, and press Setup Webhooks. Setup Webhooks first deletes every webhook registered under that Payload API key — if the same key serves another system, read the article before pressing it. → Set up webhooks
10. Payment links and your customer portal
- Payment links need a public site with the REDA Pay pages, the REDA Pay - Public Site User permission set for its guest user, and two settings on the Processing Account: Link Site Public URL and Link Expiration (Minutes). Fill in both: a link created while Link Expiration is blank is never active. → Set up the public payment-link site · Payment-link guest access: permissions and sharing
- Portal payments need the REDA Pay pages in your Experience Cloud portal and REDA Pay - Community User for portal users. → Let customers pay in your portal · Portal access: permissions and sharing for customers
11. Turn on the background jobs
- Recurring payments only run if the daily job is scheduled: Setup → Apex Classes → Schedule Apex, class
SchedulePayOrderJob, every day. → Schedule the daily recurring-payments job - Failed-payment recovery checks every 15 minutes for payments whose outcome was unknown because the connection to Payload broke. Turn on the Sync Failed Pay Order Transactions toggle on the REDA Pay Admin tab. → Turn on failed-payment recovery
12. Prepare for production
- Switch off technical detail in on-screen errors, so payers see a plain message rather than a stack trace. → Org switches and error messages
- Test as each role, not as an administrator: a staff member, a portal customer, and an anonymous payer opening a link.
Checklist
| # | Step | Done when |
|---|---|---|
| 1 | Encryption key | The Admin tab button reads Generated |
| 2 | Pay Profile + API key | The profile exists and Update API Token succeeded |
| 3 | Sync + activate | Processing Accounts are listed under the profile and Is Active is ticked |
| 4 | Processing accounts | Each active account has transfer types and pay methods set |
| 5 | Fees (optional) | Fee Setups exist for the methods you charge on |
| 6 | Customer mapping | Mapping records reviewed for Account, Contact and Lead |
| 7 | Permission sets | Every user has the right set; payout users have Enable Disbursements |
| 8 | Record pages | A test payment from a Lead shows a processed Pay Transaction |
| 9 | Webhooks | The profile's Webhook Setup tab lists the registered webhooks |
| 10 | Links / portal | A test link opens on your public site; a portal user can pay |
| 11 | Jobs | The daily job appears in Setup → Scheduled Jobs; the recovery toggle is on |
| 12 | Production | Stack traces off; each role tested |
FAQ
Yes. The payment is processed and recorded. Later changes — a bank payment rejected days afterwards, a deposit reaching your bank — only reach Salesforce once webhooks are set up, or when someone presses Sync Transaction.
No. REDA Pay ships the remote site setting it needs for Payload's API.
No. It is generated once per org, and everything REDA Pay encrypts depends on it.
Where to go next
- Generate the encryption key — step 1.
- Key concepts and terminology — if a term above is unfamiliar.