标签(空格分隔): java
最近项目需要后端打通支付,所以对接部分做成了一个小模块.
先说下项目要求:
后端要对接银联无跳转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();
Map<String,String> paraMap = new HashMap<String,String>();
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地址: https://github.com/nl101531/JavaWEB
参考内容:
微信:
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1
支付宝:
https://doc.open.alipay.com/docs/api.htm?spm=a219a.7629065.0.0.7zbffO&apiId=1046&docType=4