Overview
When setting up PayPal (Modern) within Payments2Us, the webhook is the mechanism that allows PayPal to send payment notifications and updates (e.g. successful payments, refunds, and recurring renewals) directly into Salesforce.
In most cases, only one PayPal webhook setup is required per environment (sandbox or production).
Once configured, it automatically handles payment events for all Payment Forms linked to the same Merchant Facility.
Β
π‘ General Rule
β Only one PayPal webhook is needed per Salesforce environment.
This is because PayPal automatically retries failed notifications (2β3 times) and Payments2Us validates each transaction using the unique billing token/ txn ref to locate and update the correct recurring payment record.
This means that even if you have several forms or recurring payment records across your org, a single webhook can handle all PayPal notifications - as long as itβs set up correctly on a form linked to the live Merchant Facility.
Β
Β
The following are different scenarios situatinos and what todo using the above general rule for webhooks:
Scenario 1 β Multiple Payment Forms under one Merchant Facility
If your organisation uses multiple Payment Forms (e.g. different campaigns, donations, or events) under the same Merchant Facility, you only need to set up the PayPal webhook on one of them.
Payments2Us processes all PayPal events through the Merchant Facility level - once connected, all related Payment Forms under that facility receive updates through the same webhook.
β Best Practice:
Configure the webhook on one primary Payment Form (for example, the one used for recurring donations).
Ensure that no other Payment Form under the same Merchant Facility has the webhook secret key configured.
Keep sandbox and live setups separate (see Scenario 4).
Β
Scenario 2 β The Primary Payment Form Uses Another Gateway (e.g. Stripe or Shopify)
If your main Payment Form is already used for another gatewayβs webhook:
Choose another Payment Form linked to the same Merchant Facility.
Configure the PayPal webhook on that alternate form.
π‘ The webhook doesnβt have to be on the public-facing or most-used form - any form under the same Merchant Facility will work.
Β
Scenario 3 β Previously Configured Webhook on Another Form
If a webhook was previously configured on another Payment Form:
Open that Payment Form record in Salesforce.
Remove the PayPal Webhook Secret Key.
Keep the webhook configured only on the current active Payment Form.
β οΈ Multiple webhook configurations under the same Merchant Facility may cause duplicate event notifications or payment update failures.
Β
Scenario 4 β Sandbox vs Live Environments
Each environment must have its own webhook setup:
| Environment | Configuration |
|---|---|
| Sandbox (Test) | Sandbox PayPal account β Sandbox Merchant Facility β Test Payment Form |
| Live (Production) | Live PayPal account β Live Merchant Facility β Live Payment Form |
π« Do not reuse webhook URLs across sandbox and production.
Each must point to its own.salesforce-sites.comdomain for correct event routing.
Β
Scenario 5 β Multiple Merchant Facilities in Use
If you manage multiple Merchant Facilities (e.g. separate entities, business units, or currencies), setup considerations depend on how your PayPal accounts are structured.
βοΈ Summary:
Using one PayPal account across multiple facilities works.
If Different Paypal accounts then each Merchant Facility does not need it's own PayPal webhook setup.
Β
Scenario 6 β Recurring Payments Not Updating
If recurring payments fail to update or appear missing:
Verify that the webhook is configured on the Payment Form linked to the Merchant Facility handling the recurring payments.
Check that the webhook license is assigned on that Merchant Facility.
Ensure that all required PayPal event types are selected.
Confirm only one active webhook per Merchant Facility.
π§© Because PayPal retries notifications automatically and Payments2Us matches them using the billing token (starting with βi-β), missing updates usually indicate a configuration issue - not a timing or delivery failure.
Β
Summary Table
| β Do | β Donβt |
|---|---|
| Configure one PayPal webhook per Merchant Facility | Set up multiple webhooks on forms in the same Merchant Facility |
| Keep test and live webhooks separate | Use the same URL for both environments |
| Remove outdated or duplicate webhook secret keys | Leave old entries active |
| Ensure all required event types are selected | Miss critical events like Payment sale completed
|
| Assign webhook license to Merchant Facility | Skip license configuration |
Β