Помощь с payment_status PayPal Возврат Частично возмещенные IPN - PullRequest
2 голосов
/ 03 марта 2011

Будет ли приведенный ниже сценарий работать с сообщениями 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'");

}}

1 Ответ

1 голос
/ 08 марта 2011

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

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

...