要實現原生掃碼支付功能,前提已經完成了[微信平臺支付配置](微信平臺支付配置.md)
# 模式一開發實現流程
## 第一步:獲取二維碼
獲取到的二維碼鏈接已自動進行轉換短鏈接操作,減小二維碼數據量,提升掃描速度和精確度。
獲取的方法如下:
~~~
$appid = '你的公眾號appid';
$product = [
'product_id'=>'商戶定義的商品id 或者訂單號',
'body'=>'商品簡單描述',
'out_trade_no'=>'商戶系統內部訂單號,要求32個字符內、且在同一個商戶號下唯一',
'total_fee'=>'訂單總金額,單位為分'
];
$callback = '支付成功后的回調地址';
$type = 1; //模式一
$scan = D('Common/Payment')->scan_pay($appid, $product, $callback, $type);
if ($scan['status'] == 0) {
$this->error($scan['msg']);
}
$this->assign('qrcode', $scan['short_url']);
~~~
prodect數組是傳遞最基本的商品參數,同時也支持傳遞更多微信支付里的[統一下單](https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1)接口里的參數
參數body請按照規范傳遞,具體請見[參數規則](https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=4_2)
其中回調地址的格式:應用名/model類名/方法名,如:weixin/Service/payok
type的值是 1或者2,1表示模式一,2表示模式二,默認是2
## 第二步:顯示二維碼
在前臺HTML里可以通過WeiPHP自帶的JS庫生成并顯示二維碼:
~~~
<script type="text/javascript" src="__STATIC__/qrcode/qrcode.js"></script>
<script type="text/javascript" src="__STATIC__/qrcode/jquery.qrcode.js"></script>
<div id="qrCode"></div>
<script type="text/javascript">
var textLink = "{$qrcode}";
$('#qrCode').qrcode({width:150,height:150,text:textLink});
</script>
~~~
## 第三步:異步接收支付結果
參考 [異步接收支付結果](異步接收支付結果.md)
# 模式二開發實現流程
模式二的開發流程同模式一。
## 第一步:獲取二維碼
同模式一,只需要把type參數修改為2,然后二維碼的地址修改為:
獲取的方法如下:
~~~
$appid = '你的公眾號appid';
$product = [
'product_id'=>'商戶定義的商品id 或者訂單號',
'body'=>'商品簡單描述',
'out_trade_no'=>'商戶系統內部訂單號,要求32個字符內、且在同一個商戶號下唯一',
'total_fee'=>'訂單總金額,單位為分'
];
$callback = '支付成功后的回調地址';
$type = 2; //模式二
$scan = D('Common/Payment')->scan_pay($appid, $product, $callback, $type);
if ($scan['status'] == 0) {
$this->error($scan['msg']);
}
$this->assign('qrcode', $scan['code_url']);
~~~
## 第二步:顯示二維碼
同模式一
## 第三步:異步接收支付結果
參考 [異步接收支付結果](異步接收支付結果.md)
- 序言
- 基礎
- 安裝WeiPHP
- 目錄結構
- 錯誤碼分配
- 錯誤碼問答系統
- 入答疑群方法
- 快速入門
- 談談開發目標
- 前期準備
- 增加應用
- 編寫微信響應代碼
- 激動的時刻_體驗測試
- 用戶
- 用戶體系
- 超級管理員
- 運營人員
- 粉絲
- 掃碼登錄
- 公眾號
- 手工綁定
- 一鍵綁定
- 自定義菜單
- 微信支付
- 微信平臺支付配置
- 公眾號支付
- 原生掃碼支付
- 異步接收支付結果
- 現金紅包
- 發放普通紅包
- 查詢紅包記錄
- 紅包記錄數據結構
- 現金支付
- 下發支付
- 查詢支付記錄
- 現金支付數據結構
- 刷卡支付
- 提交刷卡支付
- 查詢刷卡支付記錄
- 撤銷刷卡支付
- 支付記錄數據結構
- API服務
- oauth2.0安全驗證
- 后臺配置API
- 小程序
- HTTPS部署
- 騰訊云服務器部署
- 阿里云HTTPS部署
- 自發證書HTTPS部署
- openssl升級到1.02
- 自動登錄注冊
- 短信驗證碼
- 網絡請求
- 上傳圖片
- 生成事件二維碼
- 小程序支付
- 小程序微信支付配置
- 小程序調用支付功能
- 模板消息
- 消息模板配置
- 支付后發模板消息
- 提交表單后發模板消息
- 卡券(會員卡、優惠券)
- 客服
- 與公眾號互通
- 微信開放平臺
- 一鍵綁定公眾號
- 積分等級
- 積分規則
- 積分操作
- 積分等級數據結構
- 日志
- 后臺日志
- 運營日志
- 接口日志
- 調試日志
- 錯誤日志
- 日志數據結構
- 應用管理
- 應用管理列表
- 新增應用
- 應用開發
- 安裝應用
- 模型
- 模型介紹
- 模型管理
- 新增加模型
- 新增加字段
- 列表定義
- 通用視圖模板
- 定時任務
- 定時任務介紹
- 配置定時任務
- 開啟定時器
- 系統自觸發
- window定時器
- Linux定時器
- Mac定時器
- 定時任務數據結構
- 商業應用
- 分銷商城
- 教育培訓
- 搖紅包
- 夢云社區
- 婚慶派
- 部署
- Linux服務器一鍵安裝包部署
- Window集成包部署