Subscriptions automatically activates a subscription and set the start date to the current time upon payment. For standard orders this is expected. This occurs within WC_Subscriptions_Order::maybe_record_subscription_payment().
In the case of Pre-orders that are paid upfront, it activates a subscription prior to the product being available. As a result the recurring payments begin after the selected time frame, this too may be before the product is available.
In order to prevent a subscription from activating prior to the products availability, it would be helpful to introduce a filter allowing plugins to override it.
Description
This comes out of adding subscription support to the Pre-orders extension, see https://github.com/woocommerce/woocommerce-pre-orders/issues/393 and the associated PR https://github.com/woocommerce/woocommerce-pre-orders/pull/497
Subscriptions automatically activates a subscription and set the start date to the current time upon payment. For standard orders this is expected. This occurs within
WC_Subscriptions_Order::maybe_record_subscription_payment()
.In the case of Pre-orders that are paid upfront, it activates a subscription prior to the product being available. As a result the recurring payments begin after the selected time frame, this too may be before the product is available.
In order to prevent a subscription from activating prior to the products availability, it would be helpful to introduce a filter allowing plugins to override it.
Pull request incoming
Testing instructions
npm i; npm run build:dev
Product impact
Dev notes
Additional context