Stripe is the most popular payment gateway in WP SmartPay Pro. It processes credit/debit cards directly on your site (no redirect to a third-party page), supports recurring subscriptions, and offers Smart Retries for failed renewals. Stripe is available to businesses in 40+ countries.

Prerequisites

  • A Stripe account (free to create; verify your identity and banking details to activate live payments).
  • WP SmartPay Pro active with a valid license.
  • HTTPS on your site (required by Stripe for live card collection).

Finding Your Stripe API Keys

  1. Log in to your Stripe Dashboard.
  2. Go to Developers → API Keys.
  3. Copy the Publishable key and Secret key.
  4. For test keys, toggle Test mode in the Stripe Dashboard (top-right) and copy the test keys.

Connecting Stripe in SmartPay

  1. Go to SmartPay → Settings → Payment Gateways.
  2. Find Stripe and tick Enable.
  3. Paste your Live Publishable Key and Live Secret Key.
  4. Paste your Test Publishable Key and Test Secret Key.
  5. Click Save Settings.
Screenshot of WP SmartPay Stripe settings showing live and test publishable/secret key fields
Enter your Stripe API keys in the Gateway Settings — both live and test sets.

Setting Up Stripe Webhooks

Stripe uses webhooks to notify SmartPay of payment events (completion, failure, refund, subscription renewal). Without webhooks, payments may stay in Pending status indefinitely.

  1. In your Stripe Dashboard, go to Developers → Webhooks.
  2. Click Add endpoint.
  3. Enter your SmartPay webhook URL: https://yoursite.com/?smartpay-listener=stripe
  4. Under Select events, choose Select all events or at minimum:
    • payment_intent.succeeded
    • payment_intent.payment_failed
    • customer.subscription.deleted
    • invoice.paid
    • invoice.payment_failed
    • charge.refunded
  5. Click Add endpoint.
  6. Copy the Webhook Signing Secret and paste it into SmartPay's Stripe settings.

Test Mode Configuration

Toggle Test Mode on in SmartPay Gateway Settings. Use these test card numbers at checkout:

Card NumberResult
4242 4242 4242 4242Always succeeds
4000 0000 0000 0002Always declines (insufficient funds)
4000 0025 0000 3155Requires 3D Secure

Use any future expiry date and any 3-digit CVC.

Supported Payment Methods

  • Visa, Mastercard, American Express, Discover, JCB, UnionPay
  • Apple Pay and Google Pay (on supported devices/browsers)
  • SEPA Direct Debit (EUR)
  • iDEAL (Netherlands)

Supported Currencies

Stripe supports 135+ currencies. Your store currency in SmartPay General Settings must match a currency your Stripe account is configured to accept.

Common Errors & Fixes

  • "No such payment_intent" — Publishable and secret keys are mismatched (e.g., live publishable with test secret). Use keys from the same environment.
  • Payments stuck at Pending — Webhook not set up or signing secret incorrect. Verify the webhook endpoint URL and secret in Stripe Dashboard.
  • "Your card was declined" — In test mode, use test card 4242…. In live mode, the customer's card was declined by their bank.
  • Webhook signature verification failed — Signing secret in SmartPay does not match the one shown in Stripe's webhook details. Re-copy the signing secret.