Java spring boot 实现支付宝支付

基本代码参考自:https://blog.csdn.net/fengxueliuke/article/details/106585809

注意事项
1.支付宝返回的二维码不能直接在浏览器中打开,而要用二维码转换工具来生成二维码,这里我是百度搜索草料二维码进行转义的
自己的解决方法:

    //②进入支付页面
    @RequestMapping(value = "/alipay")
    public void alipay(@RequestParam("outTradeNo") String outTradeNo,
                         @RequestParam("subject")String subject,
                         @RequestParam("totalAmount")String totalAmount,
                         @RequestParam("body")String body,
                        HttpServletRequest req,
                        HttpServletResponse response,
                       Model model) throws AlipayApiException, IOException {
        AlipayBean alipayBean = new AlipayBean();
        alipayBean.setOut_trade_no(outTradeNo);
        alipayBean.setSubject(subject);
        alipayBean.setTotal_amount(totalAmount);
        alipayBean.setBody(body);
        //返回支付页面
        response.setContentType("text/html;charset=utf-8");
        PrintWriter out = response.getWriter();
        out.println(payService.aliPay(alipayBean));
//        return payService.aliPay(alipayBean);
    }


将return payService.aliPay(alipayBean)换为

 response.setContentType("text/html;charset=utf-8");
 PrintWriter out = response.getWriter();
 out.println(payService.aliPay(alipayBean))

(这玩意整里一下午,终于自己摸索出来了)

2.支付宝沙箱环境生成的二维码只能用沙箱版本的手机支付宝来扫码,正常版本的支付宝扫会出现此二维码过期之类的错误

3.支付之后如果收不到支付宝发送的异步通知,可以使用postman等工具检查一下填写的notify_url是否能用公网ip访问到

4.如果遇到isv权限不足的问题就是因为没有签约或者应用没有添加相应的功能,应用没有上线也不能使用,开发的时候可以选择沙箱应用

5.沙箱版本的手机支付宝注册的时候收不到短信,可以联系客服索要一个账号
注册失败可参考https://blog.csdn.net/z740852294/article/details/77679256
上面写了正确使用沙箱版支付宝的方式

6.在下载沙箱钱包的时候要使用手机自带的浏览器进行下载,尽量不要使用被的浏览器,可能会下载不了

上一篇:重定向携带数据使用???


下一篇:解决springcloud 启动报 RequestParam.value() was empty on parameter 0