PayPal IPN $ _POST ['txn_id']未设置

时间:2012-01-31 15:41:44

标签: php paypal sandbox paypal-ipn

我正在使用PayPal沙箱进行订阅按钮,然后当我收到订阅或订阅取消的IPN响应时,$ _POST ['txn_id']永远不会设置。

所以我不知道如何识别只接受唯一的交易

谢谢!

编辑:例如我在POST中为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 RECEIVER_EMAIL 经常性 txn_type 项目名称 mc_currency 居住的国家 的test_ipn 间隔1 period3 CORRELATION_ID

2 个答案:

答案 0 :(得分:6)

根据Table 2. Summary of subscription variables

  

对于订阅变量,交易ID(txn_id)仅适用于USD Payment和   多货币支付交易类型(txn_type)。

正如预期的那样,如果交易类型为{{1,PayPal将不会将txn_id发送到您的IPN以获取交易类型subscr_cancel,并且仅会发送txn_id }} 即可。

有关根据您的交易将哪些变量发送到您的IPN网址的详细说明,请查看IPN and PDT Variables

答案 1 :(得分:0)

您是否已选中$_REQUEST['txn_id'],因为这可能会通过GET发送到您的服务器。