Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
纵之格
ShopXO
提交
f95044ef
ShopXO
项目概览
纵之格
/
ShopXO
通知
394
Star
16
Fork
11
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
ShopXO
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f95044ef
编写于
11月 28, 2019
作者:
D
devil_gong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
支付插件优化
上级
bac5a807
变更
6
展开全部
隐藏空白更改
内联
并排
Showing
6 changed file
with
83 addition
and
823 deletion
+83
-823
extend/payment/Alipay.php
extend/payment/Alipay.php
+24
-12
extend/payment/AlipayMini.php
extend/payment/AlipayMini.php
+24
-12
extend/payment/BaiduMini.php
extend/payment/BaiduMini.php
+16
-9
extend/payment/PayEase.php
extend/payment/PayEase.php
+0
-778
extend/payment/QQ.php
extend/payment/QQ.php
+18
-10
extend/payment/Weixin.php
extend/payment/Weixin.php
+1
-2
未找到文件。
extend/payment/Alipay.php
浏览文件 @
f95044ef
...
...
@@ -75,7 +75,6 @@ class Alipay
'name'
=>
'rsa_public'
,
'placeholder'
=>
'应用公钥'
,
'title'
=>
'应用公钥'
,
'desc'
=>
'去除以 -- 开头结尾的字符和换行'
,
'is_required'
=>
0
,
'rows'
=>
6
,
'message'
=>
'请填写应用公钥'
,
...
...
@@ -85,7 +84,6 @@ class Alipay
'name'
=>
'rsa_private'
,
'placeholder'
=>
'应用私钥'
,
'title'
=>
'应用私钥'
,
'desc'
=>
'去除以 -- 开头结尾的字符和换行'
,
'is_required'
=>
0
,
'rows'
=>
6
,
'message'
=>
'请填写应用私钥'
,
...
...
@@ -95,7 +93,6 @@ class Alipay
'name'
=>
'out_rsa_public'
,
'placeholder'
=>
'支付宝公钥'
,
'title'
=>
'支付宝公钥'
,
'desc'
=>
'去除以 -- 开头结尾的字符和换行'
,
'is_required'
=>
0
,
'rows'
=>
6
,
'message'
=>
'请填写支付宝公钥'
,
...
...
@@ -551,9 +548,14 @@ class Alipay
*/
private
function
MyRsaSign
(
$prestr
)
{
$res
=
"-----BEGIN RSA PRIVATE KEY-----
\n
"
;
$res
.
=
wordwrap
(
$this
->
config
[
'rsa_private'
],
64
,
"
\n
"
,
true
);
$res
.
=
"
\n
-----END RSA PRIVATE KEY-----"
;
if
(
stripos
(
$this
->
config
[
'rsa_private'
],
'-----'
)
===
false
)
{
$res
=
"-----BEGIN RSA PRIVATE KEY-----
\n
"
;
$res
.
=
wordwrap
(
$this
->
config
[
'rsa_private'
],
64
,
"
\n
"
,
true
);
$res
.
=
"
\n
-----END RSA PRIVATE KEY-----"
;
}
else
{
$res
=
$this
->
config
[
'rsa_private'
];
}
return
openssl_sign
(
$prestr
,
$sign
,
$res
,
OPENSSL_ALGO_SHA256
)
?
base64_encode
(
$sign
)
:
null
;
}
...
...
@@ -568,9 +570,14 @@ class Alipay
*/
private
function
MyRsaDecrypt
(
$content
)
{
$res
=
"-----BEGIN PUBLIC KEY-----
\n
"
;
$res
.
=
wordwrap
(
$this
->
config
[
'rsa_public'
],
64
,
"
\n
"
,
true
);
$res
.
=
"
\n
-----END PUBLIC KEY-----"
;
if
(
stripos
(
$this
->
config
[
'rsa_public'
],
'-----'
)
===
false
)
{
$res
=
"-----BEGIN PUBLIC KEY-----
\n
"
;
$res
.
=
wordwrap
(
$this
->
config
[
'rsa_public'
],
64
,
"
\n
"
,
true
);
$res
.
=
"
\n
-----END PUBLIC KEY-----"
;
}
else
{
$res
=
$this
->
config
[
'rsa_public'
];
}
$res
=
openssl_get_privatekey
(
$res
);
$content
=
base64_decode
(
$content
);
$result
=
''
;
...
...
@@ -596,9 +603,14 @@ class Alipay
*/
private
function
OutRsaVerify
(
$prestr
,
$sign
)
{
$res
=
"-----BEGIN PUBLIC KEY-----
\n
"
;
$res
.
=
wordwrap
(
$this
->
config
[
'out_rsa_public'
],
64
,
"
\n
"
,
true
);
$res
.
=
"
\n
-----END PUBLIC KEY-----"
;
if
(
stripos
(
$this
->
config
[
'out_rsa_public'
],
'-----'
)
===
false
)
{
$res
=
"-----BEGIN PUBLIC KEY-----
\n
"
;
$res
.
=
wordwrap
(
$this
->
config
[
'out_rsa_public'
],
64
,
"
\n
"
,
true
);
$res
.
=
"
\n
-----END PUBLIC KEY-----"
;
}
else
{
$res
=
$this
->
config
[
'out_rsa_public'
];
}
$pkeyid
=
openssl_pkey_get_public
(
$res
);
$sign
=
base64_decode
(
$sign
);
if
(
$pkeyid
)
...
...
extend/payment/AlipayMini.php
浏览文件 @
f95044ef
...
...
@@ -75,7 +75,6 @@ class AlipayMini
'name'
=>
'rsa_public'
,
'placeholder'
=>
'应用公钥'
,
'title'
=>
'应用公钥'
,
'desc'
=>
'去除以 -- 开头结尾的字符和换行'
,
'is_required'
=>
0
,
'rows'
=>
6
,
'message'
=>
'请填写应用公钥'
,
...
...
@@ -85,7 +84,6 @@ class AlipayMini
'name'
=>
'rsa_private'
,
'placeholder'
=>
'应用私钥'
,
'title'
=>
'应用私钥'
,
'desc'
=>
'去除以 -- 开头结尾的字符和换行'
,
'is_required'
=>
0
,
'rows'
=>
6
,
'message'
=>
'请填写应用私钥'
,
...
...
@@ -95,7 +93,6 @@ class AlipayMini
'name'
=>
'out_rsa_public'
,
'placeholder'
=>
'支付宝公钥'
,
'title'
=>
'支付宝公钥'
,
'desc'
=>
'去除以 -- 开头结尾的字符和换行'
,
'is_required'
=>
0
,
'rows'
=>
6
,
'message'
=>
'请填写支付宝公钥'
,
...
...
@@ -411,9 +408,14 @@ class AlipayMini
*/
private
function
MyRsaSign
(
$prestr
)
{
$res
=
"-----BEGIN RSA PRIVATE KEY-----
\n
"
;
$res
.
=
wordwrap
(
$this
->
config
[
'rsa_private'
],
64
,
"
\n
"
,
true
);
$res
.
=
"
\n
-----END RSA PRIVATE KEY-----"
;
if
(
stripos
(
$this
->
config
[
'rsa_private'
],
'-----'
)
===
false
)
{
$res
=
"-----BEGIN RSA PRIVATE KEY-----
\n
"
;
$res
.
=
wordwrap
(
$this
->
config
[
'rsa_private'
],
64
,
"
\n
"
,
true
);
$res
.
=
"
\n
-----END RSA PRIVATE KEY-----"
;
}
else
{
$res
=
$this
->
config
[
'rsa_private'
];
}
return
openssl_sign
(
$prestr
,
$sign
,
$res
,
OPENSSL_ALGO_SHA256
)
?
base64_encode
(
$sign
)
:
null
;
}
...
...
@@ -428,9 +430,14 @@ class AlipayMini
*/
private
function
MyRsaDecrypt
(
$content
)
{
$res
=
"-----BEGIN PUBLIC KEY-----
\n
"
;
$res
.
=
wordwrap
(
$this
->
config
[
'rsa_public'
],
64
,
"
\n
"
,
true
);
$res
.
=
"
\n
-----END PUBLIC KEY-----"
;
if
(
stripos
(
$this
->
config
[
'rsa_public'
],
'-----'
)
===
false
)
{
$res
=
"-----BEGIN PUBLIC KEY-----
\n
"
;
$res
.
=
wordwrap
(
$this
->
config
[
'rsa_public'
],
64
,
"
\n
"
,
true
);
$res
.
=
"
\n
-----END PUBLIC KEY-----"
;
}
else
{
$res
=
$this
->
config
[
'rsa_public'
];
}
$res
=
openssl_get_privatekey
(
$res
);
$content
=
base64_decode
(
$content
);
$result
=
''
;
...
...
@@ -456,9 +463,14 @@ class AlipayMini
*/
private
function
OutRsaVerify
(
$prestr
,
$sign
)
{
$res
=
"-----BEGIN PUBLIC KEY-----
\n
"
;
$res
.
=
wordwrap
(
$this
->
config
[
'out_rsa_public'
],
64
,
"
\n
"
,
true
);
$res
.
=
"
\n
-----END PUBLIC KEY-----"
;
if
(
stripos
(
$this
->
config
[
'out_rsa_public'
],
'-----'
)
===
false
)
{
$res
=
"-----BEGIN PUBLIC KEY-----
\n
"
;
$res
.
=
wordwrap
(
$this
->
config
[
'out_rsa_public'
],
64
,
"
\n
"
,
true
);
$res
.
=
"
\n
-----END PUBLIC KEY-----"
;
}
else
{
$res
=
$this
->
config
[
'out_rsa_public'
];
}
$pkeyid
=
openssl_pkey_get_public
(
$res
);
$sign
=
base64_decode
(
$sign
);
if
(
$pkeyid
)
...
...
extend/payment/BaiduMini.php
浏览文件 @
f95044ef
...
...
@@ -85,7 +85,6 @@ class BaiduMini
'name'
=>
'rsa_public'
,
'placeholder'
=>
'应用公钥'
,
'title'
=>
'应用公钥'
,
'desc'
=>
'去除以 -- 开头结尾的字符和换行'
,
'is_required'
=>
0
,
'rows'
=>
6
,
'message'
=>
'请填写应用公钥'
,
...
...
@@ -95,7 +94,6 @@ class BaiduMini
'name'
=>
'rsa_private'
,
'placeholder'
=>
'应用私钥'
,
'title'
=>
'应用私钥'
,
'desc'
=>
'去除以 -- 开头结尾的字符和换行'
,
'is_required'
=>
0
,
'rows'
=>
6
,
'message'
=>
'请填写应用私钥'
,
...
...
@@ -105,7 +103,6 @@ class BaiduMini
'name'
=>
'out_rsa_public'
,
'placeholder'
=>
'平台公钥'
,
'title'
=>
'平台公钥'
,
'desc'
=>
'去除以 -- 开头结尾的字符和换行'
,
'is_required'
=>
0
,
'rows'
=>
6
,
'message'
=>
'请填写平台公钥'
,
...
...
@@ -239,9 +236,14 @@ class BaiduMini
return
$sign
;
}
$res
=
"-----BEGIN RSA PRIVATE KEY-----
\n
"
;
$res
.
=
wordwrap
(
$this
->
config
[
'rsa_private'
],
64
,
"
\n
"
,
true
);
$res
.
=
"
\n
-----END RSA PRIVATE KEY-----"
;
if
(
stripos
(
$this
->
config
[
'rsa_private'
],
'-----'
)
===
false
)
{
$res
=
"-----BEGIN RSA PRIVATE KEY-----
\n
"
;
$res
.
=
wordwrap
(
$this
->
config
[
'rsa_private'
],
64
,
"
\n
"
,
true
);
$res
.
=
"
\n
-----END RSA PRIVATE KEY-----"
;
}
else
{
$res
=
$this
->
config
[
'rsa_private'
];
}
$prikey
=
openssl_pkey_get_private
(
$res
);
if
(
isset
(
$data
[
'sign'
]))
...
...
@@ -295,9 +297,14 @@ class BaiduMini
$sign
=
base64_decode
(
$sign
);
$res
=
"-----BEGIN PUBLIC KEY-----
\n
"
;
$res
.
=
wordwrap
(
$this
->
config
[
'out_rsa_public'
],
64
,
"
\n
"
,
true
);
$res
.
=
"
\n
-----END PUBLIC KEY-----"
;
if
(
stripos
(
$this
->
config
[
'out_rsa_public'
],
'-----'
)
===
false
)
{
$res
=
"-----BEGIN PUBLIC KEY-----
\n
"
;
$res
.
=
wordwrap
(
$this
->
config
[
'out_rsa_public'
],
64
,
"
\n
"
,
true
);
$res
.
=
"
\n
-----END PUBLIC KEY-----"
;
}
else
{
$res
=
$this
->
config
[
'out_rsa_public'
];
}
$pubkey
=
openssl_pkey_get_public
(
$res
);
$result
=
(
bool
)
openssl_verify
(
$str
,
$sign
,
$pubkey
);
openssl_free_key
(
$pubkey
);
...
...
extend/payment/PayEase.php
已删除
100644 → 0
浏览文件 @
bac5a807
此差异已折叠。
点击以展开。
extend/payment/QQ.php
浏览文件 @
f95044ef
...
...
@@ -119,7 +119,6 @@ class QQ
'name'
=>
'apiclient_cert'
,
'placeholder'
=>
'证书(apiclient_cert.pem)'
,
'title'
=>
'证书(apiclient_cert.pem)(退款操作必填项)'
,
'desc'
=>
'去除以 -- 开头结尾的字符和换行'
,
'is_required'
=>
0
,
'rows'
=>
6
,
'message'
=>
'请填写证书(apiclient_cert.pem)'
,
...
...
@@ -129,7 +128,6 @@ class QQ
'name'
=>
'apiclient_key'
,
'placeholder'
=>
'证书密钥(apiclient_key.pem)'
,
'title'
=>
'证书密钥(apiclient_key.pem)(退款操作必填项)'
,
'desc'
=>
'去除以 -- 开头结尾的字符和换行'
,
'is_required'
=>
0
,
'rows'
=>
6
,
'message'
=>
'请填写证书密钥(apiclient_key.pem)'
,
...
...
@@ -592,15 +590,25 @@ class QQ
$apiclient_cert_file
=
ROOT
.
'runtime'
.
DS
.
'temp'
.
DS
.
'payment_qq_pay_apiclient_cert.pem'
;
$apiclient_key_file
=
ROOT
.
'runtime'
.
DS
.
'temp'
.
DS
.
'payment_qq_pay_apiclient_key.pem'
;
// 文件是否存在
$apiclient_cert
=
"-----BEGIN CERTIFICATE-----
\n
"
;
$apiclient_cert
.
=
wordwrap
(
$this
->
config
[
'apiclient_cert'
],
64
,
"
\n
"
,
true
);
$apiclient_cert
.
=
"
\n
-----END CERTIFICATE-----"
;
// 证书处理
if
(
stripos
(
$this
->
config
[
'apiclient_cert'
],
'-----'
)
===
false
)
{
$apiclient_cert
=
"-----BEGIN CERTIFICATE-----
\n
"
;
$apiclient_cert
.
=
wordwrap
(
$this
->
config
[
'apiclient_cert'
],
64
,
"
\n
"
,
true
);
$apiclient_cert
.
=
"
\n
-----END CERTIFICATE-----"
;
}
else
{
$apiclient_cert
=
$this
->
config
[
'apiclient_cert'
];
}
file_put_contents
(
$apiclient_cert_file
,
$apiclient_cert
);
$apiclient_key
=
"-----BEGIN PRIVATE KEY-----
\n
"
;
$apiclient_key
.
=
wordwrap
(
$this
->
config
[
'apiclient_key'
],
64
,
"
\n
"
,
true
);
$apiclient_key
.
=
"
\n
-----END PRIVATE KEY-----"
;
if
(
stripos
(
$this
->
config
[
'apiclient_key'
],
'-----'
)
===
false
)
{
$apiclient_key
=
"-----BEGIN PRIVATE KEY-----
\n
"
;
$apiclient_key
.
=
wordwrap
(
$this
->
config
[
'apiclient_key'
],
64
,
"
\n
"
,
true
);
$apiclient_key
.
=
"
\n
-----END PRIVATE KEY-----"
;
}
else
{
$apiclient_key
=
$this
->
config
[
'apiclient_key'
];
}
file_put_contents
(
$apiclient_key_file
,
$apiclient_key
);
return
[
'cert'
=>
$apiclient_cert_file
,
'key'
=>
$apiclient_key_file
];
...
...
extend/payment/Weixin.php
浏览文件 @
f95044ef
...
...
@@ -106,7 +106,6 @@ class Weixin
'name'
=>
'apiclient_cert'
,
'placeholder'
=>
'证书(apiclient_cert.pem)'
,
'title'
=>
'证书(apiclient_cert.pem)(退款操作必填项)'
,
'desc'
=>
'去除以 -- 开头结尾的字符和换行'
,
'is_required'
=>
0
,
'rows'
=>
6
,
'message'
=>
'请填写证书(apiclient_cert.pem)'
,
...
...
@@ -116,7 +115,6 @@ class Weixin
'name'
=>
'apiclient_key'
,
'placeholder'
=>
'证书密钥(apiclient_key.pem)'
,
'title'
=>
'证书密钥(apiclient_key.pem)(退款操作必填项)'
,
'desc'
=>
'去除以 -- 开头结尾的字符和换行'
,
'is_required'
=>
0
,
'rows'
=>
6
,
'message'
=>
'请填写证书密钥(apiclient_key.pem)'
,
...
...
@@ -694,6 +692,7 @@ class Weixin
$apiclient_cert_file
=
ROOT
.
'runtime'
.
DS
.
'temp'
.
DS
.
'payment_weixin_pay_apiclient_cert.pem'
;
$apiclient_key_file
=
ROOT
.
'runtime'
.
DS
.
'temp'
.
DS
.
'payment_weixin_pay_apiclient_key.pem'
;
// 证书处理
if
(
stripos
(
$this
->
config
[
'apiclient_cert'
],
'-----'
)
===
false
)
{
$apiclient_cert
=
"-----BEGIN CERTIFICATE-----
\n
"
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录