首页 > 代码库 > 关于支付宝接口整合的几个问题

关于支付宝接口整合的几个问题

如果顺利的话很快就可以弄好,总之按照文档要求来。

 1.  jsp页面可以改成action吗?

答案是可以。原来的页面基本不用改,直接拷贝到action中,开头加上一句
HttpServletRequest request = ServletActionContext.getRequest();

最后的 out.println("success"); 换成如下:

HttpServletResponse response = ServletActionContext.getResponse();
  response.setCharacterEncoding("UTF-8");
  response.setContentType("text/html;charset=utf-8");
  response.setHeader("pragma", "no-cache");
  response.setHeader("cache-control", "no-cache");
try {
    response.getWriter().write("success");
} catch (IOException e) {
    e.printStackTrace();
 }

其他的不用变,只是要根据返回的状态写业务逻辑。

2. ILLEGAL_SIGN 错误码。
造成这个错误的原因比较多,其中两点是:

(1)传递了值为空的参数, 如果要为空的参数,那么该参数就不能传递给支付宝,即请求的URL链接里不能存在该参数的提交,
也就是说要传递的参数,必须保证有值。

(2)安全校验码(Key)写错了,我就是这个原因,当时上级给我资料时说随便用个12345在后面再改过来,结果忘了。

 3. 本地测试(不用放到服务器上,只要电脑能上网就行):

可以测试整个流程包括下订单到支付成功以及获得支付宝返回的数据以及

自己业务逻辑的处理(对应return_url.jsp的内容)。notify_url.jsp对应的要在服务器上才可以测试。

return_url地址写成: http://192.168.1.xxx:8080/xxx/alipay_returnUrl.action;  ip为本机的ip地址。