2012-10-12 2 views
6

Если у абонентской платы, уплачивающей ежемесячный абонент, истекает срок действия кредитной карты, а paypal трижды проваливается, пытаясь получить средства, то они «приостанавливаются» с помощью PayPal. Я пытаюсь обновить свой PHP-скрипт, чтобы в этой ситуации произошли правильные изменения в базе данных. Я изучил документацию по PayPal и не могу найти четкого ответа на то, какую переменную IPN я должен использовать, когда учетная запись пользователя приостановлена.Правильная переменная IPN для приостановленных подписей

Кто-нибудь знает, какая из следующих является правильной переменной и значением для использования?

если ($ payment_status == "подвешенный" || $ txn_type == "подвешенный" || $ txn_type == "subscr_failed" || $ profile_status == "подвешенный") {

Спасибо!

ответ

6

Я получаю $ txn_type == "recurring_payment_suspended_due_to_max_failed_payment", также обратите внимание, что вместо $ subscr_id вместо этого вы будете иметь $ recurring_payment_id. По крайней мере, это то, что происходит, когда я имитирую неудачные платежи в Sandbox в Paypal.

+3

Да, документация Paypal - это немного шутка. Я разговаривал по телефону с одним из их сотрудников, которые сказали мне, что после двух неудачных платежей абонемент будет отменен. Конечно, нет. После 3 сбоев подписка была приостановлена ​​и, глядя на мои журналы, я обнаружил статус «recurring_payment_suspended_due_to_max_failed_payment» как единственный признак этого. – glidester

+6

Парень, который разработал IPN 'recurring_payment_suspended_due_to_max_failed_payment', должен быть запущен. Это полностью отличается от всех других IPN, начиная с этого смешного txn_type, тогда ему не хватает бизнес-параметра и переименован recurring_payment_id. Я имею в виду, что wtf думал об этом разработчике? – mrbrdo

Смежные вопросы