# 掃碼支付
[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輪詢,當支付狀態改變后,將頁面跳轉即可。