WhatsMine Documentation
Home
  • What is WhatsMine?
  • Feature Tour
  • Requirements
  • Installation
  • Configuration (.env reference)
  • Going Live Checklist
Admin Guide
User Guide
Integrations
  • Architecture
  • REST API v1
  • Production Deployment
  • Frequently Asked Questions
  • Troubleshooting
  • Changelog
Home
  • What is WhatsMine?
  • Feature Tour
  • Requirements
  • Installation
  • Configuration (.env reference)
  • Going Live Checklist
Admin Guide
User Guide
Integrations
  • Architecture
  • REST API v1
  • Production Deployment
  • Frequently Asked Questions
  • Troubleshooting
  • Changelog
  • Admin Guide

    • Admin Guide Overview
    • Admin Dashboard
    • Clients
    • Plans, Coupons & Tax
    • Subscriptions & Payments
    • Payment Gateways
    • Currencies & Languages
    • Email System
    • Branding & Settings
    • Site Content (Marketing Site & Pages)
    • Support Tickets
    • Roles, Permissions & Admin Users
    • Integrations (Admin)
    • AI Dashboard
    • System Tools

Payment Gateways

WhatsMine supports three payment gateways — Stripe, PayPal and Paddle. Enable any combination; customers will see the enabled options at checkout.

Location: Admin → Payment Gateways (/admin/payment-gateways)

📸 Screenshot: The Payment Gateways overview showing Stripe, PayPal and Paddle with their enabled/test status.

The gateways overview

The overview lists all three gateways with their current state: enabled or disabled, test or live mode, and whether credentials are configured. Click a gateway to edit it.

Configuring a gateway

Open a gateway and enter its credentials:

Stripe

FieldWhere to find it
Publishable keyStripe Dashboard → Developers → API keys
Secret keyStripe Dashboard → Developers → API keys
Webhook secretCreated when you add the webhook endpoint (below)

PayPal

FieldWhere to find it
Client IDPayPal Developer Dashboard → your app
Client secretPayPal Developer Dashboard → your app
Webhook IDCreated when you add the webhook (below)

Paddle

FieldWhere to find it
API keyPaddle Dashboard → Developer Tools → Authentication
Webhook secretPaddle Dashboard → Developer Tools → Notifications

Each gateway has a test/sandbox mode toggle. Use test mode while setting up, then switch to live when ready. Secrets are masked after saving for security.

Registering webhooks (required for renewals)

Each gateway must send events to WhatsMine so subscriptions stay in sync and renewals are recorded. Add these endpoint URLs in each gateway's dashboard:

GatewayWebhook URL
Stripehttps://your-domain.com/webhooks/stripe
PayPalhttps://your-domain.com/webhooks/paypal
Paddlehttps://your-domain.com/webhooks/paddle

Then subscribe to the right events:

Stripecheckout.session.completed, customer.subscription.created, customer.subscription.updated, customer.subscription.deleted, invoice.paid, invoice.payment_succeeded, invoice.payment_failed

PayPalBILLING.SUBSCRIPTION.ACTIVATED, BILLING.SUBSCRIPTION.CANCELLED, BILLING.SUBSCRIPTION.SUSPENDED, PAYMENT.SALE.COMPLETED

Paddlesubscription.created, subscription.activated, subscription.updated, subscription.canceled, transaction.completed

A missing signing secret blocks all webhooks

In production, if the webhook signing secret isn't set, every incoming webhook is rejected — meaning renewals stop silently. Always store the signing secret after creating the endpoint.

Linking plans to prices

For Stripe and Paddle, each plan needs the matching price IDs from the gateway. Create the recurring prices in the gateway dashboard, then paste their IDs into the plan (stripe_monthly_id, paddle_monthly_id, etc.). Paddle checkout will not work without them.

Testing before launch

  1. Set the gateway to test/sandbox mode and save credentials.
  2. Run a test subscription through checkout on your pricing page.
  3. Confirm a transaction appears in Payments, the subscription is active, and the invoice downloads.
  4. (Stripe) Use a test clock to fast-forward a renewal and confirm the renewal is recorded and the email arrives.
  5. Switch to live mode.

➡️ Full step-by-step provider setup is in Payments Integration.

Last Updated: 6/19/26, 4:34 PM
Prev
Subscriptions & Payments
Next
Currencies & Languages