WoCommerce Subscriptions processes automatic renewal payments via the following flow:
- its scheduling system, Action Scheduler, will run every minute and find any woocommerce_scheduled_subscription_paymentactions scheduled to run now or within the last minute
- if there are woocommerce_scheduled_subscription_paymentactions scheduled for anytime before now, Action Scheduler will grab a batch of those actions and begin processing them (which just means triggeringdo_action( 'scheduled_subscription_payment', $subscription_id )for any 3rd party code to handle)
- Subscriptions attaches two important functions as callbacks on the 'woocommerce_scheduled_subscription_payment'hook to process renewal for that subscription when it is called:
- WC_Subscriptions_Manager::prepare_renewal(), which is responsible for
