项目概述
最近项目需要后端打通支付,所以对接部分做成了一个小模块.
先说下项目要求:
后端要对接银联无跳转Token支付,支付宝wap支付,微信APP支付,前端用的是H5和ionic.后端对下单请求只拼接参数或者拼接html给前端,前端提交下单,支付逻辑则再后端进行.
其中支付宝提供了SDK,银联也提供了SDK,微信的这个SDK在后端貌似没法用,自己写了个.
银联支付流程,当然银联接口很多,流程时候设计稿相对应的
支付宝支付流程:
微信支付流程:和支付宝差不多,但坑多…
项目结构
项目设计每一个支付都有Config来配置一些公共参数之类的.然后Config可以得到一个Client单例对象,请求都是有Client来发的,用户使用Trade对象,该对象把请求交给Client,并拿到结果.
所以如果你想启动这个项目,最先开始的去Config里面配置你的商户参数.具体使用可以参考test里面的demo
调用形式如下:
@Test public void testTradeWapPayRequest(){ AlipayTrade alipayTrade = new AlipayTrade(); MapparaMap = new HashMap (); paraMap.put("out_trade_no",System.currentTimeMillis()+""); paraMap.put("total_amount","0.01"); paraMap.put("subject","测试退款"); paraMap.put("seller_id",System.currentTimeMillis()+""); paraMap.put("product_code","QUICK_WAP_PAY"); alipayTrade.TradeWapPayRequest(paraMap); }
知道这个结构便于你二次开发.对待这些支付对接,要耐心看官方文档,不然往往停留在验签上面不经推进项目.
github地址: JavaWEB”>https://github.com/nl101531/JavaWEB
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/13988.html