Accept PayPal Payments on WordPress Invoices
PayPal is the button clients recognise, and for a lot of them it is the one they trust enough to pay without thinking about it. PaySlate Pro connects PayPal to your WordPress invoices so that trust works on your own site instead of sending people to a PayPal invoice page. Here is the complete setup: app credentials, webhook, test payment, and recurring.
Step 1: Create a PayPal app
In the PayPal Developer Dashboard, create an app and copy its Client ID and Secret. PayPal gives you separate sandbox and live credentials, so take the sandbox pair first. You will come back for the Webhook ID in step 3.
Step 2: Connect PayPal in PaySlate
In your site’s PaySlate settings, choose PayPal and enter Mode (Sandbox or Live), Client ID and Secret. The secret is stored encrypted. PaySlate runs one gateway at a time, and invoices you already sent keep the gateway they were created with, so switching to PayPal will not break anything a client is midway through paying.
Step 3: Add the webhook
In your PayPal app, add a webhook pointing at the URL shown in your PaySlate settings, subscribed to PAYMENT.CAPTURE.COMPLETED, PAYMENT.CAPTURE.DENIED and PAYMENT.CAPTURE.REFUNDED. Then copy the Webhook ID PayPal generates back into your PaySlate settings. PaySlate uses that ID to verify each event with PayPal directly before acting on it.
This is what flips an invoice to paid the instant the payment captures, even if your client closes the tab on the way back. Refunds issued in PayPal reverse the invoice in WordPress the same way.
Step 4: Run a test payment
With Mode on Sandbox, send yourself an invoice and pay it with a PayPal sandbox account. Confirm the invoice flips to paid and the receipt email arrives. Then switch to Live and swap in your live Client ID and Secret.
Recurring payments
PayPal accounts differ in whether they are approved to charge a saved payment method on a schedule. PaySlate has a separate setting for this, Recurring charging enabled on this PayPal account, which stays off until you confirm your account supports it. Leave it off unless you know it does, because a recurring invoice that cannot charge is worse than one that never promised to.
What your client sees
Your invoice on your domain, with a pay button that hands off to PayPal’s checkout and comes straight back. They can pay with their PayPal balance or a card, and whatever additional methods PayPal has enabled on your account in their country appear automatically. No account to create with you, no third party portal.
PayPal or a card processor?
Use PayPal when your clients ask for it by name, which is common with individuals and small businesses. Use Stripe or Square, both free in the plugin, when you want the lowest friction card experience with Apple Pay and Google Pay. If cross border tax is the thing keeping you up, look at Paddle or Lemon Squeezy, which take the tax obligation on as merchant of record. PayPal is part of PaySlate Pro.