微信 手机网站 h5 wap浏览器 支付


首先从官方网站下载demo: https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1

这里下载的是微信公众号支付所使用的demo


下载以后 还需要改动一些地方,你可以到如下地址查看 http://www.upwqy.com/soft/check/12.html 也可以下载demo

交待一下开发环境

window  

thinkphp5 

thinkcmf5


具体代码如下 


ini_set('date.timezone', 'Asia/Shanghai');
Loader::import('paywx.lib.WxPay', EXTEND_PATH, '.Api.php');


  模型(model)中

public  function pay($subject,$out_trade_no,$total_amount){
   $input = new \WxPayUnifiedOrder();
   $input->SetBody($subject);
   $input->SetOut_trade_no($out_trade_no);
   $input->SetTotal_fee($total_amount * 100);
   $input->SetNotify_url("回调地址");
   $input->SetTrade_type("MWEB");

   $scene_info = '{"h5_info":{"type":"Wap","wap_url":"域名","wap_name":"企业名称"}}';

   $input->SetValues("scene_info",$scene_info);


   $wxOrder = \WxPayApi::unifiedOrder($input);
   if ($wxOrder['return_code'] != 'SUCCESS' ||
       $wxOrder['result_code'] != 'SUCCESS'
   )
   {
       Log::record($wxOrder, 'error');
       Log::record('获取预支付订单失败', 'error');
   }

   return $wxOrder;
}




在控制器中 有些数据 改为自己代码中的数据  

$wxpay = new WxPayService();
$result = $wxpay->pay($order['snap_name'],$order_no,'0.01');        
if ($result['result_code'] == 'SUCCESS' && $result['return_code'] == 'SUCCESS') {

   $url = $result['mweb_url']."&redirect_url=".urlencode("支付完需要返回的链接 http://www.upwqy.com/soft/check/12.html");
   $this->success('获取成功',null,['url'=>$url]);
}else{
   $this->error($result['return_msg']);
}

前端代码:

$.ajax({
    type:'post',
    dataType:'json',
    data:{},
    timeout:10000,
    url:"{:url('Pay/wxPay')}",
    success:function (res) {

        if(res.code){
            window.location.href = res.data.url;
        }
    }
});


本人主要从事APP开发。QQ:529857614 (请注明需求);

上一篇: 景安虚拟主机 编辑器中有代码不能提交问题
下一篇: PHP资源列表