Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
starsw001
ShopXO
提交
ce9b57b2
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,发现更多精彩内容 >>
提交
ce9b57b2
编写于
1月 07, 2019
作者:
D
devil_gong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
pay debug
上级
e7165b25
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
36 addition
and
31 deletion
+36
-31
extend/payment/WeixinMini.php
extend/payment/WeixinMini.php
+36
-31
未找到文件。
extend/payment/WeixinMini.php
浏览文件 @
ce9b57b2
...
...
@@ -149,25 +149,8 @@ class WeixinMini
}
// xml
$xml
=
'<xml>
<appid>'
.
$this
->
config
[
'appid'
]
.
'</appid>
<body>'
.
$data
[
'data'
][
'data'
][
'name'
]
.
'</body>
<mch_id>'
.
$this
->
config
[
'mch_id'
]
.
'</mch_id>
<nonce_str>'
.
$data
[
'data'
][
'data'
][
'nonce_str'
]
.
'</nonce_str>
<notify_url>'
.
$data
[
'data'
][
'data'
][
'notify_url'
]
.
'</notify_url>
<openid>'
.
$data
[
'data'
][
'data'
][
'user_openid'
]
.
'</openid>
<out_trade_no>'
.
$data
[
'data'
][
'data'
][
'order_no'
]
.
'</out_trade_no>
<spbill_create_ip>'
.
$data
[
'data'
][
'data'
][
'spbill_create_ip'
]
.
'</spbill_create_ip>
<total_fee>'
.
$data
[
'data'
][
'data'
][
'total_price'
]
.
'</total_fee>
<trade_type>'
.
$data
[
'data'
][
'data'
][
'trade_type'
]
.
'</trade_type>
<attach>'
.
$data
[
'data'
][
'data'
][
'attach'
]
.
'</attach>
<sign_type>'
.
$data
[
'data'
][
'data'
][
'sign_type'
]
.
'</sign_type>
<sign>'
.
$data
[
'data'
][
'sign'
]
.
'</sign>
</xml>'
;
$xml
=
$this
->
ArrayToXml
(
$data
[
'data'
]);
$result
=
$this
->
XmlToArray
(
$this
->
HttpRequest
(
'https://api.mch.weixin.qq.com/pay/unifiedorder'
,
$xml
));
print_r
(
$xml
);
print_r
(
$result
);
die
;
if
(
!
empty
(
$result
[
'return_code'
])
&&
$result
[
'return_code'
]
==
'SUCCESS'
&&
!
empty
(
$result
[
'prepay_id'
]))
{
// 返回数据
...
...
@@ -185,6 +168,26 @@ class WeixinMini
return
DataReturn
(
'参数不能为空'
,
-
1
);
}
/**
* 数组转xml
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2019-01-07
* @desc description
* @param [array] $data [数组]
*/
private
function
ArrayToXml
(
$data
)
{
$xml
=
'<xml>'
;
foreach
(
$data
as
$k
=>
$v
)
{
$xml
.
=
'<'
.
$k
.
'>'
.
$v
.
'</'
.
$k
.
'>'
;
}
$xml
.
=
'</xml>'
;
return
$xml
;
}
/**
* 获取支付参数
* @author Devil
...
...
@@ -196,19 +199,21 @@ class WeixinMini
*/
private
function
GetPayParams
(
$params
=
[])
{
if
(
empty
(
$params
))
return
''
;
$params
[
'appid'
]
=
$this
->
config
[
'appid'
];
$params
[
'mch_id'
]
=
$this
->
config
[
'mch_id'
];
$params
[
'nonce_str'
]
=
md5
(
time
()
.
rand
()
.
$params
[
'order_no'
]);
$params
[
'spbill_create_ip'
]
=
GetClientIP
();
$params
[
'trade_type'
]
=
empty
(
$params
[
'trade_type'
])
?
'JSAPI'
:
$params
[
'trade_type'
];
$params
[
'attach'
]
=
empty
(
$params
[
'attach'
])
?
'shopxo-attach'
:
$params
[
'attach'
];
$params
[
'sign_type'
]
=
'MD5'
;
$data
=
array
(
'sign'
=>
$this
->
GetSign
(
$params
),
'data'
=>
$params
,
);
$data
=
[
'appid'
=>
$this
->
config
[
'appid'
],
'mch_id'
=>
$this
->
config
[
'mch_id'
],
'body'
=>
$params
[
'name'
],
'nonce_str'
=>
md5
(
time
()
.
rand
()
.
$params
[
'order_no'
]),
'notify_url'
=>
$params
[
'notify_url'
],
'openid'
=>
$params
[
'user_openid'
],
'out_trade_no'
=>
$params
[
'order_no'
],
'spbill_create_ip'
=>
GetClientIP
(),
'total_fee'
=>
$params
[
'total_price'
],
'trade_type'
=>
empty
(
$params
[
'trade_type'
])
?
'JSAPI'
:
$params
[
'trade_type'
],
'attach'
=>
empty
(
$params
[
'attach'
])
?
'shopxo-attach'
:
$params
[
'attach'
],
'sign_type'
=>
'MD5'
,
];
$data
[
'sign'
]
=
$this
->
GetSign
(
$data
),
return
DataReturn
(
'success'
,
0
,
$data
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录