【问题标题】:PAYPAL IPN postback returns INVALIDPAYPAL IPN 回发返回无效
【发布时间】:2016-11-28 13:28:21
【问题描述】:

我在我的一个应用程序中使用 Paypal 进行付款处理。作为其中的一部分,我正在使用 PayPal IPN。因此,当贝宝付款完成时,贝宝将 IPN 消息发送到 IPN URL(在贝宝网站中配置)。 IPN消息如下,

mc_gross=1.00&protection_eligibility=Eligible&address_status=confirmed&payer_id=GXZTE5K9VURMU&tax=0.00&address_street=Department+Of+State+2050+Bamako+Place+Washington%2C+DC+20521-2050&payment_date=01%3A18%3A47+Jul+23% + 2016 + PDT,PAYMENT_STATUS =完成和字符集=窗口1252&address_zip = 20521&FIRST_NAME =测试与mc_fee = 0.38 address_country_code = US&ADDRESS_NAME =测试+测试与notify_version = 3.8&定制= 3&payer_status =未经验证和业务= test.test15%40gmail.com&ADDRESS_COUNTRY =美+国&ADDRESS_CITY =华盛顿和数量= 1&verify_sign = ABiBx6LFP1A2IuUu8wF.arqoHdTJA5F1TwzPqOjEd01798Nh2NTTbdU0&PAYER_EMAIL = testpayer%40gmail.com&txn_id = 7AP55204BB503245S&payment_type =即时与姓氏=测试与ADDRESS_STATE = DC&RECEIVER_EMAIL = test.test15%40gmail.com&payment_fee = receiver_id = T3SDTD8X2SFZW&txn_type = web_accept&ITEM_NAME =捐赠+为test.com&mc_currency = EUR&ITEM_NUMBER = residence_country = US&的test_ipn = 1&handling_amount = 0.00&transaction_subject = payment_gross = &shipping=0.00&ipn_track_id=9f24d51b9d45c

因此,在使用以下代码使用 Paypal 验证上述消息时

<cfset requestData = getHTTPRequestData() /> <!--- getting IPN message --->

<cfhttp url="https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_notify-validate&#URLEncodedFormat(requestData.content)#" resolveurl="false">
    <cfhttpparam type="header"  name="Host" value="www.sandbox.paypal.com"> 
</cfhttp>

我在 90% 的时间里得到无效的响应,在剩下的 10% 的时间里得到验证。不知道为什么它变得无效。希望代码中没有缺陷,因为有时它会给出 VERIFIED 作为响应。我错过了什么吗?

您还可以在 IPN 消息中看到,payer_status 未验证。这是无效响应的原因吗(不确定)。如果是这样,为什么付款人状态为未验证以及如何验证此状态?

【问题讨论】:

  • 一次编码整个参数集是不正确的。您必须对每个名称和值进行编码,由未编码的= 分隔,对由未编码的&amp; 分隔。
  • 是的,好的,会检查这个,但同时如何验证某些付款?

标签: paypal coldfusion paypal-ipn paypal-sandbox coldfusion-10


【解决方案1】:

实际上,您根本不应该对请求进行编码,因为内容已经经过 URL 编码(您正在重复 IPN 以通过回显请求来验证)。要解决您的问题,请使用:

https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_notify-validate&#requestData.content#

【讨论】:

    猜你喜欢
    • 2011-10-26
    • 2018-10-29
    • 2012-04-26
    • 2010-12-01
    • 2014-10-21
    • 2013-01-20
    • 2016-10-21
    • 2016-01-24
    相关资源
    最近更新 更多