我正在努力让整个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]}
服务器返回正确的一切,我重定向到网址,它的工作原理,我在我的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
我做错了什么?撕掉我的头发......
由于
答案 0 :(得分:9)
有两种类型的IPN
根据他们的个人资料设置为收到钱的帐户生成一个(看起来就是你得到的那个)
另一个是为API调用者生成的(可能会或可能不会在此事务中涉及财务)。 API调用者的IPN将包含PayKey。
如果API调用者和其中一个接收者是相同的,请确保您可以区分您将收到的两个IPN,或者每个IPN都有不同的URL。 (在进行API调用时指定了API调用者,在PayPal配置文件中指定了接收者)