设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 软件追踪 查看内容

IJPay让支付触手可及,2.1.1版本发布:扬帆起航

2019-7-29 21:28| 发布者: joejoe0332| 查看: 291| 评论: 0|原作者: oschina|来自: oschina

摘要: IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。 更新内容: ...

IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。

更新内容:

  • HuTool 升级到最新版 4.6.1

  • 添加微信刷脸支付相关接口

  • 完善微信分账接口

  • 添加微信下载资金账单接口

  • 预付订单二次签名动态设置签名方式(支持微信公众号支付、APP支付、微信小程序支付)

  • 添加扫码模式一生成二维码链接接口

  • 添加构建微信支付参数的 Model

划重点

  • 目前微信支付、支付宝支付都支持普通商户模式以及服务商模式

  • 支持微信委托扣款相关接口(服务商模式下一个版本支持)

  • 支持微信刷脸支付相关接口

  • 构建接口参数更佳简单便捷

以微信公众号支付为例,使用 Model 链式构建请求参数是不是很便捷呢??

// 构建统一下单接口参数
Map<String, String> params = UnifiedOrderModel
        .builder()
        .appid(wxPayBean.getAppId())
        .mch_id(wxPayBean.getMchId())
        .nonce_str(WxPayKit.generateStr())
        .body("IJPay 让支付触手可及")
        .attach("Node.js 版:https://gitee.com/javen205/TNW")
        .out_trade_no(WxPayKit.generateStr())
        .total_fee("1000")
        .spbill_create_ip(ip)
        .notify_url(wxPayBean.getDomain().concat("/wxpay/pay_notify"))
        .trade_type(TradeType.JSAPI.getTradeType())
        .build()
        .creatSign(wxPayBean.getPartnerKey(), SignType.HMACSHA256);
​
// 发送请求
String xmlResult = WxPayApi.pushOrder(false,params);
// 将返回的结果(XML)转化为 Map
Map<String, String> resultMap = WxPayKit.xmlToMap(xmlResult);
String return_code = resultMap.get("return_code");
String return_msg = resultMap.get("return_msg");
if (!WxPayKit.codeIsOK(return_code)) {
    return new AjaxResult().addError(return_msg);
}
String result_code = resultMap.get("result_code");
if (!WxPayKit.codeIsOK(result_code)) {
    return new AjaxResult().addError(return_msg);
}
​
// 以下字段在return_code 和result_code都为SUCCESS的时候有返回
​
String prepay_id = resultMap.get("prepay_id");
// 预付订单二次签名 公众号中唤起支付时使用
Map<String, String> packageParams = WxPayKit.prepayIdCreateSign(prepay_id, wxPayBean.getAppId(), wxPayBean.getPartnerKey(),SignType.HMACSHA256);
// 封装数据返回给前端,使用 JSSDK 发起支付
String jsonStr = JSON.toJSONString(packageParams);
return new AjaxResult().success(jsonStr);

一次性添加多有依赖

// Maven
<dependency>
  <groupId>com.github.javen205</groupId>
  <artifactId>IJPay-All</artifactId>
  <version>2.1.1</version>
</dependency>
​
// Gradle
​
implementation 'com.github.javen205:IJPay-All:2.1.1'

单独添加依赖

// 微信支付
​
<dependency>
  <groupId>com.github.javen205</groupId>
  <artifactId>IJPay-WxPay</artifactId>
  <version>2.1.1</version>
</dependency>
​
implementation 'com.github.javen205:IJPay-WxPay:2.1.1'
​
// 支付宝支付
​
<dependency>
  <groupId>com.github.javen205</groupId>
  <artifactId>IJPay-AliPay</artifactId>
  <version>2.1.1</version>
</dependency>
​
implementation 'com.github.javen205:IJPay-AliPay:2.1.1'

酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部