本文主要是介绍php微信支付点击付款页面空白,微信公众号支付未能正常调起 呈空白页 未能调起支付框...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
您好 首先要安装免费的插件 微信支付宝整合插件 https://www.fastadmin.net/store/epay.html
这个需要后端和前端写代码的
PHP部分 订单号注意按照自己的来 我的修改过$epay = get_addon_info('epay');
if ($epay && $epay['state']) {
$notifyurl = $request->root(true) . '/course/epay/type/notify/paytype/' . $paytype;
$returnurl = $request->root(true) . '/course/epay/type/return/paytype/' . $paytype;
$check_weixin = stripos($request->server('HTTP_USER_AGENT'), 'MicroMessenger') !== false;
if ($check_weixin){
//微信应用内支付
$jsapi = Service::submitOrder($price, $ordersn, $paytype, "支付订单:{$ordersn}", $notifyurl, $returnurl,"mp");
$jsapi = json_decode($jsapi,TRUE);
$this->view->assign('jsapi', $jsapi);
$this->view->assign('title', __('Buy Course'));
return $this->view->fetch();
}else{
return Service::submitOrder($price, $ordersn, $paytype, "支付订单:{$ordersn}", $notifyurl, $returnurl);
}
exit;
} else {
$result = \think\Hook::listen('courseorder_order_submit', $order);
if (!$result) {
throw new Exception("请先在后台安装并配置微信支付宝整合插件");
}
}
前端html模板页
微信应用内支付
//调用微信JS api 支付 appId、timeStamp、nonceStr、package、signType
function onBridgeReady(){
WeixinJSBridge.invoke(
'getBrandWCPayRequest', {
"appId":"{$jsapi.appId}",
"timeStamp":"{$jsapi.timeStamp}",
"nonceStr":"{$jsapi.nonceStr}",
"package":"{$jsapi.package}",
"signType":"{$jsapi.signType}",
"paySign":"{$jsapi.paySign}"
},
function(res){
if(res.err_msg == "get_brand_wcpay_request:ok" ){
// 使用以上方式判断前端返回,微信团队郑重提示:
window.location.href = "https://www.domain.com/user/";
//res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
}
});
}
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();
}
这篇关于php微信支付点击付款页面空白,微信公众号支付未能正常调起 呈空白页 未能调起支付框...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!