Does anyone have a solution for integration? Or would we need a third party like Zapier to handle transactions? I assume we'll need to have a Square account first too? Apple Pay seems to be only available if we have Stripe as a payment processor.
#Salesforce Admin #NPSP #Nonprofit Success Pack #Nonprofits
Hey Michelle - few notes here:
Apple Pay isn't Stripe only - Square supports it through there web payments SDK, so you don't have to switch providers if you already have Square - yes you would need to have a Square account to use it for payment processing.
I'm assuming your goal here is to be able to accept donations from an Experience Cloud site? With that, there are two options - embedding a Square checkout page on your site, or just having a link to an external Square checkout page.
If trying to embed on your site, Square would work, but I think you are going to have trouble with Apple Pay. My understanding is that Apple requires that verification file to be served at one exact URL path, and Salesforce's multi-tenant platform doesn't let you just put a file there. There are workarounds (a URL rewriter Apex class, or a CDN in front of a custom domain), but it's real developer work and it tends to be fragile.
So if you are trying to embed on your site (using the Web Payment SDK in an LWC), I would suggest using Square without Apple Pay. If just adding a link to a Square page, Apple Pay would work fine. The user experience for the second option would be a Donor clicks a button, is redirected to a Square page, pays with Apple Pay / Google Pay / Credit Card / etc, then is redirected back.
Zapier would not be needed in either case. Square sends the webooks natively. You would just set it up on the Square Developer Dashboard and point it at a Salesforce endpoint. You would have to set up a public endpoint to receive the webhooks though - that would mean a RestResource Apex class exposed through your SF Site with get user acccess. You can add some sort of signature verification to ensure you are not accepting posts from any random sources. You could use Zapier if you wanted - to basically outsource this signature verification - but that would have a cost associated with each transaction.
Hope this was somewhat helpful - I'm happy to talk through this further if you would like.
Steve