UM Stripe Extension — Troubleshooting Registration & Payment Sync Issues
Overview
When integrating Ultimate Member (UM) with the Stripe extension, users typically register through a form, complete payment via Stripe Checkout, and then have their user account created in WordPress.
This document explains what to check and why, in cases where:
- The payment goes through successfully in Stripe.
- But no user account is created in WordPress.
Common Symptoms
Recognizing the symptoms helps narrow down where the problem occurs in the workflow:
Symptom | What It Means |
---|---|
Payment appears successfully in the Stripe dashboard | The payment side worked — Stripe received the transaction. |
No new user created in wp-admin > Users | The WordPress/UM side failed to finish the registration process. |
No activity logs in UM Stripe Activity Logs | UM likely didn’t get or process the webhook events from Stripe. |
The user didn’t see the ‘Payment Successful’ page | Either they didn’t get redirected back properly or the registration logic broke before completion. |
Prerequisites
Why this matters:
Before troubleshooting, you need to confirm the environment is set up properly. Without these in place, troubleshooting specific issues won’t help.
Check that:
- Ultimate Member and UM Stripe extension are both active and compatible with your WordPress version.
- Stripe API keys are working (check if you’re in Test or Live mode to match your payment scenario).
- A registration form exists with a Stripe plan attached — otherwise the payment integration won’t trigger.
Troubleshooting Steps
Confirm Stripe Activity Logs
Why check this:
UM records actions related to payment and registration in its Stripe Activity Logs. If nothing appears here, either:
- The webhook from Stripe never reached your site.
- Or the registration action didn’t complete successfully.
How to check:
Go to:
wp-admin > Ultimate Member > Settings > Extensions > Stripe > View Activity Logs
Look for logs like:
user_register_complete
(when a registration finishes)user_checkout_complete
(when Stripe Checkout finishes)user_subscription_updated
(when a new subscription is created)
If no logs — suspect a webhook delivery issue or form misconfiguration.
Check Stripe Dashboard
Why check this:
Verifies whether Stripe recorded the payment and metadata correctly, which includes useful clues like:
- Did Stripe receive the checkout session completion event?
- Did metadata like the
client_reference_id
get passed (this identifies the user/session on your site)?
How to check:
In Stripe:
- Go to Payments, find the transaction.
- Click the transaction, and under Metadata, check if values like
user_email
,client_reference_id
appear.
If missing or incomplete:
The checkout might not have passed all expected data — this could break the registration link.
Review Webhook Setup
Why this matters:
Stripe communicates with your website through Webhooks. If the webhook isn’t properly configured or wasn’t delivered successfully, the site won’t know a payment was completed and therefore won’t create a user.
How to check:
In Stripe:
Developers > Webhooks
Confirm:
- The webhook URL points to your actual site.
- It listens for events:
checkout.session.completed
— for when Stripe Checkout is done.customer.subscription.created
— for new subscriptions.customer.subscription.updated
— for plan changes, upgrades, etc.
Also, check delivery logs:
If you see failed deliveries, troubleshoot:
- Was your site down or behind a firewall at the time?
- Is the webhook URL correct?
- Were there any errors returned from your site?
You can retry delivery from the Stripe dashboard.
Verify Registration Page Settings
Why check this:
If your UM registration form isn’t properly linked to a Stripe plan or if the success redirect URL is wrong, even a successful payment won’t complete the registration.
How to check:
Go to:
Ultimate Member > Forms > Registration Form
Check:
- A Stripe Plan is attached under Stripe Settings.
- The “Redirect on Success” URL is set to a published, correct page (like a 'Thank you' or 'Payment Successful' page).
A missing or unpublished page can break the redirect and registration finalization process.
Test a New Registration
Why this matters:
By simulating a full registration with test or live payments, you can:
- See if the issue is reproducible.
- Confirm if logs are generated.
- Validate if user creation works on a clean attempt.
How to do this:
Use a fresh email address, go through the form and payment process:
- Check Stripe for the transaction.
- Check WordPress for a new user.
- Check UM Stripe Activity Logs.
If it works this time:
Your previous issue was likely a one-off or resolved through earlier troubleshooting steps.
Notes on Isolated Incidents
Why explain this?
Occasionally, a user might close the Stripe checkout window before returning to your site, or a webhook might fail at a random moment. In these cases:
- Stripe gets the payment.
- But your site misses the registration completion step.
In such cases:
- Manually create a user in wp-admin > Users > Add New
- Assign the correct role.
- Use UM Stripe tools to assign their subscription.
Best Practices
Why this matters:
To avoid future sync issues:
- Regularly check Stripe webhook logs.
- Keep UM, UM Stripe, and WordPress up to date.
- Enable debug logs during testing or plugin updates.
- Avoid using caching plugins or security firewalls that block webhook URLs.
Related Documentation
Official references for deeper setup info: