payments.paypal) is a Streamly plugin in the payment category.
PayPal adds a second checkout rail beside Stripe. Use sandbox credentials first, then switch environment to live with a live webhook ID.
Learn the service
Watch this overview of the vendor platform (helpful before you paste keys into Streamly).Postman and the Orders API with PayPal Developers — PayPal Developer.
At a glance
Capabilities
payments.checkoutpayments.subscriptionspayments.webhooks
When to use it
- Markets where buyers prefer PayPal wallets
- Second payment rail next to Stripe
How it works
Viewer selects PayPal → Streamly creates a PayPal order/subscription → PayPal notifies/api/webhooks/paypal → Streamly grants access.
environment selects sandbox vs live API hosts.
Webhook endpoint:
POST /api/webhooks/paypalActivation keys
Configure in/admin/plugins → PayPal → Configure. Secret fields stay server-side — never commit them or expose as NEXT_PUBLIC_* unless the key is intentionally public (e.g. Stripe publishable key).
* Treat as required before production.
Env fallbacks:
PAYPAL_CLIENT_ID, PAYPAL_CLIENT_SECRET, PAYPAL_WEBHOOK_ID, PAYPAL_ENVIRONMENT.
Setup guide
1
Create a REST app
PayPal Developer → Apps → create → copy sandbox Client ID/Secret.
2
Configure plugin
/admin/plugins → PayPal → keys + environment=sandbox.3
Webhook
Point to
https://YOUR_HOST/api/webhooks/paypal and paste Webhook ID.4
Go live
Live credentials +
environment=live + live webhook.Admin & Settings paths
Official vendor documentation
FAQ
Live payments fail verification
Live payments fail verification
Missing or wrong
webhookId is the usual cause.