public function index()
{
//调用前 请到config/pay.php中设置appid Key MerchantId
//有遇到一个坑就是 明明都填写正确 就是报错 那么请到商户后台重置KEY
require APP_ROOT . "/../extend/wx/WxPay.Api.php";
require APP_ROOT . '/../extend/phpqrcode/phpqrcode.php';
//获取支付二维码
/**
* 流程:
* 1、调用统一下单,取得code_url,生成二维码
* 2、用户扫描二维码,进行支付
* 3、支付完成之后,微信服务器会通知支付成功
* 4、在支付成功通知中需要查单确认是否真正支付成功(见:notify.php)
*/
//Extend里面得微信sdk 是官方下载下来得 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1
//除了改了require_once路径 其他没做改动 可以参照自己理解
$trade_no = DoCreateOrderNumber(); //订单号
$Total_fee = 1; //支付金额 单位分
$shop_name = "余额充值";
$pay_type = 1;
$user_id = 1;
$attach["pay_type"] = $pay_type; //交易类型 0充值 1支出
$attach["pay_model"] = 2; //订单分类 2微信支付 3支付宝支付 这个里面是微信得方法 固定为2
$attach["user_id"] = $user_id; //用户ID
$starttime = date("YmdHis");
$exprietime = date("YmdHis", time() + 600);
$notify = new \NativePay();
$input = new \WxPayUnifiedOrder();
$input->SetBody($shop_name); //商品简单描述
$input->SetAttach(urlencode(json_encode($attach, true))); //附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据 这里做好编码 通知回调中也要解码 然后在生成sign 不然会一直提示签名错误
$input->SetOut_trade_no($trade_no); //商户系统内部的订单号,32个字符内、可包含字母
$input->SetTotal_fee("$Total_fee"); //总金额
$input->SetTime_start($starttime); //交易起始时间
$input->SetTime_expire($exprietime); //交易结束时间
$input->SetGoods_tag("test"); //商品标记,代金券或立减优惠功能的参数
$input->Se
ThinkPHP5.1微信支付,记录踩过的坑
最新推荐文章于 2024-05-10 06:56:23 发布
