Paypal 即时更新 nvp 不工作(沙盒环境)

Posted

技术标签:

【中文标题】Paypal 即时更新 nvp 不工作(沙盒环境)【英文标题】:Paypal instant update nvp not working (sandbox environment) 【发布时间】:2012-06-20 16:43:12 【问题描述】:

我目前正在使用 JAVA 实现 Paypal 的快速结帐,并与 PayPal NVP API 接口。我有 SetExpressCheckout、GetExpressCheckoutDetails、DoExpressCheckout、DoAuthorization 和 DoCapture 方法都在工作。但是,我需要实现即时更新 API 以计算我们服务器上的运费和税金并显示在贝宝的页面上。我遵循了所有步骤和建议,但是,从未调用过回调。我曾尝试使用 setExpressCheckout 参数,因为我在这个论坛中读到这些参数可能是问题,但还不能让它工作。当我登录或更改送货地址时,永远不会调用回调,顺便说一句,我处于沙盒环境中。

我的回调 url 是公开的并且可以正常工作。尝试使用网络浏览器时,它会调用我的 payPalCheckoutUpdate 方法并写入我服务器中的日志文件,所以我很肯定该 url 被调用了。问题是当我登录 paypal 的结帐移动网站或更改送货地址时,这个回调 url 永远不会被调用。

我的 paypal 更新方法托管在基于 Apache Ofbiz 的应用程序中,我在不同的论坛中发现 paypal 无法访问端口 8443 或 8080 中的 ofbiz url。所以我使用 apache 从我的回调 URL 重定向到我的实际方法和避免在回调 url 中使用不同于 80 的端口。 (使用网络浏览器测试时效果很好)

这是我在没有凭据的情况下对 setExpressCheckout 的调用(如果您在此调用中发现问题,请告诉我)

372623 [http-0.0.0.0-8443-3] 信息 com.paypal.sdk.core.nvp.NVPAPICaller - L_SHIPPINGOPTIONAMOUNT0=0.00&CANCELURL=https%3A%2F%2Fdev2.XXXjacker.com%3A8443%2FXXXjacker%2Fcontrol%2FpayPalCheckoutCancel&MAXAMT=80.99&L_SHIPPINGOPTIONLABEL0=计算+离线&AMT=80.99&RETURNURL=https%3A%2F%2Fdev2.XXXFXXXjacker.com%3843 %2Fcontrol%2FpayPalCheckoutReturn&CALLBACK=http%3A%2F%2Fdev2.XXXjacker.com%2FpayPalCheckoutUpdate&L_SHIPPINGOPTIONISDEFAULT0=true&L_AMT0=80.99&TAXAMT=0.00&L_QTY0=1&L_NUMBER0=286202&SHIPPINGAMT=0.00&L_NUMBER0=0.00&L_NUMBER0=286202&SHIPPINGAMT=0.00&L_AMT=0.00&L_AMT0=0.00&L_AMT0=0.00&L_AMT0=0.00&L_AMT0=0.00&L_8B+w+%2B+2% tuner%29&ITEMAMT=80.99&CALLBACKVERSION+=84.0&VERSION=84.0&L_SHIPPINGOPTIONNAME0=计算+离线&CALLBACKTIMEOUT=3&METHOD=SetExpressCheckout&CURRENCYCODE=USD&PWD=**&SOURCE=PAYPAL_JAVA_SDK_76.0&SIGNATURE=** **&USER=xxxxx_12xxxx643_biz_api1.xxxxxxxxxxxxx.com

我尝试使用和不使用 L_SHIPPINGOPTIONLABEL0 参数,还尝试将版本和回调版本设置为 76.0(我使用的 java 库的默认设置,取自 paypal)我总是得到相同的结果,回调 url 不是t 调用。

这是来自贝宝的回复:

373536 [http-0.0.0.0-8443-3] INFO com.paypal.sdk.core.nvp.NVPAPICaller - TOKEN=EC%2dXXXXXXXX03911650G&TIMESTAMP=2012%2d06%2d12T22%3a03%3a06Z&CORRELATIONID=f1e3c6&4VERS111dcesse5 =84%2e0&BUILD=2975009 确认:200 经过时间:914 毫秒

提前感谢您在此问题上提供的帮助。

【问题讨论】:

【参考方案1】:

回调可能需要SSL?:

http://www.konakart.com/forum/index.php?topic=280.0 http://afillyateit.com/forums/topic/500

【讨论】:

见***.com/questions/11440586/…我有同样的问题,切换到https没有帮助......作者有什么关于修复它的消息吗?

以上是关于Paypal 即时更新 nvp 不工作(沙盒环境)的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Paypal NVP API 为第三方客户“即时”创建加密的 PayNow 按钮?

为啥 Paypal 沙盒不处理付款?

Paypal NVP 身份验证失败

PayPal IPN 沙盒不工作,但模拟器可以

Paypal 沙盒做直接付款内部错误 10001 超时处理请求

带有 INVNUM 的 Paypal NVP TransanctionSearch 不返回任何付款信息