Skip to main content

Payment failed or Stripe form not showing

Symptom

Payments fail at checkout, or the Stripe payment form (card fields or other payment methods) does not appear on the Register or Signup module. You may see a generic error message or a blank area where the form should be.

Applies To

  • Divi Membership 2.0.x with Stripe (v3 or Legacy) enabled
  • Register and Signup modules using Stripe

Likely Causes

  1. Invalid or missing Stripe keys — The plugin validates that keys start with pk_ (publishable) and sk_ (secret). Wrong keys, test/live mismatch, or extra spaces cause validation to fail and the form may not load.
  2. Stripe mode mismatch — Using Stripe Legacy (v2) when the account or integration expects v3 (Elements), or the opposite; or mixing test keys with live mode.
  3. JavaScript or conflict — A theme or plugin may block or conflict with Stripe’s script; the form container may be hidden or not rendered.

Fix

Step 1: Check Payment Gateways settings

  1. Go to WordPress Admin → Divi Engine → Divi Membership.
  2. Open Payment Gateways.
  3. Confirm Stripe is enabled and that Publishable key and Secret key are set.
  4. Ensure keys are correct for your environment (test keys for testing, live keys for production) and that they start with pk_ and sk_ with no leading/trailing spaces.

Step 2: Stripe v3 vs Legacy

  1. In Payment Gateways, find Enable Stripe Legacy Mode (or similar).
  2. Stripe v3 (default): Uses Stripe Elements; multiple payment methods (e.g. card, Klarna, iDEAL); no billing address unless you add it.
  3. Stripe Legacy (v2): Uses the older integration; billing address is shown. Enable only if you need Legacy behaviour.
  4. Save settings and try checkout again.

Step 3: Validate and re-enter keys

  1. In Stripe Dashboard, copy the Publishable key and Secret key again (test or live).
  2. Paste them into Divi Engine → Divi Membership → Payment Gateways with no extra spaces or line breaks.
  3. Save. If the plugin shows a validation error, correct the keys until validation passes.

Step 4: Test in a clean environment

  1. Temporarily switch to a default theme (e.g. Twenty Twenty-Four) and disable other plugins except Divi and Divi Membership.
  2. Load a page with the Register or Signup module and check if the Stripe form appears.
  3. If it appears, re-enable theme and plugins one by one to find the conflict.

Verify

  • Open a page with the Register or Signup module; the Stripe payment section (card fields or other methods) should be visible.
  • Run a test payment (Stripe test card 4242 4242 4242 4242) and confirm the payment completes or that any error is clear and expected.

Collect for Support

If the fix does not work, collect:

  • Whether you use Stripe v3 or Stripe Legacy and the exact error message (if any) on the page or in the browser console (F12).
  • That you are using valid pk_/sk_ keys and whether they are test or live.
  • WordPress version, Divi Membership version, and list of active plugins and theme.
  • Any JavaScript errors in the browser console when loading the checkout page.

What's Next