2

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

支付方式为链式支付。

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

$_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)

4

2 回答 2

4

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

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

于 2013-02-21T00:17:25.160 回答
0

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

于 2013-01-10T06:38:22.153 回答