6

我试图让整个 PayPal AdaptivePayments#Pay 工作,这部分工作。我传递了一堆东西,得到一个支付密钥,我将它传递到批准网址:

{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,它可以工作,我在我的 Rails.configuration.site_paypal 的 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

我究竟做错了什么?扯掉我的头发...

谢谢

4

1 回答 1

9

有两种类型的 IPN

一个是根据他们的个人资料设置为收款的帐户生成的(看起来这就是你得到的那个)

另一个是为 API 调用者(可能会或可能不会在交易中涉及财务)生成的。API 调用者的 IPN 将包含 PayKey。

如果 API 调用者和接收者之一是相同的,请确保您可以区分您将收到的两个 IPN,或者每个都有单独的 URL。(API 调用者在进行 API 调用时指定,接收者在 PayPal 配置文件中指定)

于 2012-08-20T03:10:22.560 回答