Помощь с pay_status PayPal Возвращенные частично восстановленные IPN

Будет ли этот сценарий ниже работать с сообщениями IPN, отправленными с IPN, если член подписывается и / или платит один раз за платеж, и они запрашивают возврат, возврат или частичный возврат?

if($payment_status == "Refunded" || $payment_status == "Reversed" || $payment_status == "Partially Refunded"){ mysql_query("UPDATE members SET month_date = '$gettoday', subscr_id = '$subscr_id', subscr_cancel = 'Y', active = 'N', prepay = 'N' WHERE id='$id'"); } 

Если нет, что я могу использовать или как это сделать на PHP, чтобы заставить мою систему читать все IPN payment_status и знать, какой абонент (по их идентификатору подписки PayPal или идентификатору участника в моей системе) или плательщику ((по их идентификатору участника в моей системе) для выполнения действий, когда один из них отправлен?

Кроме того, если бы я хотел проверить идентификатор подписки, будет ли он умнее делать это так?

 if($payment_status == "Refunded" || $payment_status == "Reversed" || $payment_status == "Partially Refunded"){ if($subscr_id){ mysql_query("UPDATE members SET month_date = '$gettoday', subscr_id = '$subscr_id', subscr_cancel = 'Y', active = 'N', prepay = 'N' WHERE id='$id'"); } else { mysql_query("UPDATE members SET month_date = '$gettoday', subscr_cancel = 'Y', active = 'N', prepay = 'N' WHERE id='$id'"); }} 

Paypal сначала отправит IPN, чтобы статус оплаты был отменен, а затем другой IPN с возвратом статуса. Таким образом, я бы не включил как отмененный, так и возвращенный, как это было в вашем первоначальном примере.

Что касается тестирования для user_id, это всегда согласовано, каждый IPN включает в себя плательщиков PayPal email, включая обратные / возвращенные сообщения.