Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
IJPay
提交
4d89a2a3
I
IJPay
项目概览
int
/
IJPay
10 个月 前同步成功
通知
4
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
I
IJPay
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
4d89a2a3
编写于
7月 20, 2019
作者:
J
Javen205
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
添加注释描述
上级
dcdfa624
变更
12
隐藏空白更改
内联
并排
Showing
12 changed file
with
108 addition
and
21 deletion
+108
-21
IJPay-AliPay/src/main/java/com/ijpay/alipay/AliPayApi.java
IJPay-AliPay/src/main/java/com/ijpay/alipay/AliPayApi.java
+5
-1
IJPay-AliPay/src/main/java/com/ijpay/alipay/AliPayApiConfig.java
...liPay/src/main/java/com/ijpay/alipay/AliPayApiConfig.java
+7
-1
IJPay-AliPay/src/main/java/com/ijpay/alipay/AliPayApiConfigKit.java
...ay/src/main/java/com/ijpay/alipay/AliPayApiConfigKit.java
+7
-0
IJPay-AliPay/src/main/java/com/ijpay/alipay/AliPayCore.java
IJPay-AliPay/src/main/java/com/ijpay/alipay/AliPayCore.java
+7
-0
IJPay-All/src/main/java/com/ijpay/IJPay.java
IJPay-All/src/main/java/com/ijpay/IJPay.java
+18
-0
IJPay-WxPay/src/main/java/com/ijpay/wxpay/HttpDelegate.java
IJPay-WxPay/src/main/java/com/ijpay/wxpay/HttpDelegate.java
+8
-4
IJPay-WxPay/src/main/java/com/ijpay/wxpay/WxPayApi.java
IJPay-WxPay/src/main/java/com/ijpay/wxpay/WxPayApi.java
+5
-2
IJPay-WxPay/src/main/java/com/ijpay/wxpay/constant/enums/PayModel.java
...rc/main/java/com/ijpay/wxpay/constant/enums/PayModel.java
+12
-2
IJPay-WxPay/src/main/java/com/ijpay/wxpay/constant/enums/SignType.java
...rc/main/java/com/ijpay/wxpay/constant/enums/SignType.java
+5
-1
IJPay-WxPay/src/main/java/com/ijpay/wxpay/constant/enums/TradeType.java
...c/main/java/com/ijpay/wxpay/constant/enums/TradeType.java
+9
-0
IJPay-WxPay/src/main/java/com/ijpay/wxpay/kit/HttpKit.java
IJPay-WxPay/src/main/java/com/ijpay/wxpay/kit/HttpKit.java
+5
-1
IJPay-WxPay/src/main/java/com/ijpay/wxpay/kit/WxPayKit.java
IJPay-WxPay/src/main/java/com/ijpay/wxpay/kit/WxPayKit.java
+20
-9
未找到文件。
IJPay-AliPay/src/main/java/com/ijpay/alipay/AliPayApi.java
浏览文件 @
4d89a2a3
...
...
@@ -20,7 +20,11 @@ import java.util.Iterator;
import
java.util.Map
;
/**
* 支付宝支付
* <p>IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。</p>
*
* <p>不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。 </p>
*
* <p>支付宝支付相关接口</p>
*
* @author Javen
*/
...
...
IJPay-AliPay/src/main/java/com/ijpay/alipay/AliPayApiConfig.java
浏览文件 @
4d89a2a3
...
...
@@ -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
;
...
...
IJPay-AliPay/src/main/java/com/ijpay/alipay/AliPayApiConfigKit.java
浏览文件 @
4d89a2a3
...
...
@@ -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
>();
...
...
IJPay-AliPay/src/main/java/com/ijpay/alipay/AliPayCore.java
浏览文件 @
4d89a2a3
...
...
@@ -4,6 +4,13 @@ import cn.hutool.crypto.SecureUtil;
import
java.util.*
;
/**
* <p>IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。</p>
*
* <p>不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。 </p>
*
* @author Javen
*/
public
class
AliPayCore
{
/**
...
...
IJPay-All/src/main/java/com/ijpay/IJPay.java
0 → 100644
浏览文件 @
4d89a2a3
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
()
{
}
}
IJPay-WxPay/src/main/java/com/ijpay/wxpay/HttpDelegate.java
浏览文件 @
4d89a2a3
...
...
@@ -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
...
...
IJPay-WxPay/src/main/java/com/ijpay/wxpay/WxPayApi.java
浏览文件 @
4d89a2a3
...
...
@@ -9,8 +9,11 @@ import java.util.HashMap;
import
java.util.Map
;
/**
* 服务商模式、商户模式接口相同<br/>
* 只是部分请求参数不同 <br/>
* <p>IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。</p>
*
* <p>不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。 </p>
*
* <p>微信支付相关接口</p>
*
* @author Javen
*/
...
...
IJPay-WxPay/src/main/java/com/ijpay/wxpay/constant/enums/PayModel.java
浏览文件 @
4d89a2a3
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
;
...
...
IJPay-WxPay/src/main/java/com/ijpay/wxpay/constant/enums/SignType.java
浏览文件 @
4d89a2a3
package
com.ijpay.wxpay.constant.enums
;
/**
* 签名方式
* <p>IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。</p>
*
* <p>不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。 </p>
*
* <p>签名方式</p>
*
* @author Javen
*/
...
...
IJPay-WxPay/src/main/java/com/ijpay/wxpay/constant/enums/TradeType.java
浏览文件 @
4d89a2a3
package
com.ijpay.wxpay.constant.enums
;
/**
* <p>IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。</p>
*
* <p>不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。 </p>
*
* <p>支付方式</p>
*
* @author Javen
*/
public
enum
TradeType
{
JSAPI
(
"JSAPI"
,
"微信公众号支付或者小程序支付)"
),
NATIVE
(
"NATIVE"
,
"微信扫码支付"
),
...
...
IJPay-WxPay/src/main/java/com/ijpay/wxpay/kit/HttpKit.java
浏览文件 @
4d89a2a3
...
...
@@ -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
*/
...
...
IJPay-WxPay/src/main/java/com/ijpay/wxpay/kit/WxPayKit.java
浏览文件 @
4d89a2a3
...
...
@@ -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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录