Troubleshooting
Start with the Memberships workspace, follow the visible issue, and fix common access, content, email, provider, API, and webhook problems.
Start with Memberships > Dashboard. Version 1.4.0 brings setup readiness, failed notifications, provider health, and recent activity into the workspace so many problems can be found without beginning in the database. Progress.
A purchase did not grant access
Confirm the payment
Open the FluentCart order and make sure payment completed. Pending, failed, and abandoned orders do not grant membership access.
Check the product connection
Open Memberships > Plans, edit the expected plan, and check Linked Products. For an advanced FluentCart feed, confirm that the feed is enabled and points to the right plan.
Find the customer
Open Memberships > Members and search by the order email. If the order was placed as a guest, confirm that the connection is allowed to create or match a WordPress user.
Review recent activity
The dashboard and member profile show whether access was granted, skipped, or later changed. The FluentCart order log provides the matching purchase-side message.
A member cannot open protected content
Open the member profile and check whether access is active, paused, expired, or revoked. Also check future start dates and upcoming or passed expiry dates.
Open the plan's drip timeline. A member may own the content while its delay or fixed unlock date is still in the future.
Open Memberships > Content and inspect the protection rule, then compare it with the member's active plans. Plan relationships can include lower tiers, but an unrelated plan does not.
Exclude protected pages from public full-page caching, or use a cache that varies by signed-in member. Purge the affected page after changing protection or access.
Protected content is public
- Open Memberships > Content and confirm the rule exists.
- Make sure at least one selected plan is active.
- Test while logged out or as a non-administrator; administrators bypass protection by default.
- Check the feed, archive, search, and REST view as well as the main page.
- Purge page and object caches after changing the rule.
If only one public channel leaks full content, record the exact URL and request type before changing the rule. “WordPress did something” is emotionally valid but not yet a reproduction.
Email issues
Open Memberships > Settings > Email Studio and confirm the message uses Built-in email rather than FluentCRM automation or Off. Send a test, then inspect Tools > Scheduled Actions for a failed Memberships email.
Finally, verify normal WordPress email delivery and sender-domain authentication with your mail provider.
Preview the message in Email Studio, check its individual style override, and compare it with the shared brand template. Send a fresh test after saving.
Confirm FluentCRM is active, the automation is published, the member has a matching FluentCRM contact, and that the notification is assigned to FluentCRM automation where applicable.
Open Memberships > Integrations for pending, failed, or drifted CRM work.
Provider access is out of sync
Open Memberships > Integrations before manually changing the provider.
- Check whether the provider and required capability are available.
- Review pending and failed operations.
- Preview reconciliation to see what Memberships believes should change.
- Repair one member first.
- Use the bounded all-member repair only after the preview is sensible.
Optional provider features stay hidden or unavailable when their runtime contract is not supported. Installing a plugin and activating a supported capability are not the same achievement.
Webhook problems
The endpoint needs its own secret and a successful one-shot test. Confirm that the destination is public HTTPS, generate or rotate the secret, update the receiver, and run the test again.
Open delivery history and inspect the latest response. Fix the receiver first; automatic retries use increasing delays. A terminal failure can be retried manually after the destination is healthy.
Cancel it while it is pending or retrying. Pause the endpoint if no new events should be created for that destination.
Webhook delivery is at least once. The receiver must remember the stable event ID before applying the effect and treat a repeated ID as the same event.
API connection problems
Generate a current access key and send it in the X-API-Key header. Query-string
keys are rejected. The built-in connection guide contains the exact endpoint
for this site.
External writes require HTTPS, a WordPress Application Password, a user with
the membership-management capability, and a unique Idempotency-Key header.
The read-only FCHub key cannot manage members.
The same key may repeat the same operation and payload. A different operation or payload needs a new key.
Still stuck?
Collect the affected member, plan, content or endpoint, the time of the latest attempt, and the visible workspace error. Then use the Developer Reference for exact routes, hooks, commands, and payload contracts.