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: