Tiger Membership

Payment Gateways

Connect Stripe, PayPal, Razorpay or Square so members can pay for plans — with per-gateway Sandbox/Production modes and Test connection.

3 min read Updated July 14, 2026

Connect a payment processor so members can check out and pay for plans. Tiger Membership ships four self-hosted gateway integrations — Stripe, PayPal, Razorpay and Square — plus a built-in Manual / Free gateway that is always available as a fallback. With every gateway, card data goes straight to the provider and never touches your site.

Where: WP Admin → Tiger MembershipSettingsPayment Gateways.  Tier: Pro.

The Manual gateway (always on)

Until a real processor is configured, every plan checks out through the built-in Manual / Free gateway. It collects no card, performs no off-site redirect, and activates the membership immediately at the plan’s price. This is what free and admin-comp plans use permanently, and it means money can never be lost to a half-configured integration — because no integration is required to launch.

Sandbox vs Production (per gateway)

Every gateway has its own environment switch — Sandbox (test keys, no real charges) or Production (live keys). Both key sets are stored at once, so switching environments never means re-typing keys. Enter test keys, verify with Test connection, then flip to Production when you are ready to take real money.

Settings reference

Stripe

Field Notes
Enable toggle Turns the gateway on/off in checkout
Mode Sandbox (test) / Production (live)
Publishable key pk_test_… / pk_live_…
Secret key sk_… — stored encrypted, masked on read
Webhook signing secret whsec_… from Stripe → Developers → Webhooks
Currency / Statement descriptor Charge currency + the text shown on the card statement
Webhook endpoint Copy into Stripe; subscribe to checkout.session.completed, invoice.paid, invoice.payment_failed, customer.subscription.updated, customer.subscription.deleted

PayPal

Field Notes
Client ID / Client secret From your PayPal REST app
Webhook ID PayPal Developer → your app → Webhooks
Environment Sandbox app vs Live app

Razorpay

Field Notes
Key ID / Key secret rzp_test_… / rzp_live_…
Webhook secret For signature verification

Square

Field Notes
Access token Sandbox or Production token
Location ID The Square location to charge under
Webhook signature key For signature verification

Set up (Stripe example)

  1. Copy the Publishable and Secret keys from Stripe (test keys first).
  2. Paste them into the Stripe card, leave Mode on Sandbox, and click Save Stripe settings.
  3. Click Test connection — a green result confirms the keys reach Stripe.
  4. Copy the Webhook endpoint URL into Stripe → Webhooks, subscribe to the events above, and paste the signing secret back.
  5. When live, switch Mode → Production, enter live keys, save, and test again.

Test connection

Each gateway card has its own Test connection button. It makes a read-only call to the provider for the selected environment — Stripe /v1/account, PayPal token grant, Square /v2/locations, Razorpay /v1/payments — and reports success or the exact error. No charge is ever made.

Troubleshooting

My gateway doesn’t appear at checkout.

Confirm the gateway’s Enable toggle is on and that it reports as configured (all required keys present). An unconfigured gateway is skipped, and checkout falls back to the Manual gateway.

Payments succeed but the membership status never updates.

That is almost always a webhook problem. Re-copy the Webhook endpoint into the provider, confirm you subscribed to the events listed above, and check that the signing secret pasted back matches — an unsigned or misrouted webhook is ignored.

Recurring plans on the Manual gateway don’t renew.

By design. The Manual gateway has no card on file, so it cannot charge a renewal. Configure a real gateway (Stripe) for automatic recurring billing and dunning.

Frequently asked questions

No — checkout happens on the provider’s hosted page.

Yes — each gateway’s environment is independent.

Secrets are masked on read for security; re-enter only to change them.

Still stuck?

We’re here to help

Can’t find what you’re looking for, or hit something that looks like a bug? Reach the support team or ask the community.