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

原理:通过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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值