提交 4d89a2a3 编写于 作者: J Javen205

添加注释描述

上级 dcdfa624
......@@ -20,7 +20,11 @@ import java.util.Iterator;
import java.util.Map;
/**
* 支付宝支付
* <p>IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。</p>
*
* <p>不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。 </p>
*
* <p>支付宝支付相关接口</p>
*
* @author Javen
*/
......
......@@ -7,7 +7,13 @@ import com.alipay.api.DefaultAlipayClient;
import java.io.Serializable;
/**
* 支付宝支付配置
* <p>IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。</p>
*
* <p>不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。 </p>
*
* <p>支付宝支付配置</p>
*
* @author Javen
*/
public class AliPayApiConfig implements Serializable {
private static final long serialVersionUID = -4736760736935998953L;
......
......@@ -5,6 +5,13 @@ import cn.hutool.core.util.StrUtil;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
* <p>IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。</p>
*
* <p>不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。 </p>
*
* @author Javen
*/
public class AliPayApiConfigKit {
private static final ThreadLocal<String> TL = new ThreadLocal<String>();
......
......@@ -4,6 +4,13 @@ import cn.hutool.crypto.SecureUtil;
import java.util.*;
/**
* <p>IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。</p>
*
* <p>不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。 </p>
*
* @author Javen
*/
public class AliPayCore {
/**
......
package com.ijpay;
/**
* <p>IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。</p>
*
* <p>不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。 </p>
*
* <p>Gitee: https://gitee.com/javen205/IJPay</p>
* <p>Github: https://gitee.com/javen205/IJPay</p>
*
* @author Javen
*/
public class IJPay {
public static final String DESCRIBE = "IJPay 让支付触手可及";
private IJPay() {
}
}
......@@ -13,7 +13,11 @@ import java.security.SecureRandom;
import java.util.Map;
/**
* Http 代理类
* <p>IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。</p>
*
* <p>不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。 </p>
*
* <p>Http 代理类</p>
*
* @author Javen
*/
......@@ -31,11 +35,11 @@ public abstract class HttpDelegate {
return HttpUtil.post(url, data);
}
protected String post(String url, Map<String, Object> paramMap){
protected String post(String url, Map<String, Object> paramMap) {
return HttpUtil.post(url, paramMap);
}
protected String postSSL(String url, String data, String certPath, String certPass){
protected String postSSL(String url, String data, String certPath, String certPass) {
try {
return HttpRequest.post(url)
.setSSLSocketFactory(SSLSocketFactoryBuilder
......@@ -53,7 +57,7 @@ public abstract class HttpDelegate {
}
}
protected String postSSL(String url, String data, InputStream certFile, String certPass){
protected String postSSL(String url, String data, InputStream certFile, String certPass) {
try {
return HttpRequest.post(url)
.setSSLSocketFactory(SSLSocketFactoryBuilder
......
......@@ -9,8 +9,11 @@ import java.util.HashMap;
import java.util.Map;
/**
* 服务商模式、商户模式接口相同<br/>
* 只是部分请求参数不同 <br/>
* <p>IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。</p>
*
* <p>不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。 </p>
*
* <p>微信支付相关接口</p>
*
* @author Javen
*/
......
package com.ijpay.wxpay.constant.enums;
/**
* <p>IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。</p>
*
* <p>不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。 </p>
*
* <p>商户平台模式</p>
*
* @author Javen
*/
public enum PayModel {
BUSINESS_MODEL("BUSINESS_MODEL","商户模式"),
SERVICE_MODE("SERVICE_MODE","服务商模式");
BUSINESS_MODEL("BUSINESS_MODEL", "商户模式"),
SERVICE_MODE("SERVICE_MODE", "服务商模式");
PayModel(String payModel, String description) {
this.payModel = payModel;
......
package com.ijpay.wxpay.constant.enums;
/**
* 签名方式
* <p>IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。</p>
*
* <p>不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。 </p>
*
* <p>签名方式</p>
*
* @author Javen
*/
......
package com.ijpay.wxpay.constant.enums;
/**
* <p>IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。</p>
*
* <p>不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。 </p>
*
* <p>支付方式</p>
*
* @author Javen
*/
public enum TradeType {
JSAPI("JSAPI","微信公众号支付或者小程序支付)"),
NATIVE("NATIVE","微信扫码支付"),
......
......@@ -3,7 +3,11 @@ package com.ijpay.wxpay.kit;
import com.ijpay.wxpay.HttpDelegate;
/**
* Http 工具类
* <p>IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。</p>
*
* <p>不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。 </p>
*
* <p>Http 工具类</p>
*
* @author Javen
*/
......
......@@ -14,6 +14,16 @@ import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
/**
* <p>IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。</p>
*
* <p>不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。 </p>
*
* <p>微信支付工具类</p>
*
* @author Javen
*/
public class WxPayKit {
private static final String FIELD_SIGN = "sign";
private static final String FIELD_SIGN_TYPE = "sign_type";
......@@ -118,7 +128,7 @@ public class WxPayKit {
* @param params 需要签名的参数
* @param partnerKey 密钥
* @param signType 签名类型
* @return <@link Map<String, String>> 签名后的
* @return <@link Map<String, String>> 签名后的
*/
public static Map<String, String> buildSign(Map<String, String> params, String partnerKey, SignType signType) {
if (signType == null) {
......@@ -168,13 +178,13 @@ public class WxPayKit {
/**
* 替换url中的参数
*
* @param str 原始字符串
* @param str 原始字符串
* @param regex 表达式
* @param args 替换字符串
* @return {String}
*/
public static String replace(String str, String regex, String... args) {
for ( String arg: args) {
for (String arg : args) {
str = str.replaceFirst(regex, arg);
}
return str;
......@@ -183,7 +193,7 @@ public class WxPayKit {
/**
* 判断接口返回的 code
*
* @param codeValue code 值
* @param codeValue code 值
* @return 是否是 SUCCESS
*/
public static boolean codeIsOK(String codeValue) {
......@@ -192,19 +202,20 @@ public class WxPayKit {
/**
* 预付订单再次签名
* @param prepay_id 预付订单号
* @param appId 应用编号
*
* @param prepay_id 预付订单号
* @param appId 应用编号
* @param partnerKey API Key
* @return {@link Map<String,String>} 再次签名后的 Map
* @return {@link Map<String,String>} 再次签名后的 Map
*/
public static Map<String, String> prepayIdCreateSign(String prepay_id,String appId,String partnerKey) {
public static Map<String, String> prepayIdCreateSign(String prepay_id, String appId, String partnerKey) {
Map<String, String> packageParams = new HashMap<String, String>();
packageParams.put("appId", appId);
packageParams.put("timeStamp", String.valueOf(System.currentTimeMillis() / 1000));
packageParams.put("nonceStr", String.valueOf(System.currentTimeMillis()));
packageParams.put("package", "prepay_id=" + prepay_id);
packageParams.put("signType", "MD5");
String packageSign = WxPayKit.createSign(packageParams, partnerKey,SignType.MD5);
String packageSign = WxPayKit.createSign(packageParams, partnerKey, SignType.MD5);
packageParams.put("paySign", packageSign);
return packageParams;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册