Stripe's IPN for Cancellation During Trial being Ignored

Hi! I have the trial period set at a higher amount, since it seems to be the way to charge a set up fee or to make the first month have a different price than the remainder.

Today I cancelled one subscription per user’s request, the IPN was sent to s2Member but it returned [0] => Ignoring this Webhook/IPN. The event does NOT require any action on the part of s2Member. instead of setting the EOT as it should.

Below a copy of the log entry for the event. I wonder if the same issue will happen when a subscription is cancelled after those 30 days for someone else. I’ll keep you all posted as usual :wink:

LOG ENTRY: Wed Nov 25th, 2020 @ precisely 1:24 am UTC
PHP v7.4.10 :: WordPress v5.5.3 :: s2Member v200301 :: s2Member Pro v200301
Memory 5.97 MB :: Real Memory 2.00 MB :: Peak Memory 6.04 MB :: Real Peak Memory 2.00 MB
<<notification url *** redacted ***>>
User-Agent: Stripe/1.0 (+https://stripe.com/docs/webhooks)
Array
(
    [event] => Stripe\Event Object
        (
            [id] => *** redacted ***
            [object] => event
            [api_version] => 2020-08-27
            [created] => 1606267446
            [data] => Stripe\StripeObject Object
                (
                    [object] => Stripe\Subscription Object
                        (
                            [id] => *** redacted ***
                            [object] => subscription
                            [application_fee_percent] => 
                            [billing_cycle_anchor] => 1608010061
                            [billing_thresholds] => 
                            [cancel_at] => 1608010061
                            [cancel_at_period_end] => 1
                            [canceled_at] => 1606267446
                            [collection_method] => charge_automatically
                            [created] => 1605418061
                            [current_period_end] => 1608010061
                            [current_period_start] => 1605418061
                            [customer] => *** redacted ***
                            [days_until_due] => 
                            [default_payment_method] => 
                            [default_source] => 
                            [default_tax_rates] => Array
                                (
                                )

                            [discount] => 
                            [ended_at] => 
                            [items] => Stripe\Collection Object
                                (
                                    [object] => list
                                    [data] => Array
                                        (
                                            [0] => Stripe\SubscriptionItem Object
                                                (
                                                    [id] => *** redacted ***
                                                    [object] => subscription_item
                                                    [billing_thresholds] => 
                                                    [created] => 1605418062
                                                    [metadata] => Stripe\StripeObject Object
                                                        (
                                                        )

                                                    [plan] => Stripe\Plan Object
                                                        (
                                                            [id] => *** redacted ***
                                                            [object] => plan
                                                            [active] => 1
                                                            [aggregate_usage] => 
                                                            [amount] => 600
                                                            [amount_decimal] => 600
                                                            [billing_scheme] => per_unit
                                                            [created] => 1605157061
                                                            [currency] => usd
                                                            [interval] => day
                                                            [interval_count] => 30
                                                            [livemode] => 1
                                                            [metadata] => Stripe\StripeObject Object
                                                                (
                                                                    [recurring] => true
                                                                    [recurring_times] => -1
                                                                )

                                                            [nickname] => 
                                                            [product] => *** redacted ***
                                                            [tiers_mode] => 
                                                            [transform_usage] => 
                                                            [trial_period_days] => 30
                                                            [usage_type] => licensed
                                                        )

                                                    [price] => Stripe\StripeObject Object
                                                        (
                                                            [id] => *** redacted ***
                                                            [object] => price
                                                            [active] => 1
                                                            [billing_scheme] => per_unit
                                                            [created] => 1605157061
                                                            [currency] => usd
                                                            [livemode] => 1
                                                            [lookup_key] => 
                                                            [metadata] => Stripe\StripeObject Object
                                                                (
                                                                    [recurring] => true
                                                                    [recurring_times] => -1
                                                                )

                                                            [nickname] => 
                                                            [product] => *** redacted ***
                                                            [recurring] => Stripe\StripeObject Object
                                                                (
                                                                    [aggregate_usage] => 
                                                                    [interval] => day
                                                                    [interval_count] => 30
                                                                    [trial_period_days] => 30
                                                                    [usage_type] => licensed
                                                                )

                                                            [tiers_mode] => 
                                                            [transform_quantity] => 
                                                            [type] => recurring
                                                            [unit_amount] => 600
                                                            [unit_amount_decimal] => 600
                                                        )

                                                    [quantity] => 1
                                                    [subscription] => *** redacted ***
                                                    [tax_rates] => Array
                                                        (
                                                        )

                                                )

                                        )

                                    [has_more] => 
                                    [total_count] => 1
                                    [url] => /v1/subscription_items?subscription=*** redacted ***
                                )

                            [latest_invoice] => *** redacted ***
                            [livemode] => 1
                            [metadata] => Stripe\StripeObject Object
                                (
                                    [tax_info] => {"trial_tax":"0.00","trial_tax_per":"0%","tax":"0.00","tax_per":"0%"}
                                )

                            [next_pending_invoice_item_invoice] => 
                            [pause_collection] => 
                            [pending_invoice_item_interval] => 
                            [pending_setup_intent] => 
                            [pending_update] => 
                            [plan] => Stripe\Plan Object
                                (
                                    [id] => *** redacted ***
                                    [object] => plan
                                    [active] => 1
                                    [aggregate_usage] => 
                                    [amount] => 600
                                    [amount_decimal] => 600
                                    [billing_scheme] => per_unit
                                    [created] => 1605157061
                                    [currency] => usd
                                    [interval] => day
                                    [interval_count] => 30
                                    [livemode] => 1
                                    [metadata] => Stripe\StripeObject Object
                                        (
                                            [recurring] => true
                                            [recurring_times] => -1
                                        )

                                    [nickname] => 
                                    [product] => *** redacted ***
                                    [tiers_mode] => 
                                    [transform_usage] => 
                                    [trial_period_days] => 30
                                    [usage_type] => licensed
                                )

                            [quantity] => 1
                            [schedule] => 
                            [start_date] => 1605418061
                            [status] => trialing
                            [transfer_data] => 
                            [trial_end] => 1608010061
                            [trial_start] => 1605418061
                        )

                    [previous_attributes] => Stripe\StripeObject Object
                        (
                            [cancel_at] => 
                            [cancel_at_period_end] => 
                            [canceled_at] => 
                        )

                )

            [livemode] => 1
            [pending_webhooks] => 1
            [request] => Stripe\StripeObject Object
                (
                    [id] => *** redacted ***
                    [idempotency_key] => 
                )

            [type] => customer.subscription.updated
        )

    [s2member_log] => Array
        (
            [0] => Ignoring this Webhook/IPN. The event does NOT require any action on the part of s2Member.
        )

)

Hi,
It seams that I am facing the same problem. I have tested it and got the same output in log file

[s2member_log] => Array
(
[0] => Ignoring this Webhook/IPN. The event does NOT require any action on the part of s2Member.
)

Any idea how to fix it?

I stopped using trials because of it, back then, and other issues with the system giving access even if the trial was supposed to be paid and the payment didn’t work properly or wasn’t confirmed (I don’t remember the details, sorry, too long ago, I just remember trials were too much of a hassle so I stopped using them).

:grimacing:

Hi Sim,
Thanks for replay.
I can see that you have been active on this forum trying to dig into EOT issues. Do you have any advices/tips how to deal with it?
My subscription does not really starts with trial because I am charging users from the frist month (just different amount). Some of them have EOT set in the future but when I have tested it was not working.
Another example: I had a setting set to Delete the users after EOT and what happened that one user cancelled subscription, S2M didn’t set EOT and deleted the user before actual end period (EOT).

Why I am using setting “Delete the users after EOT” is becasue I am using Pabbly for connection between MailerLite and Wordpress to assign and remove users from different mailling groups depending on subscription level. There is no option to use Pabbly to remove user from mailing group when he is demoted to Free subscription.

The problems with EOT setting by S2M is giving me additional headache.