PHP 微信公众号,小程序获取支付参数。微信支付

首先下载微信官方demo放入项目中

地址:https://github.com/top-songshijie/WechatPay

引入其中所需的文件,复制以下代码直接使用即可

public function _initialize()
    {
        parent::_initialize();
        require_once EXTEND_PATH . "WechatPay/lib/WxPay.Api.php";
        require_once EXTEND_PATH . "WechatPay/example/WxPay.JsApiPay.php";
        require_once EXTEND_PATH . "WechatPay/lib/WxPay.Notify.php";
        require_once EXTEND_PATH . 'WechatPay/example/log.php';
    }


    public function pay($openId , $price , $order_sn , $url)
    {
        $price = intval($price * 100);
        $tools = new \JsApiPay();
        $input = new \WxPayUnifiedOrder();
        $input->SetBody("");
        $input->SetAttach("");
        $input->SetOut_trade_no($order_sn);
        $input->SetTotal_fee($price);
        $input->SetTime_start(date("YmdHis"));
        $input->SetTime_expire(date("YmdHis", time() + 600));
        $input->SetGoods_tag("");
        $input->SetNotify_url($url);
        $input->SetTrade_type("JSAPI");
        $input->SetOpenid($openId);
        $config = new \WxPayConfig();
        $order = \WxPayApi::unifiedOrder($config, $input);
        $jsApiParameters = $tools->GetJsApiParameters($order);
        return json_decode($jsApiParameters);
    }

    //回调
    public function pay_notify()
    {
        $config = new \WxPayConfig();
        $notify = new \WxPayNotify();
        $order = new OrderModel();
        $user = new UsersModel();
        $notify->Handle($config, false);
        $xml = file_get_contents("php://input");
        $base = new \WxPayResults();
        $data = $base->FromXml($xml);
        //验签
        if ($base->CheckSign($config)) {
            $order_sn = $data['out_trade_no'];
           
        }
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值