ECShop添加微信H5支付

       ECShop在早些版本是支持微信公众号支付的,但是在2.7.3版本里是不支持微信H5支付的。所以需要在相应的微信支付文件中添加相应的代码。那么废话不多说。

  1.     公众号信息,微信支付相应的信息,当然得提前准备好,这里不需要再过多赘述了,提醒一点是,微信公众号里面的网页授权域名跟JS接口安全域名记得设置,之前就是忘了设置了.......ECShop添加微信H5支付_第1张图片
  2. 在wxpay.php中添加相应的代码,如果你是手机端就到mobile里面去找

       ECShop添加微信H5支付_第2张图片 

ECShop添加微信H5支付_第3张图片       

 

 

 

 

 

 

 

ECShop添加微信H5支付_第4张图片

基本上也就只有三部分需要添加,下面把关键代码方法get_h5的代码放出来,其他的代码量下,参照着截图添加一下就好啦。

function get_h5($order, $payment)
    {
        if (!defined('EC_CHARSET'))
        {
            $charset = 'utf-8';
        }
        else
        {
            $charset = EC_CHARSET;
        }

        $cip = "unknown";
        if($_SERVER['REMOTE_ADDR']){
            $cip = $_SERVER['REMOTE_ADDR'];
        }
        elseif(getenv("REMOTE_ADDR")){
            $cip = getenv("REMOTE_ADDR");
        }
        $charset = strtoupper($charset);
        // 配置参数
        $this->payment = $payment;
        $root=$GLOBALS['ecs']->url();
        $notify_url=$root."respondwx.php";

        $this->logResult("log::get_code::notify_url:".$notify_url);

        $this->setParameter("out_trade_no", $order['order_sn'] . 'O' . $order['log_id'].'O'.$order['order_amount'] * 100);
        $this->setParameter("device_info", 'WEB');
        $this->setParameter("body", $order['order_sn']); // 商品描述
        $this->setParameter("attach", $order['order_sn']); // 商品描述
        $this->setParameter("total_fee", $order['order_amount'] * 100); // 总金额
        $this->setParameter("goods_tag", $order['order_sn']); // 总金额
        $this->setParameter("notify_url", $notify_url); // 通知地址
        $this->setParameter("trade_type", "MWEB"); // 交易类型
        $this->setParameter("input_charset", $charset);
        $this->setParameter("scene_info", '{"h5_info":{"type":"Wap","wap_url":"你的连接","wap_name":"链接标题"}}'); // 交易类型
        //Return Param
        $res = $this->getPrepayId(1);
        if(empty($res['prepay_id'])){
            return '
'; } //END DELETE $callback_url=return_url("wxpay", array( 'type' => 0, 'status' => 1, 'log_id'=>$order['log_id'] )); $callback_url_error= return_url("wxpay", array( 'type' => 0, 'status' => 0 )); $js = '
'; return $js; }

很久没有更新博客了,而且写也写的很乱,没有时间总结,只能先把关键的东西放上来,稍后项目不忙了回来再看看,如果有什么错误或者疑问,可以私信我,我看到会尽量帮助你的

你可能感兴趣的:(PHP)