微信扫描支付模式二(CI框架)

来源:互联网 发布:baidu.com淘宝 编辑:程序博客网 时间:2024/05/21 21:35

原理:通过demo给出的生成二维码类生成二维码,然后进行扫面,微信系统会给出异步返回结果success或者fail,根据结果惊醒返回。

1.先去微信官网下载demo,放到网站根目录或者控制器下

2.首先扫描先要一个二维码,生成二维码通过ajax通过下面参数获取url然后异步返回img路径,这样就可以生成二维码了

以下参数:
$notify = new NativePay();

$out_trade_no=WxPayConfig::MCHID.date(“YmdHis”);

$input = new WxPayUnifiedOrder();

$input->SetBody(“会员充值”);

$input->SetAttach(“会员充值”);

input>SetOuttradeno(out_trade_no);

input>SetTotalfee(money);

$input->SetTime_start(date(“YmdHis”));

$input->SetTime_expire(date(“YmdHis”, time() + 600));

$input->SetGoods_tag(“会员充值”);

$input>SetNotify_url(“网站根目录wxpay/orders/notify.html”);

$input->SetTrade_type("NATIVE");$input->SetProduct_id(time());$result = $notify->GetPayUrl($input);$url = $result["code_url"];echo json_encode(array('url'=>$url));

这里写图片描述

3.生成的二维码进行支付,支付后怎么跳转呢,接下来就是通过js来实现,我是通过去不断地查询微信支付的结构,是不是有钱,没有的话继续查询,微信系统会返回结果,每隔3秒去查,知道支付成功或者查询有钱了就跳转,看下面代码
这里写图片描述
通过不断查询,没有查到,就继续到下面ajax的路径里去查,也就是执行的结果
outtradeno=this->session->userdata(‘out_trade_no’);//接收订单号
$input = new WxPayOrderQuery();

input>SetOuttradeno(out_trade_no);
result=WxPayApi::orderQuery(input);
只要是这几步,然后在下面你就可以往数据库里面进行操作,并且返回结果
if($result[‘trade_state’]==’SUCCESS’){自定义执行想要的操作}

注意:这个过程中路径很重要,要详细配置自己的跳转路径,

1 0
原创粉丝点击