# 在線支付接口的使用
在線付款,有一個專用的函數進行封裝好了微信與支付寶兩種
舉例子來講解吧
~~~
post_olpay([
'money'=>10,
'return_url'=>url('endpay',['order_id'=>$orderid]),
'banktype'=>in_weixin() ? 'weixin' : 'alipay' , //在微信端,就用微信支付,否則就用支付寶支付
'numcode'=>'afds43q43dfdsfde',
'callback_class'=>mymd5("app\\shop\\model\\Order@pay@$orderid"),
],true);
~~~
通過上面的函數,就可以實現在線支付.
money 是 支付金額,單位元
return_url 支付成功后,返回到指定的網址
banktype 這一項,可以留空, 也可指定用支付寶或微信支付,上面是判斷 在微信端,就用微信支付, 否則就用支付寶付款 . 都不設置,就可以讓用戶自己選擇,留空才可以自由選擇余額抵扣.
numcode 訂單號,可以為空
callback_class 服務端異步處理,就是說支付成功后,用戶即使關閉了當前網頁,服務端還可以實現后臺異步處理數據. 如果不設置的話,用戶關閉了當前網頁.就不會進行異步處理數據. 會出現所謂的掉單. 所以推薦設置, 不設置也可以.
post_olpay 函數的第二項設置為true的話,代表立即跳轉到支付界面,設置為false的話,就返回支付網址,用戶自己做跳轉
callback_class 這一項再重點講解一下
這里設置異步處理執行的類及方法.格式是 完整的 全路徑類名比如 app\xxx\xxx\Order分隔符@方法名pay@參數$id
最后還要用mymd5函數進行加密處理,避免用戶惡意修改
用戶支付成功以后,就會給用戶的余額充值, 用戶帳戶上有余額了, 再執行后續的相關操作. 所有財務操作,都是直接判斷與處理用戶的余額的. 實際上來說, 在線支付,就是給用戶帳戶充值, 所以上面的 money 參數 ,用戶即使惡意修改,也沒意義的. 因為他就對應給余額充值多少. 真正的應用邏輯處理,你要根據用戶的余額進行判斷處理. 余額不足就要中斷. 余額充足的話, 就進行處理, 處理成功,就一定要扣余款 .切記切記!!
所以上面的 return_url 返回地址,也是不需要加密的, 因為最終處理數據的時候,是根據用戶的余額做處理的.
return_url 返回支付成功以后,處理的方法,可以跟 callback_class 共用一個類一個方法. 在那里做處理的時候,就跟據用戶的余額是否足夠進行處理. 處理成功后,必須要給數據庫做個標志, 避免反復執行.
最后做個總結,就是在線支付,實際就是對用戶的余額進行充值. 支付成功,就是充值成功 ,然后應用那里,就是對用戶的余額進行判斷,進行處理并扣余額, 最后還要給該訂單做個已處理的標志, 避免反復處理.
在線支付實際就是給用戶的余額充值, 用戶余額充當中介作用. 應用的邏輯判斷都是圍繞余額進行的. 而余額的充值部分拋給了系統處理.不需要開發者考慮.開發者只須要判斷用戶余額是否足夠展開做相關處理.
在支付成功后,處理的余額的時候, 還必須要用到扣余額的函數
add_rmb
比如
~~~
add_rmb($order_info['uid'],-abs($order_info['pay_money']),0,'購物消費');
~~~
另外還有很關鍵的一點,就是判斷當前用戶,不能使用cookie的, 必須要跟上面傳的參數id得到用戶的uid,比如可以這樣得到
通過`$id`?得到?`$uid`?再用函數?`get_user($uid)['rmb']`?得到用戶的余額,進行判斷處理, 余額充足,就執行處理,最后扣除相當的余額.
點擊查看大圖
[](https://box.kancloud.cn/17f55305d6db2bdc2252bb9d4ec3dbdc_1301x712.jpg)
- 序言
- 聲明
- 齊博X1基礎
- 齊博X1的誕生
- 齊博X1目錄結構
- 如何安裝齊博X1
- 新手快速入門教程
- 常用文件目錄說明
- 齊博X1標簽
- 什么是標簽
- 當前URL標簽
- 圖片標簽
- 單張圖片標簽的使用
- 多張組圖的標簽調用
- 標簽進階之幻燈片制作
- 背景圖如何設置標簽
- 內容頁標簽
- 內容頁中下一頁上一頁的標簽
- 內容評論標簽的風格制作
- 標簽實例
- 做模板組圖單圖無圖混排的處理
- 列表頁制作及無滾動加載內容
- 調用多個圈子同時調用貼子
- 調用多個圈子同時調用相關會員
- 標簽的嵌套用法,調用聚合數據
- 標簽如何調用論壇內容
- 標簽設置取組圖不存在就取內容中的圖片
- 標簽之無刷新顯示更多
- 異步加載標簽數據
- 標簽動態調用數據
- 文本代碼標簽的使用
- where 標簽動態變量查詢
- where 實現條件篩選與數據關聯
- 會員中心如何加標簽
- 模板中常用的TP標簽數據處理
- 同一個標簽要更換不同模塊的數據
- 萬能數據統計之fun函數
- 齊博X1模塊
- 什么是模塊?模塊的組成。
- 如何添加字段
- 欄目名稱的調用
- 欄目名稱調用詳解
- 相關欄目名稱的調用
- 輔欄目(專題)的使用說明
- 模塊后期要加參數的方法
- 表單自動生成器
- 簡單的模塊制作說明(隨風編寫)
- 齊博X1插件
- 插件.七牛云.配置說明
- 齊博X1鉤子
- 鉤子簡單制作-tag加連接解說版(隨風編寫)
- 齊博X1模板
- 模板目錄文件說明
- 幾個關鍵模板文件要熟知
- 新模板要注意問題
- 模板文件調用的優先級
- 2018.8.13模板制作升級調整
- block模板的分塊替換
- 模板包含文件使用說明
- 圈子黃頁風格制作說明
- 齊博X1配置
- 微信和小程序的配置
- 如何對接公眾號
- 對接小程序設置
- 在線支付接口的使用
- 支付寶對接收款配置
- 阿里云短信配置
- 郵箱接口設置
- 郵箱接口設置之QQ普通郵箱
- 郵箱接口設置之163普通郵箱
- 郵箱接口設置之QQ企業郵箱
- QQ登錄接口配置
- 齊博X1路由
- URL偽靜態設置
- route.php與routemy.php短網址設置
- 齊博X1二次開發
- 二次開發的靈魂fun函數
- 商城判斷是否購買過
- 如何調取當前模塊ID
- 模塊安裝文件講解
- 表單快速啟用城市地區功能
- 自定義字段多文件多圖的顯示處理
- 后臺網站參數配置修改與添加
- 頻道插件如何對接圈子
- 自定義字段下拉菜單關聯其它數據表
- 自定義字段表單默認調用會員資料
- 齊博X1注意事項
- 云市場注意事項
- 如何強制進后臺
- 換服務器如何轉移網站
- 再強調嚴禁用記事本改任何文件
- 解決Web部署 svg/woff/woff2字體 404錯誤
- 齊博X1更新記錄
- 關于thinkphp5