如何實現支付過程?支付過程的邏輯javascript
PC表明了客戶端或是客戶的瀏覽器訪問也就是請求頁面java
以後就是在服務器裏建立個訂單,相似於訂單號,訂單用戶,收貨地址,金額,是未支付的狀態數據庫
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 支付方法的核心文件
關於跳轉/異步通知方法
回調信息的細節問題
這兩個參數