PayPal IPN $ POST ['TXN id'] не установлен

Я использую песочницу PayPal, чтобы сделать кнопку подписки, а затем, когда я получаю ответ IPN для подписки или отмены подписки $_POST['txn_id'] никогда не устанавливается.

поэтому я не знаю, как идентифицировать транзакции, чтобы принимать только уникальные

спасибо!

EDIT: например, вся информация, которую я имею в сообщении для subscr_cancel: amount1, amount3, address_status, subscr_date, payer_id, address_street, mc_amount1, mc_amount3, charset, address_zip, first_name, reattempt, address_country_code, address_name, otify_version subscr_id традиция payer_status бизнес address_country address_city verify_sign payer_email btn_id фамилия address_state приема электронной почты повторяющийся txn_type имя элемента mc_currency residence_country test_ipn period1 период3 correlation_id

2 ответов


по данным Таблица 2. Сводка переменных подписки:

для переменных подписки идентификатор транзакции (txn_id) доступен только для оплаты USD и Типы транзакций мультивалютных платежей (txn_type).

как и ожидалось, PayPal не будет отправлять txn_id к вашему IPN для типа транзакции,subscr_cancel и только отправить txn_id Если тип транзакции subscr_payment.

для дальнейшего объяснение, какие переменные отправляются на ваш IPN URL на основе вашей транзакции, пожалуйста, проверьте переменные IPN и PDT.


вы проверили $_REQUEST['txn_id'] поскольку это может быть отправлено на ваш сервер через GET.