本周日,苏州开源盛宴,一起聊聊:Devops、K8s、数据库建模、SoLiD、.Net Core、微信开发、去中心化… 点击占座。
指数
0
Watch 61 Star 145 Fork 49

thlws / payment-thlJava

加入码云
与超过 300 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
【微信、支付宝、翼支付 三合一】整合多主流种支付平台于一体; 接口参数全部封装,使用者仅需创建对象并设置参数;项目极少依赖,接口简单清晰,日志详细且输出格式友好; 各种支付平台,支付场景提供示例项目,新手更容易上手,降低接入门槛. 展开 收起

https://pay.thlws.org/

克隆/下载
Hanley 最后提交于 优化Junit测试类
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README.md

糖葫芦支付

源码托管

适用人群

未接触过支付,觉得官方文档复杂, 但又需要快速接入支付功能的小白程序员,这个项目一定会让你省下不少力气,如果你是之前接入过各种支付的老鸟,这对你可能没什么吸引力,这个项目主要面向刚接触或未接触过支付的小伙伴,无论你是小白还是老鸟,喜欢的话帮忙star下,感谢。

在线文档

在线交流

示例项目

接口列表

支付宝 org.thlws.payment.AlipayClient

方法名称 功能说明
payInMobileSite 手机网页支付
payInWebSite 普通网站支付
preCreate 创建预订单
pay 刷卡支付(当面付)
query 支付查询
refund 支付退款
cancel 订单取消

微信支付 org.thlws.payment.WechatPayClient

方法名称 功能说明
unifiedOrder 统一下单(类似预订单)
refund 申请退款
reverse 支付撤销
microPay 刷卡支付
orderQuery 支付查询
closeOrder 订单关闭
openidQuery 查询OpenId
queryMicroMch 查询小微收款人信息
postMicroMch 申请开通小微收款功能

微信公众号 org.thlws.payment.WechatMpClient

方法名称 功能说明
obtainOauthAccessToken 获取accesToken(OAuth2)
refreshOauthAccessToken 刷新accesToken(OAuth2)
isvalidOauthAccessToken 验证token是否过期(OAuth2)
generateWechatUrl 生成微信规则URL
obtainUserInfo 获取用户资料
obtainAccessToken 获取accesToken(普通)
obtainJsApiTicket 获取JSAPI Ticket
obtainTemplateId 获取微信消息模板ID
setupIndustry 设置行业属性
sendMsgToUser 发送微信通知

公众号开发会涉及Token,Ticket等时效性参数,建议程序中使用Redis进行存储.

翼支付 org.thlws.payment.BestPayClient

方法名称 功能说明
barcode 扫码支付
query 订单查询
refund 订单退款
reverse 订单撤销

如何使用

前置条件

  • 拿到平台核心参数,比如appId,mchId等(查看文档);
  • 在微信或支付宝后台完成对应配置,比如回调地址,公钥上传;

快速上手

//支付宝支付
AlipayCore alipayCore = clientBuilder
 .setAlipayPublicKey(alipay_public_key_2)
 .setAppId(appid_2)
 .setPrivateKey(alipay_public_key_2)
 .setSignType(AlipayConstants.SIGN_TYPE_RSA2).build();
 
AlipayTradeRequest request = new AlipayTradeRequest();
request.setTotalAmount("0.01");
request.setStoreId("123456");
request.setOperatorId("hanley001");
request.setAuthCode("288609492126942746");
request.setOutTradeNo(System.currentTimeMillis()+"");
request.setSubject("测试买单001");
AlipayTradeResponse response = AlipayClient.pay(request,alipayCore);
boolean isSuccess = response.isSuccess();
 

//微信支付(刷卡)
String apiKey = "test_wechat_apikey";
WechatPayRequest request = new WechatPayRequest();
request.setAppId("test_wechat_appid");
request.setMchId("test_wechat_mchid");
request.setSpbillCreateIp(NetUtil.getLocalhostStr());
request.setTotalFee("1");
request.setAttach("some messages");
request.setOutTradeNo(ThlwsBeanUtil.getRandomString(32));
request.setAuthCode("13459326110303327");
request.setBody("pay test");
WechatPayResponse response = WechatPayClient.microPay(request,apiKey);
boolean isSuccess = response.isSuccess();
String  message = response.getMessage();


//翼支付
BarcodePayRequest request = new BarcodePayRequest();
request.setMerchantId(merchantId);
request.setBarcode("510094008028763507");
request.setOrderNo( RandomUtil.randomNumbers(16));
request.setOrderReqNo( RandomUtil.randomNumbers(16));
request.setOrderDate("20171224121212");
request.setOrderAmt("1");
request.setProductAmt("1");
request.setGoodsName("测试商品");
request.setStoreId("00001025104487");
OrderResultResponse response = BestPayClient.barcode(request, key);
boolean isSuccess = response.isPaySuccess();

全部支付的入口在此,直接使用Client中的对应方法即可,测试功能请至test目录下参考Junit.

依赖安装

<dependency>
    <groupId>org.thlws</groupId>
    <artifactId>payment-thl</artifactId>
    <version>1.0.8</version>
</dependency>

详见问题

调用支付接口后,如何判断调用成功与否?

WechatPayResponse response = WechatPayClient.microPay(request,apiKey);
//flag == true 表示成功
boolean flag = response.isSuccess();
String  message = response.getMessage();
System.out.println("isSuccess="+flag+", message="+message);

支持Android App吗

不支持Android App,有这方面需求的请至 微信APP支付支付宝APP支付 .

更版记录

  • 1.0.0 整合多种支付平台
  • 1.0.1 公众号模块代码规范
  • 1.0.2 微信公众号返回新增isSuccess()
  • 1.0.3 新增行业属性获取接口
  • 1.0.4 行业属性汇总,代码优化
  • 1.0.5 新增请求是否来自微信(WechatMpClient.isFromWechat)
  • 1.0.6 新增微信异步通知数据处理 WechatUtil.parseNotifyMsgToBean(HttpServletRequest request)
  • 1.0.7 修正公众号支付签名问题,异步数据通知处理优化
  • 1.0.8 修正微信网页授权问题,新增公众号入口类部分注释

点评 ( 0 )

你可以在登录后,发表评论

搜索帮助

14_float_left_people 14_float_left_close