Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
yii2_fecshop
提交
50d15e87
Y
yii2_fecshop
项目概览
OpenDocCN
/
yii2_fecshop
通知
18
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Y
yii2_fecshop
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
50d15e87
编写于
6月 20, 2019
作者:
T
Terry
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
appserver 微信h5支付
上级
976b39ec
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
128 addition
and
7 deletion
+128
-7
app/appserver/modules/Payment/controllers/Wxpayh5Controller.php
...pserver/modules/Payment/controllers/Wxpayh5Controller.php
+114
-0
app/appserver/modules/Payment/controllers/WxpayjsapiController.php
...rver/modules/Payment/controllers/WxpayjsapiController.php
+8
-7
services/helper/Appserver.php
services/helper/Appserver.php
+6
-0
未找到文件。
app/appserver/modules/Payment/controllers/Wxpayh5Controller.php
0 → 100644
浏览文件 @
50d15e87
<?php
/**
* FecShop file.
*
* @link http://www.fecshop.com/
* @copyright Copyright (c) 2016 FecShop Software LLC
* @license http://www.fecshop.com/license/
*/
namespace
fecshop\app\appserver\modules\Payment\controllers
;
use
fecshop\app\appserver\modules\Payment\PaymentController
;
use
Yii
;
/**
* @author Terry Zhao <2358269014@qq.com>
* @since 1.0
*/
class
Wxpayh5Controller
extends
PaymentController
{
public
$enableCsrfValidation
=
false
;
protected
$_increment_id
;
protected
$_order_model
;
/**
* 支付开始页面.
*/
public
function
actionStart
()
{
if
(
Yii
::
$app
->
request
->
getMethod
()
===
'OPTIONS'
){
return
[];
}
$checkOrder
=
$this
->
checkOrder
();
if
(
$checkOrder
!==
true
){
return
$checkOrder
;
}
$return_Url
=
Yii
::
$app
->
request
->
post
(
'return_url'
);
//Yii::$service->page->theme->layoutFile = 'wxpay_jsapi.php';
$objectxml
=
Yii
::
$service
->
payment
->
wxpayH5
->
getScanCodeStart
();
//var_dump($objectxml);
//$returnUrl = Yii::$service->payment->getStandardReturnUrl();
$return_Url
=
urlencode
(
$return_Url
);
$redirectUrl
=
$objectxml
[
'mweb_url'
]
.
'&redirect_url='
.
$return_Url
;
$data
=
[
'redirectUrl'
=>
$redirectUrl
,
];
$code
=
Yii
::
$service
->
helper
->
appserver
->
status_success
;
$responseData
=
Yii
::
$service
->
helper
->
appserver
->
getResponseData
(
$code
,
$data
);
return
$responseData
;
}
public
function
actionReview
()
{
if
(
Yii
::
$app
->
request
->
getMethod
()
===
'OPTIONS'
){
return
[];
}
$checkOrder
=
$this
->
checkOrder
();
if
(
$checkOrder
!==
true
){
return
$checkOrder
;
}
$out_trade_no
=
Yii
::
$service
->
order
->
getSessionIncrementId
();
$reviewStatus
=
Yii
::
$service
->
payment
->
wxpay
->
scanCodeCheckTradeIsSuccess
(
$out_trade_no
);
if
(
$reviewStatus
){
$data
=
[
'redirectUrl'
=>
$redirectUrl
,
];
$code
=
Yii
::
$service
->
helper
->
appserver
->
status_success
;
$responseData
=
Yii
::
$service
->
helper
->
appserver
->
getResponseData
(
$code
,
$data
);
return
$responseData
;
}
else
{
$errors
=
Yii
::
$service
->
helper
->
errors
->
get
(
','
);
$data
=
[
'errors'
=>
$errors
,
];
$code
=
Yii
::
$service
->
helper
->
appserver
->
order_wxpay_payment_fail
;
$responseData
=
Yii
::
$service
->
helper
->
appserver
->
getResponseData
(
$code
,
$data
);
return
$responseData
;
}
}
/**
* IPN消息推送地址
* IPN过来后,不清除session中的 increment_id ,也不清除购物车
* 仅仅是更改订单支付状态。
*/
public
function
actionIpn
()
{
Yii
::
$service
->
payment
->
wxpay
->
ipn
();
}
/** 废弃
* 成功支付页面.
*/
public
function
actionSuccess
()
{
$data
=
[
'increment_id'
=>
$this
->
_increment_id
,
];
// 清理购物车中的产品。(游客用户的购物车在成功页面清空)
if
(
Yii
::
$app
->
user
->
isGuest
)
{
Yii
::
$service
->
cart
->
clearCartProductAndCoupon
();
}
// 清理session中的当前的increment_id
Yii
::
$service
->
order
->
removeSessionIncrementId
();
return
$this
->
render
(
'../../payment/checkmoney/success'
,
$data
);
}
}
app/appserver/modules/Payment/controllers/WxpayjsapiController.php
浏览文件 @
50d15e87
...
@@ -18,19 +18,20 @@ use Yii;
...
@@ -18,19 +18,20 @@ use Yii;
*/
*/
class
WxpayjsapiController
extends
PaymentController
class
WxpayjsapiController
extends
PaymentController
{
{
public
$enableCsrfValidation
=
false
;
public
$enableCsrfValidation
=
false
;
public
function
init
(){
}
/**
/**
* 通过微信回传的code,进而获取相关的信息
* 通过微信回传的code,进而获取相关的信息
*/
*/
public
function
actionStart
()
public
function
actionStart
()
{
{
parent
::
init
();
if
(
Yii
::
$app
->
request
->
getMethod
()
===
'OPTIONS'
){
return
[];
}
$checkOrder
=
$this
->
checkOrder
();
if
(
$checkOrder
!==
true
){
return
$checkOrder
;
}
$code
=
Yii
::
$app
->
request
->
post
(
'code'
);
$code
=
Yii
::
$app
->
request
->
post
(
'code'
);
// 获取相关的code
// 获取相关的code
$data
=
Yii
::
$service
->
payment
->
wxpayJsApi
->
getScanCodeStart
(
$code
);
$data
=
Yii
::
$service
->
payment
->
wxpayJsApi
->
getScanCodeStart
(
$code
);
...
...
services/helper/Appserver.php
浏览文件 @
50d15e87
...
@@ -170,6 +170,8 @@ class Appserver extends Service
...
@@ -170,6 +170,8 @@ class Appserver extends Service
public
$order_alipay_payment_fail
=
1500019
;
// Order: 下订单,支付宝支付订单失败
public
$order_alipay_payment_fail
=
1500019
;
// Order: 下订单,支付宝支付订单失败
public
$order_payment_paypal_express_error
=
1500020
;
public
$order_payment_paypal_express_error
=
1500020
;
public
$order_wxpay_payment_fail
=
1500021
;
/**
/**
* cms
* cms
...
@@ -529,6 +531,10 @@ class Appserver extends Service
...
@@ -529,6 +531,10 @@ class Appserver extends Service
$this
->
order_alipay_payment_fail
=>
[
$this
->
order_alipay_payment_fail
=>
[
'message'
=>
'order pay by alipay payment fail'
,
'message'
=>
'order pay by alipay payment fail'
,
],
],
$this
->
order_wxpay_payment_fail
=>
[
'message'
=>
'order pay by wxpay payment fail'
,
],
/**
/**
* cms
* cms
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录