如何實現支付過程?支付過程的邏輯
PC代表了客戶端或是客戶的瀏覽器訪問也就是請求頁面
之后就是在服務器里創建個訂單,類似於訂單號,訂單用戶,收貨地址,金額,是未支付的狀態
1 前段和后台的通訊
2 后台數據庫讀取 增刪改查等
下一個請求就是跟支付寶請求以及返回值
服務器握手的過程 服務器接收了支付寶返回值后,通過服務器轉回給PC客戶
讓用戶直接跳轉到支付寶的頁面,或者手機掃碼,進行支付
支付完了之后,支付寶要通知服務已經支付的信息
流程結束,剩下的就是服務器回復數據庫完成訂單
接下來就要看哪一步傳輸哪些信息??
重要的是你不要傳哪些信息!!與錢相關的功能是其次,主要是安全
1 請求里面有訂單的信息,商家的信息是不能暴露給用戶的所以是先發給服務器
2 創建訂單 未支付的狀態要在這步創建好
服務器給支付寶發的是在后台發的這樣是相對安全的
有兩個網址是同步發送的,在文件夾里實際上是兩個文件
回調信息里有兩個網址發送回服務器
二 不同網站間的通訊
1 你的服務器發送一個請求給支付寶
2 支付寶在返回給你的服務器一個信息
1.數據的傳輸格式
XML稍微復雜,相對JSON用的多,相對JSON更安全的就是JSONP
YML 更簡單不需要用標點符號表示,用空格就可以 4個空格表示一個成集
JSON
a 對象:對象在JS中表示為"{}"括起來的內容,數據結構為{key:value,key:value,...}的鍵值對的結構,在面向對象的語言中,key為對象的屬性,value為對應的屬性值,比較容易理解。取值方法為對象.key獲取屬性值,屬性值的類型可以為數字,字符串,數組,對象幾種
b 數組:數組在JS中是中括號"[]"括起來的內容數據結構為["java","javascript","vb",...],取值方式和所有語言中一樣使用索引獲取,字段值的類型可以是數字,字符串,數組,對象幾種
2 數據的傳輸方法 所有的接口只要實現發送和接受就可以 不拘泥於某種方法
CURL (CommandLine Uniform Resource Locator)
是利用URL語法在命令行方式下工作的開源文件傳輸工具。它被廣泛應用在Unix、多種Linux發行版中,並且有DOS和Win32、Win64下的移植版本。
例:CURL用POST發送的一個方法
這里URL是發送給誰,地址。傳輸的是什么數據 兩個重要的參數
3 都需要哪些數據
展示互動的接口文檔 一般是這么寫的
三 如何利用支付寶提供的接口文檔
支付寶網站下載一個壓縮包,剛打開是2個文件夾,是兩種加密方式,任何一種都可以
lib 支付方法的核心文件
關於跳轉/異步通知方法
回調信息的細節問題
這兩個參數