微信h5支付

Posted wqy的笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信h5支付相关的知识,希望对你有一定的参考价值。

首先从官方网站下载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  

thinkphp

thinkcmf5

 

原文:http://www.upwqy.com/details/222.html

具体代码如下 

 

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;
        }
    }
});

 

以上是关于微信h5支付的主要内容,如果未能解决你的问题,请参考以下文章

企业号微信支付 公众号支付 H5调起支付API示例代码 JSSDK C# .NET

微信支付H5支付

php微信h5支付

微信h5支付和jsapi支付的区别

如何申请微信H5支付

基于H5的微信支付开发详解