当前仓库属于暂停状态,部分功能使用受限,详情请查阅 仓库状态说明
1 Star 0 Fork 93

七夜 / payment-thl
暂停

forked from thlws / payment-thl 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

糖葫芦支付

在线Demo

依赖安装

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

源码托管

在线文档

特别鸣谢

适用人群

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

在线交流

  • 邮箱:hanley@thlws.com
  • QQ群: 693169203
  • 欢迎有意愿的小伙伴加入持续维护(邮件或码云私信我)

示例项目

接口列表

支付宝 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.

详见问题

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

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支付 .

更版记录

  • v1.0.0 整合多种支付平台
  • v1.0.1 公众号模块代码规范
  • v1.0.2 微信公众号返回新增isSuccess()
  • v1.0.3 新增行业属性获取接口
  • v1.0.4 行业属性汇总,代码优化
  • v1.0.5 新增请求是否来自微信(WechatMpClient.isFromWechat)
  • v1.0.6 新增微信异步通知数据处理 WechatUtil.parseNotifyMsgToBean(HttpServletRequest request)
  • v1.0.7 修正公众号支付签名问题,异步数据通知处理优化
  • v1.0.8 修正微信网页授权问题,新增公众号入口类部分注释
  • v1.0.9 修复issues-I1047Y,感谢 alterem 反馈
  • v1.1.0 修正支付宝网页支付宝参数格式问题
  • v1.1.1 升级支付宝SDK,修改 支付宝支付中productCode的赋值
  • v1.1.2 优化支付宝网站、手机网站支付时 productCode 平台参数,同步更新payment-simple
  • v1.1.3 新增code2session接口,修正 github#1, gitee#I12BOM
  • v1.1.4 支付宝SDK升级,JDK最低版本要求1.8+,接口优化等。

空文件

简介

【微信、支付宝、翼支付 三合一】整合多主流种支付平台于一体; 接口参数全部封装,使用者仅需创建对象并设置参数;项目极少依赖,接口简单清晰,日志详细且输出格式友好; 各种支付平台,支付场景提供示例项目,新手更容易上手,降低接入门槛. 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/yue7678/payment-thl.git
git@gitee.com:yue7678/payment-thl.git
yue7678
payment-thl
payment-thl
master

搜索帮助

14c37bed 8189591 565d56ea 8189591