首先生成订单,需要生成订单的订单号去请求微信支付接口,去商户平台拿商户的商户号,和商户秘钥,微信公众平台的appID和secret,
下载微信dome https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=11_1
public function pc_pay(Request $re){
header("Content-type:text/html;charset=utf-8");
require VENDOR_PATH.'/wxpay/lib/WxPay.Api.php'; //引入微信支付
$input = new \WxPayunifiedOrder();//统一下单
$config = new \WxPayConfig();//配置参数
//$paymoney = input('post.paymoney'); //支付金额
$id=$re->param('id');
$order=Db('order')->where('order_num',$id)->find();
$out_trade_no = $order['order_num']; //商户订单号(自定义)
$goods_name = '扫码支付'.$order['amount'].'元'; //商品名称(自定义)
$input->SetBody($goods_name);
$input->SetAttach($goods_name);
$input->SetOut_trade_no($out_trade_no);
$input->SetTotal_fee($order['amount']*100);//金额乘以100
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 600));
$input->SetGoods_tag("test");
$input->SetNotify_url("http://tongchengh.qinfenniao.com/index/Wxpay/wxpaynotify"); //回调地址
$input->SetTrade_type("NATIVE");
$input->SetProduct_id($order['id']);//商品id
$result = \WxPayApi::unifiedOrder($config, $input);
// var_dump($result);die();
if($result['result_code']=='SUCCESS' && $result['return_code']=='SUCCESS') {
$url = $result["code_url"];
return json(['code'=>1,'url'=>$url]);
}else{
$this->error('参数错误');
}
return view();
}
这正常的微信支付一样,不过这里请求返回的是一个可以生成的二维码的参数值
这里需要自己去生成二维码
把返回的字符串截取
public function erma(){
$id = $this->request->param('id');
$url = urldecode($id);
if(substr($url, 0, 6) == "weixin"){
$a = userimg($url);
if($a){
return json(['code'=>1,'msg'=>'成功','img'=>$a]);
}else{
return json(['code'=>0,'msg'=>'失败']);
}
}else{
header('HTTP/1.1 404 Not Found');
}
}
然后生成二维码
这样就进行支付了
原创©本文章为教腾豪原创,未经许可,禁止转载
0条评论