微信支付生成二维码方法封装


/**
 * 微信支付
 * @param  $out_trade_no [商户自己的订单号码注意唯一]
 * @param  $body  [商品描述]
 * @param  $attach [附加数据]
 * @param  $total_fee [付款金额]
 * @param  $notify_url [通知地址]
 */
function WxcodePay($out_trade_no,$body,$attach,$total_fee,$notify_url) {
    //使用统一支付接口
    $unifiedOrder = new UnifiedOrder_pub();
    //设置统一支付接口参数
    //设置必填参数
    //appid已填,商户无需重复填写
    //mch_id已填,商户无需重复填写
    //noncestr已填,商户无需重复填写
    //spbill_create_ip已填,商户无需重复填写
    //sign已填,商户无需重复填写
    $unifiedOrder->setParameter("body",$body);//商品描述
    //自定义订单号,此处仅作举例
    //         $timeStamp = time();
    //         $out_trade_no = date("YmdHis").rand(1000,9999).$timeStamp.rand(1000,9999);
    $unifiedOrder->setParameter("out_trade_no",$out_trade_no);//商户订单号
//     $unifiedOrder->setParameter("total_fee",$total_fee);//总金额
    $unifiedOrder->setParameter("total_fee",'1');//总金额
    $unifiedOrder->setParameter("notify_url",$notify_url);//通知地址
    $unifiedOrder->setParameter("trade_type","NATIVE");//交易类型
    //非必填参数,商户可根据实际情况选填
    //$unifiedOrder->setParameter("sub_mch_id","XXXX");//子商户号
    //$unifiedOrder->setParameter("device_info","XXXX");//设备号
    $unifiedOrder->setParameter("attach",$attach);//附加数据
    //$unifiedOrder->setParameter("time_start","XXXX");//交易起始时间
    //$unifiedOrder->setParameter("time_expire","XXXX");//交易结束时间
    //$unifiedOrder->setParameter("goods_tag","XXXX");//商品标记
    //$unifiedOrder->setParameter("openid","$body");//用户标识
//     $unifiedOrder->setParameter("product_id",$payid);//商品ID

    //获取统一支付接口结果
    $unifiedOrderResult = $unifiedOrder->getResult();

    //商户根据实际情况设置相应的处理流程
    if ($unifiedOrderResult["return_code"] == "FAIL")
    {
        //商户自行增加处理流程
        echo "通信出错:".$unifiedOrderResult['return_msg']."
";
    }
    elseif($unifiedOrderResult["result_code"] == "FAIL")
    {
        //商户自行增加处理流程
        echo "错误代码:".$unifiedOrderResult['err_code']."
";
        echo "错误代码描述:".$unifiedOrderResult['err_code_des']."
";
    }
    elseif($unifiedOrderResult["code_url"] != NULL)
    {
        //从统一支付接口获取到code_url
        $code_url = $unifiedOrderResult["code_url"];
        //商户自行增加处理流程
        //......
    }
    $ordercode = array($code_url,$unifiedOrderResult);
    return $ordercode;
}

你可能感兴趣的:(php)