Payment Providers
You can integrate multiple payment gateways into your SaaS using Peak Admin's dashboard. Currently, we support:
- Stripe
- Paddle
Where to Find Itβ
From the Admin Dashboard:
Sidebar β Selling β Payment Gateways
There youβll find a panel that allows you to activate and configure the supported providers. You can activate both Stripe and Paddle if needed.
Payment Gateway Optionsβ
Each provider has its own set of fields:
Stripe Fields:β
Active
: Toggle to enable/disable StripeLabel
: Display label shown in the checkout UIDescription
: Text shown next to the labelKey
: Stripe Publishable KeySecret
: Stripe Secret KeyWebhook Secret
: Stripe Signing Secret (used to verify incoming webhook events)
Paddle Fields:β
Active
: Toggle to enable PaddleLabel
: Checkout labelDescription
: Checkout descriptionSandbox
: Toggle if you're using sandbox modeClient-side Token
API Key
Retain Key
(optional)Webhook Secret
π How to Get Your API Keys and Webhook Secretsβ
Stripe Setupβ
-
Go to Stripe Dashboard
-
Navigate to Developers β API Keys
-
Copy:
- Publishable Key β Paste into
Key
- Secret Key β Paste into
Secret
- Publishable Key β Paste into
-
Navigate to Developers β Webhooks
-
Click + Add endpoint
-
Use this endpoint URL:
https://your-domain.com/stripe/webhook
- Select the events you want (e.g.,
checkout.session.completed
,invoice.paid
, etc.) - Copy the Webhook Signing Secret and paste it into
Webhook Secret
in the admin.
Paddle Setupβ
- Go to Paddle Vendor Dashboard
- Navigate to Developer Tools β Authentication
- Copy:
- Client-side Token
- API Key
- Retain Key (optional, used for license retention)
- Navigate to Developer Tools β Webhooks
- Add this webhook URL:
https://your-domain.com/paddle/webhook
- Copy your Webhook Secret and paste it into the form.
π§ͺ If you're using Sandbox Mode, make sure to toggle the Sandbox
option to ON.
π§ͺ Local Testing Instructionsβ
Stripe CLI (Recommended)β
Use Stripeβs CLI to test webhook handling locally:
Install Stripe CLI: https://stripe.com/docs/stripe-cli Authenticate:
stripe login
Forward webhooks:
stripe listen --forward-to localhost:8000/stripe/webhook
Use test cards like:
4242 4242 4242 4242
for successful payments
Paddle (via Ngrok)β
Since Paddle requires a public URL, use ngrok for development:
-
Install ngrok
-
Start your local server (e.g., on port 8000)
-
Start ngrok tunnel:
ngrok http 8000
-
Take the generated HTTPS URL (e.g.,
https://abc123.ngrok.io
) -
Use it in Paddle webhook setup:
https://abc123.ngrok.io/paddle/webhook
Make sure to toggle the Sandbox
switch if you're using Paddle sandbox credentials.
π‘ Pro Tipsβ
- Always test with real webhooks, not just the frontend checkout.
- Use Paddle sandbox to simulate purchases without real money.
- Stripe CLI makes it easy to test locally without deploying.