I’ve been allowing IPN logs for a little while to see what’s up with max failed payments not demoting any members, and have got some handy info, but not sure what the next step is.
The client simply receives a PayPal email to say “You didn’t get your money” and “The automatic payment from has failed 1 times. As a result, we will not try to process this automatic payment again.”
Checking the IPN logs, this is the short version of what’s happening:
Account has 3 attempted charges;
The first 2 are logged as ‘recurring_payment_skipped’ and each time this occurs the next attempted-charge is set for 5 days time by PayPal.
S2M does not take any action based on any number of ‘skipped’ payments, so the account stays the same.
The last 1 is ‘recurring_payment_failed’ which sets the next attempted-charge for 82 days’ time, which I’m guessing is ‘3 months’ (the subscription duration) minus the 10 days it took to reach that last failure from the initial failure.
S2M then logs “s2Member does NOT respond to individual failed payments, only multiple consecutive failed payments.”
Here’s the s2M log from that final ‘failed’ payment:
 => IPN received on: Thu May 18, 2017 11:11:35 am UTC  => s2Member POST vars verified through a POST back to PayPal.  => s2Member originating domain (`$_SERVER["HTTP_HOST"]`) validated.  => s2Member `txn_type` identified as ( `subscr_failed|recurring_payment_failed|recurring_payment_skipped` ).  => This `txn_type` does not require any action on the part of s2Member.  => s2Member does NOT respond to individual failed payments, only multiple consecutive failed payments.  => When multiple consecutive payments fail, a special IPN response will be triggered.
So, where to from here? I’m using Pro Forms with rra=2. Do I need to change this rra value? It seems like PayPal gives up after 1 ‘failed’ payment which doesn’t include the previous ‘skipped’ payments, but that isn’t enough to trigger any action by s2Member. I’m a bit stuck!