# 扫码支付
[TOC]
使用的微信提供的模式二支付方式流程更为简单,不需要在微信管理平台设置的回调支付URL。
```
$data = [
//订单总金额,单位为分
'total_fee' => 1,
//商品简单描述
'body' => '扫码支付',
//附加数据,在查询API和支付异步通知中原样返回,可作为自定义参数使用
'attach' => 'uid=1&city=扫码',
//商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一。
'out_trade_no' => time(),
//异步接收微信支付结果通知的回调地址,通知url必须为外网可访问的url,不能携带参数。
'notify_url' => 'http://dev.hdcms.com/component/wechat/tests/app/notifyUrl.php',
];
$res = WeChat::instance('pay')->payByCode($data);
if (isset($res['code_url']) && $res['result_code'] == 'SUCCESS') {
//创建二维码
$img = QrCode::make($res['code_url']);
die("<img src='{$img}'>");
} else {
echo "支付错误: ".$res['errmsg'];
}
```
#### 扫码后跳转
下面我们来介绍一下当我扫码二维码支付成功后PC端的跳转方法。
PC端用setInterval定时请求后台,用websocket给微信发送notify时同时请求socket或者用ajax轮询,当支付状态改变后,将页面跳转即可。