Skip to main content
PayPal (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.checkout
  • payments.subscriptions
  • payments.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/paypal

Activation 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

Missing or wrong webhookId is the usual cause.