IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
更新内容:
划重点
以微信公众号支付为例,使用 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);
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);
}
String prepay_id = resultMap.get("prepay_id");
Map<String, String> packageParams = WxPayKit.prepayIdCreateSign(prepay_id, wxPayBean.getAppId(), wxPayBean.getPartnerKey(),SignType.HMACSHA256);
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'
|