Skip to content
WooCommerce WordPress

Order Refunded → Update User Role

Automatically revoke or adjust user roles when WooCommerce orders are refunded. Essential for membership sites, course platforms, and access-controlled content.

beginner 5 minutes |
#orders #roles #refunds #woocommerce #access

Use Case

When an order is refunded, you need to revoke or adjust the customer’s access level. This ensures that users who receive refunds no longer have access to the content or benefits they paid for.

Common scenarios:

  • Revoke membership access on refund
  • Remove course enrollment
  • Downgrade subscription tier
  • Remove VIP status
  • Suspend premium features

Step-by-Step Setup

1. Create a New Workflow

Navigate to Sequensy → Workflows in your WordPress admin and click Add New Workflow.

Name your workflow “Revoke Access on Refund” or “Membership Refund Handler”.

2. Configure the Trigger

Select Order Refunded as your trigger.

Available filters:

  • Products: Only for access-granting products
  • Refund Type: Full vs partial refund
  • Refund Amount: Threshold for revocation
  • Product Categories: Memberships, courses, etc.

3. Set Up the Update User Role Action

Configure the role change:

SettingExample ValueDescription
User{customer_email}Refunded customer
New RoleCustomerDefault/basic role
ActionReplaceRemove access role

Chain a Send Email action to inform the customer:

Subject: Your access has been updated

Hi {billing_first_name},

Following the refund for order #{order_id}, your access has
been updated accordingly.

Your account has been changed to: {new_role}

If you have any questions about this change, please contact us.

Thank you,
The {site_name} Team

5. Test Your Workflow

  1. Enable the workflow
  2. Create and complete a test order
  3. Process a refund on the order
  4. Verify user role was changed
  5. Confirm access was revoked

Pro Tips

Handle partial refunds: Decide whether partial refunds should affect access—often they shouldn’t.

Grace period: Consider a short delay before revoking access to allow for refund disputes.

Preserve data: Revoke access but consider keeping progress data (course progress, etc.) in case they rejoin.

Communicate clearly: Always inform users when their access changes.

Refund Handling Strategies

Full Refund = Full Revocation

Condition: Refund amount = order total
Action: Set role to "Customer"
Access: Fully revoked

Partial Refund = Keep Access

Condition: Refund amount < order total
Action: No role change
Note: "Partial refund - access maintained"

Product-Specific Revocation

Condition: Refunded product is "Premium Membership"
Action: Set role to "Basic Member"
Keep: Basic access
Remove: Premium features

Role Transition Examples

Previous RoleAfter RefundAccess Change
Premium MemberCustomerAll access removed
Pro MemberBasic MemberDowngrade to basic
Lifetime MemberCustomerFull revocation
Course StudentCustomerCourse access removed
VIP CustomerCustomerVIP benefits removed

Notification Templates

Access Revoked

Subject: Your membership has been cancelled

Hi {first_name},

As requested, we've processed your refund and cancelled your
membership.

Refund amount: {refund_amount}
Your new account level: Customer

Your data has been preserved—if you decide to rejoin in the
future, your progress will be waiting for you.

Questions? Reply to this email.

Downgrade Notice

Subject: Your account has been adjusted

Hi {first_name},

Following your partial refund, your account has been adjusted
from {old_role} to {new_role}.

You still have access to:
- Basic member content
- Community forums
- Email newsletter

To restore full access, you can upgrade anytime: {upgrade_url}

Handling Special Cases

Multiple Access Products

Scenario: Customer has 2 memberships, refunds 1
Logic: Check remaining active orders
Action: Only revoke the refunded product's role

Subscription Refunds

Scenario: Subscription order refunded
Logic: Cancel subscription AND revoke role
Action: Set to Customer, cancel recurring billing

Dispute/Chargeback

Scenario: Payment disputed (not refund requested)
Logic: Immediately suspend access
Action: Set to "Suspended Member"
Note: Pending dispute resolution

Troubleshooting

Role not changing on refund?

  • Verify workflow is enabled
  • Check product conditions match
  • Review refund trigger detection

Wrong customers affected?

  • Add product-specific conditions
  • Check customer identification
  • Review order-to-user mapping

Access not actually revoked?

  • Clear caching plugins
  • Verify role capabilities
  • Check content restriction settings