WPSubscription

Subscriptions and recurring payments for WooCommerce, published on WordPress.org. Billing cycles, free trials, installment plans and a customer self-service area, renewed in the background through Stripe, PayPal and further gateways.

WPSubscription in use

What the work involved

WPSubscription turns any WooCommerce product into a subscription. A store owner sets a billing cycle — daily, weekly, monthly or yearly — adds a free trial or a sign-up fee if they want one, and the plugin takes it from there: renewals are charged automatically at the start of each cycle, and the customer never has to come back to the checkout.

Recurring billing is a lifecycle, not a payment. A subscription is created, renewed, paused, switched to another plan, cancelled, or left to expire, and every one of those transitions has to be reflected in WooCommerce orders, in the email a customer receives, and in the activity log a store owner reads when something looks wrong. Most of the engineering is in keeping those three in agreement.

Payment gateways are where that gets hard. Stripe and PayPal renew subscriptions in the free plugin, with further gateways in Pro, and each one has its own idea of what a recurring charge is, when it failed, and how a customer replaces an expired card. The plugin has to present one consistent subscription on top of all of them.

I contribute to the plugin as part of the team that builds it, working on its core architecture, feature development and payment gateway integrations. I also built Doel, an AI agent for the product that answers user questions on Telegram and Discord, validates reported issues, opens GitHub issues, drafts candidate pull requests, and writes the release changelogs.