Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
starsw001
ShopXO
提交
cd255212
ShopXO
项目概览
starsw001
/
ShopXO
与 Fork 源项目一致
Fork自
纵之格 / ShopXO
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
ShopXO
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
cd255212
编写于
7月 31, 2019
作者:
D
devil_gong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
pay debug
上级
b336589b
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
29 addition
and
29 deletion
+29
-29
extend/payment/PayEase.php
extend/payment/PayEase.php
+29
-29
未找到文件。
extend/payment/PayEase.php
浏览文件 @
cd255212
...
...
@@ -224,30 +224,30 @@ class PayEase
public
function
Respond
(
$params
=
[])
{
file_put_contents
(
ROOT
.
'eeeeeeee.txt'
,
json_encode
(
$params
));
//die;
if
(
!
empty
(
$params
[
'requestId'
]))
file_put_contents
(
ROOT
.
'hhhhhhhh.txt'
,
json_encode
(
$_SERVER
));
// 同步返回,直接进入订单详情页面
if
(
substr
(
CurrentScriptName
(),
-
20
)
==
'_payease_respond.php'
&&
empty
(
$params
[
'hmac'
])
&&
!
empty
(
$params
[
'requestId'
]))
{
// 参数处理
$order_no
=
substr
(
$params
[
'requestId'
],
0
,
strlen
(
$params
[
'requestId'
])
-
6
);
exit
(
header
(
'location:'
.
MyUrl
(
'index/order/detail'
,
[
'orderno'
=>
substr
(
$params
[
'requestId'
],
0
,
strlen
(
$params
[
'requestId'
])
-
6
)])));
}
// 同步返回,直接进入订单详情页面
if
(
substr
(
CurrentScriptName
(),
-
20
)
==
'_payease_respond.php'
&&
empty
(
$params
[
'hmac'
]))
{
exit
(
header
(
'location:'
.
MyUrl
(
'index/order/detail'
,
[
'orderno'
=>
$order_no
])));
}
// 异步处理
$private_key
=
ROOT
.
'rsakeys/client.pfx'
;
$public_key
=
ROOT
.
'rsakeys/test.cer'
;
$params
[
'encryptKey'
]
=
isset
(
$_SERVER
[
'HTTP_ENCRYPTKEY'
])
?
$_SERVER
[
'HTTP_ENCRYPTKEY'
]
:
''
;
$params
[
'merchantId'
]
=
isset
(
$_SERVER
[
'HTTP_MERCHANTID'
])
?
$_SERVER
[
'HTTP_MERCHANTID'
]
:
''
;
$data
=
$this
->
NotifyCheckHmac
(
$private_key
,
$params
,
$public_key
,
$this
->
config
[
'password'
]);
// 支付状态
if
(
isset
(
$data
[
'status'
])
&&
$data
[
'status'
]
==
'SUCCESS'
)
{
$data
[
'out_trade_no'
]
=
$order_no
;
return
DataReturn
(
'支付成功'
,
0
,
$this
->
ReturnData
(
$data
));
}
$params
=
json_decode
(
'{"data":"B4BOlE8TEk7gvKRzzF+sVlxbXN6GHkFn0taferJCsP1b43xszuEzPRTAsWlm3ziiMAEYWYsNme2RtWAXYgiJPAW2Q0u8+LYZKvsHyVlSZB4C6e13CumLk2\/fAUcsLZ\/pUGvIidQOAkxwD5Rz7HqzyAnFSx+nSJxDbxJt8WQk6dAHXMqzm4VpSXpPgQkrfdr2sAw9xPMS5O5NiQlXyqjWwm5NY8UG5SjyBuYO6JGRlObzTw6hyAzjnEG3Yqp0YAuO2D6vFdgj6QgWIKeTeJWljXyidCxe\/u3wmko1lTnQg2vTweEEeUb5iGXLvg47w0A2BWlWqsw6SaCNYEblW8nJoH6RfcGMX05GDhBLTAW1uApMrzn80opmm79YlrQgiEdkFkfjT4Y2Ho3obN\/\/EeRl3bi9S72UaaiSAOdWh+3+bwJSPv1jcUDr2eqMrTlkfj+aHDltlu328lP9wtt9q4fnZ1Rz3gXDEUHHEF2zMNyjQCDIukIC8ZtVafDG6ZSl1pYPejOYj56a4W4TAliCIz6LtvYK4HwQuW+X0L5DBEUE4c94CuDiCzYW6TpGIhLMHpIq\/\/dDxnWlGL3ntX9YgLgDZmpoXQxogJb4ZIrbiqZm5Z90ZihYuNXdviTvYFSMtN6plzbT7WM3GbVqwiDayUnTbFSb7TlL6EOjQ6FGev6\/C12WItN8i9QDp+KwgH02FOgD9NXJmoEC3z3JJfYdFhwH1z19Sdcx2vhTdr\/F0yZS5egXgLUAx7g0ZNKaTgncyf7a5mK\/wR+9i398QWd5Cbr+\/oOzh8Z\/jA2dY2mTSkJYXPh8QV4kVxt7mijNnjnuM0nkxXBCL4bDePr9FiuEjdH2MAK4Se656+MT9Gqpi8td8Waql2750vvZQrJlGn6aKs\/orIxiySLa8e1oxlNvLcLByd4PZ9rZbyhIqA4GpgYFAxxtWbDSeLYmvc6PSKYMHWUo"}'
,
true
);
// 异步处理
$private_key
=
ROOT
.
'rsakeys/client.pfx'
;
$public_key
=
ROOT
.
'rsakeys/test.cer'
;
$params
[
'encryptKey'
]
=
isset
(
$_SERVER
[
'HTTP_ENCRYPTKEY'
])
?
$_SERVER
[
'HTTP_ENCRYPTKEY'
]
:
''
;
$params
[
'merchantId'
]
=
isset
(
$_SERVER
[
'HTTP_MERCHANTID'
])
?
$_SERVER
[
'HTTP_MERCHANTID'
]
:
''
;
$data
=
$this
->
NotifyCheckHmac
(
$private_key
,
$params
,
$public_key
,
$this
->
config
[
'password'
]);
var_dump
(
$data
);
die
;
// 支付状态
if
(
isset
(
$data
[
'status'
])
&&
$data
[
'status'
]
==
'SUCCESS'
)
{
$data
[
'out_trade_no'
]
=
$order_no
;
return
DataReturn
(
'支付成功'
,
0
,
$this
->
ReturnData
(
$data
));
}
return
DataReturn
(
'支付失败'
,
-
100
);
...
...
@@ -263,13 +263,15 @@ class PayEase
*/
private
function
ReturnData
(
$data
)
{
print_r
(
$data
);
die
;
// 参数处理
$out_trade_no
=
substr
(
$data
[
'
out_trade_no'
],
0
,
strlen
(
$data
[
'out_trade_no
'
])
-
6
);
$out_trade_no
=
substr
(
$data
[
'
requestId'
],
0
,
strlen
(
$data
[
'requestId
'
])
-
6
);
// 返回数据固定基础参数
$data
[
'trade_no'
]
=
isset
(
$data
[
'serialNumber'
])
?
$data
[
'serialNumber'
]
:
''
;
// 支付平台 - 订单号
$data
[
'buyer_user'
]
=
isset
(
$data
[
'bindCardId'
])
?
$data
[
'bindCardId'
]
:
''
;
// 支付平台 - 用户
$data
[
'subject'
]
=
isset
(
$data
[
'orderCurrency'
])
?
$data
[
'orderCurrency'
]
:
''
;
// 本系统发起支付的 - 商品名称
$data
[
'out_trade_no'
]
=
$out_trade_no
;
// 本系统发起支付的 - 订单号
$data
[
'pay_price'
]
=
$data
[
'orderAmount'
]
/
100
;
// 本系统发起支付的 - 总价
return
$data
;
}
...
...
@@ -729,7 +731,7 @@ class PayEase
$encrypt_str
=
openssl_decrypt
(
$date
,
"AES-128-ECB"
,
$screct_key
);
$encrypt_str
=
preg_replace
(
'/[\x00-\x1F]/'
,
''
,
$encrypt_str
);
$encrypt_str
=
json_decode
(
$encrypt_str
,
true
);
var_dump
(
$encrypt_str
);
die
;
/*
* 去除空值的元素
*/
...
...
@@ -740,7 +742,7 @@ class PayEase
{
return
(
$var
<>
''
);
//return true or false
}
return
(
array_filter
(
$arr
,
"odd"
));
return
empty
(
$arr
)
?
''
:
(
array_filter
(
$arr
,
"odd"
));
}
function
array_remove_empty
(
&
$arr
,
$trim
=
true
){
...
...
@@ -757,13 +759,11 @@ class PayEase
}
}
}
$encrypt_str
=
clearBlank
(
$encrypt_str
);
// $encrypt_str = clearBlank($encrypt_str);
var_dump
(
$encrypt_str
);
die
;
if
(
empty
(
$encrypt_str
[
'hmac'
])){
throw
new
HmacVerifyException
(
array
(
'error_description'
=>
'hmac validation error'
,
'responseData'
=>
$encrypt_str
));
return
DataReturn
(
'HMAC验证错误'
,
-
1
);
}
$hmac
=
$encrypt_str
[
'hmac'
];
unset
(
$encrypt_str
[
'hmac'
]);
...
...
@@ -774,7 +774,7 @@ class PayEase
if
(
is_array
(
$value
))
{
ksort
(
$value
);
foreach
(
$value
as
$key2
=>
$value2
)
{
if
(
is_
object
(
$value2
))
{
if
(
is_
array
(
$value2
))
{
$value2
=
array_filter
((
array
)
$value2
);
ksort
(
$value2
);
foreach
(
$value2
as
$oKey
=>
$oValue
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录