自适应付款IPN交易ID未显示

时间:2012-08-26 06:57:58

标签: php paypal paypal-ipn paypal-adaptive-payments

我正在测试PayPal沙箱中的自适应支付,IPN正在正常返回我的网站,除了我无法显示交易ID,我想在我的数据库中使用它,因为用户可以使用它来重新下载媒体未来,或者如果他们没有立即重定向到网站并错过初始下载。

付款是连锁付款。

根据IPN开发人员指南(https://cms.paypal.com/cms_content/US/en_US/files/developer/IPNGuide.pdf),响应应使用transaction[n].id作为交易ID,i尝试过:

$_POST['transaction[0].id']
$_POST['transaction[0]['id']']
$_POST['txn_id']

所有人都在返回NULL。我为每个IPN都返回了IPN信息电子邮件,这就是我所得到的:

VERIFIED
--------------------------------------------------------------------------------
transaction              Array
log_default_shipping_address_in_transactionfalse
action_type              PAY
ipn_notification_url     xxx
charset                  windows-1252
transaction_type         Adaptive Payment PAY
notify_version           UNVERSIONED
cancel_url               xxx
verify_sign              AM-T87RnkCBg1jNaY5s.rN3m7228AwQazhSReOMGBFi9VRyKsQwGyQ9f
sender_email             j-test_1345926524_per@hotmail.com
fees_payer               EACHRECEIVER
return_url               xxx
reverse_all_parallel_payments_on_errorfalse
pay_key                  AP-13220443VY964171X
status                   COMPLETED
test_ipn                 1
payment_request_date     Sat Aug 25 23:49:05 PDT 2012

如何获得交易ID? (最重要的是,主要接收者ID)

2 个答案:

答案 0 :(得分:4)

我写了一系列关于自适应支付API的文章。 second one处理从自适应付款处理发送到您的IPN处理程序的变量。

PayPal会发送一组奇怪的变量,但可以将它们解码为我们能够在PHP中轻松使用的内容。

答案 1 :(得分:0)

您需要在Paypal(沙盒或实时环境)中进入主接收者的个人资料设置,并设置即时付款通知(IPN)首选项。这将向您指定的URL发送第二个IPN,其中包含您要查找的详细信息。