FAQs
Short answers to the questions site owners and developers most often ask about Login for Stripe Customer Portal. For full feature references, follow the links into the rest of the docs.
What does this plugin do?#
It adds a customer login page on your WordPress site for Stripe's Customer Portal. Customers enter their email, receive a secure link, and manage billing on Stripe's hosted portal.
How do I get my Stripe Secret API key?#
- Log in to the Stripe Dashboard.
- Go to Developers → API keys.
- Copy the Secret key for Test or Live mode.
- Paste it into Stripe Portal settings in WordPress.
See Stripe Prerequisites.
Can I customize the login page?#
Yes, in several ways:
- URL slug — Change the endpoint path (e.g.
/billing/instead of/customer-portal/). - Shortcode placement — Embed the form on any page.
- Custom CSS — Override inline styles. See Custom CSS.
Built-in styling controls in the admin are coming in a future release.
Does this create WordPress user accounts?#
No. Customers are not added as WordPress users. Authentication is via email magic links and Stripe Customer records.
Does this replace Stripe's portal UI?#
No. The login experience is on your site; billing management stays on Stripe's hosted Customer Portal. You configure portal features in the Stripe Dashboard.
Can new customers register?#
Yes, by default. When someone uses a new email:
- They receive a magic link (if email delivery works).
- On link click, the plugin creates a Stripe Customer if one does not exist.
- They enter the Customer Portal.
Enable Only allow existing Stripe customers to login in settings to restrict access to emails already in Stripe.
Does the plugin work with WooCommerce?#
The plugin is standalone — it does not integrate with WooCommerce checkout or orders directly. It connects to Stripe customers by email. If your WooCommerce customers share the same email as their Stripe Customer record, they can use the portal to manage Stripe billing tied to that email.
Why didn't my customer receive the login email?#
Common causes:
wp_mail()not configured — Many hosts require an SMTP plugin (WP Mail SMTP, etc.).- Spam folder — Ask the customer to check junk mail.
- Existing customers only — No email is sent for unknown addresses (but the same enumeration-safe confirmation message is shown).
- Rate-limited — After 5 requests in 10 minutes per email or per IP, the form returns “Too many requests.” An admin can reset with
wp lscp limiter-reset <email>. - Invalid email — Must pass WordPress
is_email()validation.
See Troubleshooting.
Are there WP-CLI commands?#
Yes, as of v1.0.6:
wp lscp purge-tokens— delete every outstanding magic-link token.wp lscp limiter-reset <email>— clear rate-limit counters for a stuck legitimate user.wp lscp send <email>— send a magic link without going through the form.wp lscp config— dump current plugin settings (Stripe Secret key masked).
Is there a REST API or developer hooks?#
No public filter hooks for email content, return URL, or portal session parameters are documented in v1.0.6. The plugin fires one action, lscp_fs_loaded, when the Freemius SDK initializes. The codebase is refactored into focused, namespaced units (LSCP\TokenStore, LSCP\StripeGateway, etc.) so child-theme extensions are easier to write, but customization still requires code changes.
Where is the full changelog?#
See the Changelog in this documentation, or the plugin readme on WordPress.org.