BuddyNext - community engine for WordPress
BuddyNext Pro

WooCommerce

BuddyNext + WooCommerce

Sell access to your community as an ordinary WooCommerce product.

BuddyNext membership plans, showing access granted from a WooCommerce order

What happens when someone uses it

One action, everywhere it lands

A member does this

Someone buys a product you mapped to a membership plan

  • Their account The mapped BuddyNext plan is granted
  • Their inbox An email saying their community access is live
  • Your Orders screen The sale recorded as a BuddyNext invoice
  • Every night A sweep re-checks entitlements and repairs misses

The bridge self-guards on WooCommerce and quietly does nothing when it is not installed, so none of this appears until you turn it on.

What it changes

Your community with WooCommerce in it

Each of these is something a member can do the day you turn it on, and what it changes for whoever runs the place.

  1. Pay for community access with any gateway, coupon and tax rule the store already uses.

    What changes

    You do not run a second checkout. Whatever WooCommerce is configured to accept is what the community accepts.

  2. Get access the moment payment clears, not when someone gets round to it.

    What changes

    Nobody is manually adding members after a sale, which is where the delay and the mistakes come from.

  3. Keep renewing through WooCommerce Subscriptions and keep access with it.

    What changes

    Lapses and reactivations are handled by the billing system that already knows about them, rather than tracked by hand.

How it works

The flow, step by step

  1. 1 On the product edit screen you pick which BuddyNext plan that product sells. Nothing happens until you do: an unmapped product grants nothing.
  2. 2 A customer checks out. When the order reaches a status you count as paid, the bridge reads that customer’s whole entitlement, not just this order, and grants what is missing.
  3. 3 The sale is written as a BuddyNext invoice, but only when it actually granted a plan, so a store that also sells mugs does not fill the community ledger with mugs.
  4. 4 Refunds, cancellations and subscription lapses come back as order status changes and the plan is revoked. A nightly sweep re-checks everyone in case a webhook was missed.

For developers

The bridge self-guards on the partner plugin and no-ops when it is absent. Key hooks: woocommerce_order_status_changed, woocommerce_subscription_status_updated, buddynextpro_woo_granting_statuses.

If WooCommerce is not installed

The bridge checks for WooCommerce before it hooks anything, so on a site without it nothing runs. Two more things are off by default even when WooCommerce is present: monetization has to be enabled in BuddyNext, and each product has to be mapped to a plan by hand. With an empty mapping the bridge is inert, which is deliberate, because guessing that a product grants membership is the kind of mistake nobody notices until the wrong people are inside.

What to check once it is on

Map one product, then place a real test order and confirm three things followed: the plan on the member, the invoice on the Orders screen, and the welcome email. Then check your granting statuses. If your membership product is virtual and not downloadable, WooCommerce leaves the order at processing forever, so a site that only counts completed will take payments and grant nothing. Refund the test order and confirm access is withdrawn.

WooCommerce questions

Do I need a separate checkout for membership?
No. Membership is an ordinary WooCommerce product, so every gateway, coupon, tax rule and receipt the store already has applies to it, and the buyer goes through the checkout they would use for anything else.
Does BuddyNext take the payment?
Never. WooCommerce owns the money entirely: charges, renewals, refunds and cancellation all stay there. BuddyNext reacts to what the order says and grants or withdraws access to match.
What happens with guest checkout?
Nothing is granted, because there is no account to grant it to. If you sell membership, require an account at checkout for those products.
Why would a paid order not grant access?
Almost always the granting statuses. A virtual, non-downloadable product reaches processing and stays there, so if only completed counts as paid, access never lands. The default counts both, and the setting is there to change.
Does it work with WooCommerce Subscriptions?
Yes, and subscriptions take priority over the original order deliberately. A lapsed subscriber is not kept entitled by the completed order that started them off.
What if someone buys two membership products in one order?
They are granted every plan the order maps to. The invoice names the first one, so the ledger shows a single plan against that sale even though access covers both.

Turn it on

Setup

Turn on monetization in BuddyNext, then open a product and pick the plan it sells. Check the granting order statuses while you are there: processing and completed both count by default.