• When a subscription renews via ach payment the renewal date is not set to be exactly a month later. It appears it is setting the renewal date to start from when the transaction fully clears about 3-5 days later that the subsriptions actual renewal date. This doesn’t seem to happen with all subscriptions using ACH but just some. For example if the subscription has a renewal date of the 1st, then it should always reneww on the 1st if the ACH payment transaction started on the 1st. But it is not doing this. the result over 10 months is one months of missed subscription payments if it shifts 3-5 days later each month.

Viewing 4 replies - 1 through 4 (of 4 total)
  • Plugin Author Clayton R

    (@mrclayton)

    Hi @getserioussem

    ACH payments are an asynchronous payment method, meaning it takes several days before Stripe sends the payment_intent.succeeded webhook event. When the renewal order’s status is updated via the WC_Order::payment_complete() method call, Woo Subscriptions updates the subscription object and schedules the next payment.

    Because this process can take several days, it sounds like the next renewal payment is being scheduled later than you’re expecting. There isn’t a great way to handle that scenario since you don’t want to call payment_complete until the renewal order’s payment is actually completed.

    Kind Regards

    Thread Starter GetSeriousSEM

    (@getserioussem)

    Is there a way to make a cron job or something run after the order changes to processing that will then update the subscription to initiate the renew period based on the date the transaction started? Or to calculate the renewal date based on the subscription period and the transaction start date? Otherwise you have to go in every month and manually update your renewal dates and that is very time consuming.

    Thread Starter GetSeriousSEM

    (@getserioussem)

    I found this https://github.com/woocommerce/woocommerce-subscriptions-preserve-billing-schedule?tab=readme-ov-file. Maybe it can help you work a solution into your plugin.

    Plugin Author Clayton R

    (@mrclayton)

    Hi @getserioussem

    Thanks for the link. The solution offered in that github is very simple so the best way to resolve your issue would be to add the following code snippet, via a code snippet plugin.

    add_filter( 'wcs_calculate_next_payment_from_last_payment', '__return_false' );

    That will solve your issue.

    Kind Regards

Viewing 4 replies - 1 through 4 (of 4 total)

The topic ‘ACH payment sets wrong renewal date’ is closed to new replies.