支付寶介面對接
剛剛對接完支付寶的介面, 接下來我把過程還有該注意的一些細節給提下,一方面方便自己鞏固,另外一方面與大家分享下。
首先我們要清楚瞭解自己的平臺需要什麼樣的對接介面, 因為支付寶的對接介面有3種,根據不同使用者的需求不同,產品的業務流程不同, 而產生了3種介面。
第一種 擔保交易
第二種 即時到賬
第三種 雙功能
他們的不同點,我就不一一闡述了,你們可以上網檢視下, 瞭解下自己網站的需求,在針對性的去選擇支付介面。
當了解了自己所需要的介面之後,登陸alipay.com 官網申請商戶賬號,申請的主要目的是為了得到
1.商務的金鑰
2.商務的ID
申請完之後,我們選擇一種介面,上百度搜索支付寶介面, 下載對應的一種介面文件, 比如我使用的是即時到帳。
介面文件裡面有這些的配置檔案,
拿到這些檔案我們應該先了解這些檔案的結構開始,
Index.php是這個測試介面的表單提交資訊。
alipay.config.php 是支付寶介面的配置檔案
需要準備的是合作ID和合作者KEY,這些在申請的商戶賬號可以獲取
notify_url.php 非同步介面
return_url.php 同步介面
非同步介面和同步介面的不同:
1, 在支付成功之後會進行跳轉。
思考:
如果使用者把跳轉頁給提交關閉了???
工作原理:
1, 支付成功的時候,它會向同步介面【跳轉】和非同步介面【怎麼實現的?參照第2提示】同時傳送一份支付成功的通知。
2, CURL的操作【
3,
Logs.txt 日誌檔案
Readme.txt幫助檔案和說明檔案
Lib目錄是對應的類檔案,在支付時需要使用的東西。
注意:
同步介面可以在本地模擬出來
C:\windows\system32\drivers\etc\host
非同步介面,沒辦法模擬:
支付寶會找對應的真實的URL來進行模擬訪問,向這個真實的網際網路當中的站點。來發送POST資訊。
如果你用的是php5.3以上的版本,如果在php.ini
會給出一個提示。
對接完以上步驟也只是緊緊完成了付款,付款後的流程是應該返回一些已經購買成功的資訊,並修改本地商品的一些狀態。
例如 :有一個線上商店,綁定了支付寶
使用者買了一批商品,形成了一個訂單。我是不是要把訂單的總額發過去給支付寶,讓支付寶處理完成,告訴我。然後,我的系統自動,跟使用者把訂單狀態改為已付款?
首先 建立一個表:【訂單表】
在我們的訂單表當中,需要有哪些資訊。
第一, 訂單ID 主鍵,自增
第二, 訂單號 char 20
第三, 訂單名稱 字串
第四, 訂單簡介 字串
第五, 訂單總價 float
第六, 訂單的狀態【付款、未付款】 tinyint 0,1 如果支付寶處理完成之後,我在程式碼當中,把訂單狀態改為1.
步驟:
1, 連線資料庫 【建立一個共用檔案專門來做資料庫連線使用】 pdo,mysqli我直接使用面向過程的mysql系列函式來完成。資料庫操作類,你可以直接使用thinkphp當中的方法。未來的專案視訊當中,來跟大家使用。
參考程式碼:conn.php
2, 顯示產品,把index.php改成訂單顯示頁,你到底對你的哪個訂單來進行支付。
3, 點選訂單進行支付,將其資訊傳遞給alipayto.php這個檔案。在裡面,讀取出來相關的訂單資訊。支付寶的介面,全部為大家做好了,把資訊交給相關變數就行了。
參考 index.php和alipayto.php
4, 修改return_url.php接收資訊,判斷訂單是否支付成功。如果直接成功,並且未處理。修改訂單的交易狀態,將其改為已付款。
5, 修改notify_url.php 將非同步介面當中,與return_url.php的程式碼一樣。
參考程式碼: notify_url.php return_url.phps
注意項:
為什麼會有支付寶訂單號?
支付寶生成的。
公司裡面,財務是單純劃分的一個部門。
要求你把支付寶的訂單號存起來。他會對帳。。。。
大家按照我的步驟去對接支付寶介面一般問題不會太大, 如果有出現本文章之外的一些疑難雜症可以在下方評論或者加我微信luo425116243我們共同討論與解決。