Skip to main content

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 Stripe
  • Label: Display label shown in the checkout UI
  • Description: Text shown next to the label
  • Key: Stripe Publishable Key
  • Secret: Stripe Secret Key
  • Webhook Secret: Stripe Signing Secret (used to verify incoming webhook events)

Paddle Fields:​

  • Active: Toggle to enable Paddle
  • Label: Checkout label
  • Description: Checkout description
  • Sandbox: Toggle if you're using sandbox mode
  • Client-side Token
  • API Key
  • Retain Key (optional)
  • Webhook Secret

πŸ” How to Get Your API Keys and Webhook Secrets​

Stripe Setup​

  1. Go to Stripe Dashboard

  2. Navigate to Developers β†’ API Keys

  3. Copy:

    • Publishable Key β†’ Paste into Key
    • Secret Key β†’ Paste into Secret
  4. Navigate to Developers β†’ Webhooks

  5. Click + Add endpoint

  6. Use this endpoint URL:

https://your-domain.com/stripe/webhook

  1. Select the events you want (e.g., checkout.session.completed, invoice.paid, etc.)
  2. Copy the Webhook Signing Secret and paste it into Webhook Secret in the admin.

Paddle Setup​

  1. Go to Paddle Vendor Dashboard
  2. Navigate to Developer Tools β†’ Authentication
  3. Copy:
    • Client-side Token
    • API Key
    • Retain Key (optional, used for license retention)
  4. Navigate to Developer Tools β†’ Webhooks
  5. Add this webhook URL:

https://your-domain.com/paddle/webhook

  1. 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​

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:

  1. Install ngrok

  2. Start your local server (e.g., on port 8000)

  3. Start ngrok tunnel:

    ngrok http 8000
  4. Take the generated HTTPS URL (e.g., https://abc123.ngrok.io)

  5. 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.