wx pay debug

feat/task1-c-wallet
devil_gong 2019-05-24 18:41:06 +08:00
parent 73b6b1cd78
commit da93a419cb
3 changed files with 54 additions and 6 deletions

View File

@ -1 +1,47 @@
pay
<script type="text/javascript">
function onBridgeReady()
{
WeixinJSBridge.invoke(
'getBrandWCPayRequest', {
"appId":"{{$pay_data.appId}}",
"timeStamp":"{{$pay_data.timeStamp}}",
"nonceStr":"{{$pay_data.nonceStr}}",
"package":"{{$pay_data.package}}",
"signType":"{{$pay_data.signType}}",
"paySign":"{{$pay_data.paySign}}"
},
function(res) {
if(res.err_msg == "get_brand_wcpay_request:ok" )
{
Prompt(result.msg, 'success');
{{if !empty($redirect_url)}}
setTimeout(function()
{
window.location.href = '{{$redirect_url}}';
}, 1500);
{{/if}}
} else if(res.err_msg == 'get_brand_wcpay_request:cancel')
{
Prompt('用户取消');
} else if(res.err_msg == 'get_brand_wcpay_request:fail')
{
Prompt('支付失败');
} else {
Prompt('支付参数有误');
}
});
}
if(typeof WeixinJSBridge == "undefined")
{
if( document.addEventListener )
{
document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
} else if (document.attachEvent)
{
document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
}
} else {
onBridgeReady();
}
</script>

View File

@ -31,11 +31,12 @@ class Pay extends Controller
*/
public function Index($params = [])
{
if(empty($params['pay_data']))
if(!empty($params['pay_data']))
{
$pay_data = json_decode(urldecode($params['pay_data']), true);
print_r($pay_data);die;
$redirect_url = empty($params['redirect_url']) ? '' : urldecode($params['redirect_url']);
$this->assign('pay_data', $pay_data);
$this->assign('redirect_url', $redirect_url);
return $this->fetch('../../../plugins/view/weixinwebauthorization/index/pay/index');
} else {
$this->assign('msg', '支付参数错误');

View File

@ -166,6 +166,7 @@ class Weixin
*/
private function PayHandleReturn($pay_params = [], $data = [], $params = [])
{
$redirect_url = empty($params['order_id']) ? '' : urlencode(MyUrl('index/order/detail', ['id'=>$params['order_id']]));
$result = DataReturn('支付接口异常', -1);
switch($pay_params['trade_type'])
{
@ -190,7 +191,7 @@ class Weixin
case 'MWEB' :
if(!empty($params['order_id']))
{
$data['mweb_url'] .= '&redirect_url='.urlencode(MyUrl('index/order/detail', ['id'=>$params['order_id']]));
$data['mweb_url'] .= '&redirect_url='.$redirect_url;
}
$result = DataReturn('success', 0, $data['mweb_url']);
break;
@ -209,7 +210,7 @@ class Weixin
// 微信中
if(!empty($_SERVER['HTTP_USER_AGENT']) && stripos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false)
{
$url = PluginsHomeUrl('weixinwebauthorization', 'pay', 'index', ['pay_data'=>urlencode(json_encode($pay_data))]);
$url = PluginsHomeUrl('weixinwebauthorization', 'pay', 'index', ['pay_data'=>urlencode(json_encode($pay_data)), 'redirect_url'=>$redirect_url]);
$result = DataReturn('success', 0, $url);
} else {
$result = DataReturn('success', 0, $pay_data);