Hi Christian,
Thanks so much for the quick reply. I appreciate it, very much.
In answer to those questions. I am using Payflow Payments Pro, and all the subscriptions were created using s2 Member Pro-forms.
As I mentioned all payments are working, and new subscriptions are being set. The issues are only around cancellations, and some members cancellations are handled correctly, while some are not.
During a recent transfer of domains I manually updated the ‘custom’ meta tables for all users to reflect the new domain name, and updated my pro form shortcodes to reflect the change as well… but maybe there’s a clue there.
The IPN that results in the error has a txn_type = mp_cancel and the status = 1. Here’s the full IPN as it appears in the website log.
User-Agent: PayPal IPN ( https://www.paypal.com/ipn )
Array
(
[txn_type] => mp_cancel
[last_name] => ...
[mp_currency] => CAD
[residence_country] => CA
[mp_status] => 1
[mp_custom] =>
[verify_sign] => AGXI4xCtkJvBtKII9WZ.J6fe94aOASRUhiYD9TSuJhj4c9OzTrDp92Vf
[payer_status] => verified
[payer_email] => calvin...@gmail.com
[first_name] => Calvin
[payer_id] => E5CDH99QBRDEC
[reason_code] => mp_2002
[mp_id] => B-4MG03229F3963141P
[charset] => windows-1252
[notify_version] => 3.9
[mp_desc] => Discount: 25% off. (Now: $9.74 / monthly) ~ ORIGINALLY: 1...
[ipn_track_id] => 8003db4732e49
[s2member_log] => Array
(
[0] => IPN received on: Sat Mar 13, 2021 2:13:06 pm UTC
[1] => s2Member POST vars verified through a POST back to PayPal.
[2] => s2Member originating domain (`$_SERVER["HTTP_HOST"]`) validated.
[3] => Ignoring this IPN request. The `txn_type/status` does NOT require any action on the part of s2Member.
)
[subscr_gateway] => paypal
[custom] => harmonicatime.com
)
On the Paypal Side it looks like this:
txn_type=mp_cancel&last_name=...&mp_currency=CAD&residence_country=CA&mp_status=1&mp_custom=&verify_sign=AGXI4xCtkJvBtKII9WZ.J6fe94aOASRUhiYD9TSuJhj4c9OzTrDp92Vf&payer_status=verified&payer_email=calvin...@gmail.com&first_name=Calvin&payer_id=E5CDH99QBRDEC&reason_code=mp_2002&mp_id=B-4MG03229F3963141P&charset=windows-1252¬ify_version=3.9&mp_desc=Discount: 25% off. (Now: $9.74 / monthly) ~ ORIGINALLY: 1...&ipn_track_id=8003db4732e49
Meanwhile this morning I had a cancellation from a member and the EOT was assigned to their signup date, so as soon as they cancelled they lost access. I know this has been happening frequently too but maybe another clue there for you!
Here’s than IPN:
User-Agent: s2Member v210208; https://harmonicatime.com
Array
(
[txn_type] => subscr_cancel
[subscr_id] => RP0000001137
[custom] => harmonicatime.com
[period1] => 0 D
[period3] => 3 M
[payer_email] => davide...@gmail.com
[first_name] => Davide
[last_name] => ...
[option_name1] => Referencing Customer ID
[option_selection1] => RP0000001137
[option_name2] => Customer IP Address
[option_selection2] => 172.58.227.155
[item_name] => 1598797944:0 D:3 M~mitchgrainger.com~2:quarter,annually,billing,downloads,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,
[item_number] => 2:quarter,annually,billing,downloads,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,
[period] => 0 D
[option_name] => Referencing Customer ID
[option_selection] => RP0000001137
[proxy_verified] => paypal
[s2member_log] => Array
(
[0] => IPN received on: Sun Mar 14, 2021 10:17:25 pm UTC
[1] => s2Member POST vars verified with a Proxy Key
[2] => s2Member originating domain (`$_SERVER["HTTP_HOST"]`) validated.
[3] => s2Member `txn_type` identified as ( `subscr_cancel|recurring_payment_profile_cancel|mp_cancel` ).
[4] => Auto-EOT Time for this account: Mon Aug 31, 2020 7:00 am UTC
[5] => Cancellation Notification Emails have been processed.
)
[subscr_gateway] => paypal
[subscr_baid] => RP0000001137
[subscr_cid] => RP0000001137
[level] => 2
[ccaps] => quarter,annually,billing,downloads,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,
[ip] => 172.58.227.155
[s2member_paypal_proxy] => paypal
[s2member_paypal_proxy_use] => pro-emails
[s2member_paypal_proxy_verification] => d753460955bb44de42f41487b700edf0
I know that’s a lot. Hopefully this helps!?
The only other thought I had, is Payal updated the list of IP address they use to send IPN’s in December too. That’s above my head though…
Thanks again for your time on this!
Mg