我正在尝试让整个 PayPal AdaptivePayments#Pay 工作,那部分工作。我传递了一堆东西,得到了一个 paykey,我把它传递给了批准 url:
{returnUrl: urls[:return],
cancelUrl: urls[:cancel],
requestEnvelope: {errorLanguage: "en_GB"},
currencyCode: "GBP",
trackingId: self.id,
receiverList: {
receiver: [{email: Rails.configuration.site_paypal, amount: self.amount, primary: true},
{email: self.provider.paypal_email, amount: self.amount, primary: false}]
},
actionType: "PAY",
ipnNotificationUrl: urls[:ipn]}
服务器返回时一切正常,我重定向到 url,它有效,我在我的 PayPal 沙箱帐户中收到 Rails.configuration.site_paypal 的付款,在 IPN 历史记录中我看到了消息,但我无法识别它,因为它不包含 paykey 或 trackingId :(
transaction_subject=
txn_type=web_accept
payment_date=10:06:09 Aug 17, 2012 PDT
last_name=Baldry
residence_country=GB
item_name=
payment_gross=
mc_currency=GBP
business=<Rails.configuration.site_paypal>
payment_type=instant
protection_eligibility=Ineligible
verify_sign=Asu0z613h-fyw8CNuZEjSsMXS58PAi46SzR3IvXXTX5JUizhF8vV4z25
payer_status=verified
test_ipn=1
tax=0.00
payer_email=<customer@email.com>
txn_id=9M582867K79935008
quantity=0
receiver_email=<Rails.configuration.site_paypal>
first_name=Michael
payer_id=M7U3UVA3E65VY
receiver_id=375R229JBE3TY
item_number=
payment_status=Completed
mc_gross=157.00
custom=
charset=windows-1252
notify_version=3.6
ipn_track_id=c9fcf587d770f
我做错了什么?扯掉我的头发...
谢谢
最佳答案
IPN有两种类型
一个是根据他们的个人资料设置为收到钱的帐户生成的(看起来这就是你得到的那个)
另一个是为 API 调用者生成的(他可能会或可能不会参与交易的财务)。 API 调用者的 IPN 将包含 PayKey。
如果 API 调用方和其中一个接收方相同,请确保您可以区分您将收到的两个 IPN,或者每个 IPN 都有单独的 URL。 (API 调用者在进行 API 调用时指定,接收者在 PayPal 配置文件中指定)
关于PayPal IPN 响应未获得 payKey 或 trackingId?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12010181/