Implement Monthly Subscription Billing System

Job ID: 39752925

Budget: $30 – $250 CAD

Add monthly subscription invoicing with Square gateway if you can create a monthly automatic payment with square use stripe gateway.

Objective
Enable monthly payments for fixed terms. Terms: 12, 24, 36 months. Create from backend, send secure pay links to customers.
Scope
• Use WooCommerce Subscriptions for monthly subscription.
• Preferred gateway: Square via WooCommerce Square
• other option gateway: Stripe via WooCommerce Stripe
• Create subscription orders from admin and email the pay link
• Auto-charge each month after initial payment
• Show next renewal date and history in My Account
• Branded invoice emails on each renewal
Flow
Admin creates a subscription product for 12, 24, or 36 months, billed monthly
Admin sets price and length in backend
Admin creates a pending order or manual subscription for the customer
System emails a pay link, or admin copies the pay URL and sends it
Customer pays once, gateway stores a token
Renewals charge automatically each month until the term ends
Requirements
• WordPress with WooCommerce
• WooCommerce Subscriptions license and plugin
• WooCommerce Square plugin connected to Square account
• WooCommerce Stripe Gateway connected to Stripe account
• Test mode enabled for both gateways during QA
• Store email and tax settings confirmed
Gateway rules
• Use Square by default
• If Square fails to support automatic renewals for this setup, switch to Stripe for subscriptions
• Keep both gateways installed. Keep Stripe disabled unless needed
Admin setup
• Create three products: 12-month, 24-month, 36-month
• Set Billing Period: Month
• Set Billing Interval: 1
• Set Length: 12, 24, or 36 payments
• Enable “Auto renew”
• In Emails, enable “New renewal order,” “Processing renewal,” “Failed renewal,” “Cancelled subscription”
• Style email templates with brand logo and colors
Sending pay links
Option A: Create order from WooCommerce > Orders > Add order, add subscription product, assign customer, set status “Pending payment,” then use “Customer payment page” link
Option B: Add subscription from WooCommerce Subscriptions > Add Subscription, add product and customer, generate pending initial payment, send the “Pay” link
Stripe fallback checklist
• If Square does not tokenize the card or renewals fail in test, disable Square at WooCommerce > Payments
• Enable Stripe Credit Card
• Repeat a test purchase and confirm tokenized renewals
Acceptance criteria
• Admin creates a 12-month subscription, sends a pay link, customer completes checkout with Square
• System schedules 11 further monthly renewals automatically
• Renewal runs in test with a saved token without manual action
• Disabling Square and enabling Stripe allows the same flow without errors
• Email invoices send for initial and renewal payments
• Cancelling the subscription stops future renewals
• My Account shows plan, next renewal date, and past charges
• Reports list active subscriptions and renewals
Deliverables
• Configured WooCommerce Subscriptions, Square, Stripe
• Three subscription products with correct terms
• Email templates branded and tested
• One-page admin guide with screenshots for creating orders and sending pay links
• QA log with test orders and outcomes
• Rollback steps
References
WooCommerce Subscriptions docs
WooCommerce Square plugin
WooCommerce Stripe Gateway plugin
WordPress.org: https://wordpress.org/plugins/woocommerce-square/