支付宝支付java模块接入,开发
Posted lewskay
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了支付宝支付java模块接入,开发相关的知识,希望对你有一定的参考价值。
准备
1、蚂蚁金服开放平台商户注册-》https://open.alipay.com/platform/home.htm
2、创建应用或者沙箱应用
3、创建应用或者沙箱应用
4.配置相关参数
回调,公钥私钥等,然后签约开发的移动端类型,签约应用,包括但不限于APP,网页支付.留存appid, 支付宝公钥,应用私钥,支付宝公钥由上传的应用私钥获取而来。
可以下载阿里提供的sdk进行集成,免去重写造轮子https://docs.open.alipay.com/54/103419/
代码
如果使用sdk提供的sdk进行编码速度岁提升很多,例如:
AlipayTradeQueryRequest 订单查询
AlipayTradeWapPayRequest web支付表单
AlipayTradePrecreateRequest 二维码预下单接口
.....
剩下的就是写业务相关方面的代码了
。。。。。。。。。。。。
回调:
@PostMapping("/aliPayBack") public void aliPayBack(HttpServletRequest request, HttpServletResponse response) throws IOException logger.debug("阿里支付成功回调接口"); String result = "failure"; try String orderCode= request.getParameter("out_trade_no"); Map<String, String> map = AliPayUtils.sortNotifyMap(request.getParameterMap());//对参数进行处理 应当为<String,String> boolean signVerified = AlipaySignature.rsaCheckV1(map, "公钥", AliConstants.UTF_8, AliConstants.RSA2); if (signVerified) //阿里云主动通知只有两种情况 1 付款成功 TRADE_SUCCESS 2退款通知TRADE_CLOSED String status = map.get("trade_status"); else result = "failure"; logger.debug(":阿里API校验未通过"); catch (Exception e) result = "failure"; e.printStackTrace(); finally PrintWriter out=response.getWriter(); out.println(result); out.flush(); out.close();
以上是关于支付宝支付java模块接入,开发的主要内容,如果未能解决你的问题,请参考以下文章
Java 支付宝支付,退款,单笔转账到支付宝账户(支付宝支付)