java对接支付宝支付项目怎么实现

java对接支付宝支付项目怎么实现

对接支付宝支付演示

现在有不少的项目都需要对接支付,这里主要是进行讲解对接支付宝h5支付

废话不多说 上代码

引入支付宝官方的sdk

 
        
            com.alipay.sdk
            alipay-easysdk
            2.2.0
        
        
        
            com.alipay.sdk
            alipay-sdk-java
            4.10.124.ALL
        

编写调用支付的方法

 @RequestMapping("/test")
    public void doPost(HttpServletRequest httpRequest,
                       HttpServletResponse httpResponse) throws ServletException, IOException {
        //商户号
        String APP_ID="";
        //私钥
        String APP_PRIVATE_KEY="";
        //编码
        String CHARSET="UTF-8";
        //公钥
        String ALIPAY_PUBLIC_KEY="";
        //我是沙箱环境 所有请求地址是沙箱版
        AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipaydev.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY, "RSA2"); //获得初始化的AlipayClient
        AlipayTradeWapPayRequest alipayRequest = new AlipayTradeWapPayRequest();//创建API对应的request

java支付宝接口教程

        //这里主要是设置回调 也就是支付成功之后你要做什么操作的地址         alipayRequest.setReturnUrl("http://domain.com/CallBack/return_url.jsp");         alipayRequest.setNotifyUrl("http://domain.com/CallBack/notify_url.jsp");//在公共参数中设置回跳和通知地址         /**          * @description:          * @author: hwk          * @date: 2022/6/14 16:34          * @param: out_trade_no 订单编号          * total_amount 付款金额          * subject 商品名称          * product_code 支付方式 如手机网站 pc网站 APP支付等          **/        JSONObject jsonObject = new JSONObject();         jsonObject.put("out_trade_no", "264484811515156");         jsonObject.put("total_amount", "66");         jsonObject.put("subject", "测试支付");         jsonObject.put("product_code", "QUICK_WAP_WAY");         alipayRequest.setBizContent(jsonObject.toJSONString());         String form="";         try {             form = alipayClient.pageExecute(alipayRequest).getBody();         } catch (AlipayApiException e) {             e.printStackTrace();         }         //因为我不会写前端 所以直接输出测试 如果在正式环境中 建议直接return 返回的from表单         httpResponse.setContentType("text/html;charset=" + CHARSET);         httpResponse.getWriter().write(form);//直接将完整的表单html输出到页面         httpResponse.getWriter().flush();         httpResponse.getWriter().close();     }     //支付回调     @RequestMapping("/test1")     public void aliPayNotify() {             Map params = getAllRequestParam(request);

java支付宝接口教程

            String tradeStatus = params.get("trade_status");             if ("TRADE_SUCCESS".equals(tradeStatus)) {                 System.out.println("支付成功");             }else {                 System.out.println("支付失败");             }     }     private Map getAllRequestParam(final HttpServletRequest request) {         Map res = new HashMap(8);         Enumeration temp = request.getParameterNames();         while (temp.hasMoreElements()) {             String en = (String) temp.nextElement();             String value = request.getParameter(en);             res.put(en, value);         }         return res;     }

入参正式支付的时候 可以用 json等接收 我这里只是演示

成功演示图

java支付宝接口教程

java支付宝接口教程

java支付宝接口教程

讲解一下实际支付的时候所需要的参数吧

除去appid 公钥 私钥什么的

你正常支付所需要的参数无非 就是商品的id(主要是用于根据商品id查询商品的名称价格等后续调用支付的时候需要)、购买人

然后查询到商品的详情 set到对应的参数里面 去调用支付宝sdk 来生成from表单

你们可以在回调里面进行支付成功之后的一些操作

比如说:购买的是会员 然后在支付成功之后去给他进行开通会员或者续费会员

有一点要提醒你们 发起支付前创建的订单一定要是未支付 在回调里面判断用户是否成功

如果有用户主动查询是否支付成功的操作 建议根据订单号先去数据库查询是否等于支付成功 如果不等于去官方给的接口去查是否支付成功 这样做的好处就是有的时候回调慢了一点 用户主动去查询如果是支付成功不会造成返回支付失败

Java免费学习笔记:立即学习

解锁 Java 大师之旅:从入门到精通的终极指南

公告:
1. 本站所有资源来源于用户上传和网络,如有侵权请联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长处理!
6. 本站不售卖代码,资源标价只是站长收集整理的辛苦费!如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
7. 站长QQ号码 2205675299

资源库 - 资源分享下载网 » java对接支付宝支付项目怎么实现

常见问题FAQ

关于资源售价和售后服务的说明?
本站所有资源的标价均为本站收集资源的辛苦费,不代表资源本身的价值。软件是高智慧高价值的商品,不可能是白菜价。本站资源标价只是赞助费用,收取的赞助费仅用来维持本站的日常运营!毕竟收集整理资料需要投入云计算资源和站长大量的精力。
代码有没有售后服务和技术支持?
由于代码的运行具有不可预见性,本站不保证代码完整可运行,不提供技术支持和售后服务。 本站原创代码都是站长自己开发的,可以有偿提供技术支持服务。 网站里标明【亲测】的代码都是站长亲测过的,其他的代码由于精力有限,没有一一测试,不能保证代码就一定能够使用,更没有技术支持服务,下载前请自行斟酌。
有没有搭建服务?
由于搭建服务比较费时费力,所以本站除了原创代码外均不提供搭建服务。本站分享代码纯属兴趣爱好,不以盈利为目的,请勿咨询有没有搭建服务,谢谢理解。
链接地址失效了怎么办?
请带上资源链接地址联系客服,工作时间内我们看到后将第一时间回复。
关于解压密码
本站资源一般都没有加密,如果发现需要解压密码的,那么就输入 hao.35dc.com 试试。

发表评论

资源库,由老程序员细心甄别、精心筛选,只为提供优质的源码资源

关于我们 联系我们