支付寶即時到賬接口文檔
https://doc.open.alipay.com/doc2/detailtreeId=62&articleId=103566&docType=1
1、第一開始做這個的時候看錯文檔了,下載了當面付的文檔,那個demo中用配置appID,appid和pid不是同一個,做那個demo采用RSA加密,要將本地的公鑰上傳至商戶支付寶的秘鑰管理中。支付數據提交的時候會返回數據提示ISV權限不足,問了一下支付寶的客服才發現是這個商戶的支付寶賬戶沒開通當面付的功能,所以權限不足。這個當面付貌似是對線下掃碼支付的。一般PC端是用即時到賬的接口。
2、下載支付寶即時到賬的文檔demo。需要修改幾個參數,demo中有詳細說明,第一開始運行的是RSA加密方式的demo,需要上傳本地公鑰,本地只有私鑰,文檔上需要安裝OpenSSL來生成公鑰,結果我安裝了一個晚上也沒有裝好。。。機智的我打開了MD5加密方式的demo,這個只需要在config里另外設置key這個參數即可。
3、需要注意的是 return_url和notify_url。前者是同步的成功之后成功跳轉的本地頁面,后者是異步的通知不在頁面顯示。個人理解是return_url是成功之后間隔幾秒跳轉到這個頁面(該方式不是支付寶主動去調用商戶頁面,而是支付寶的程序利用頁面自動跳轉的函數,使用戶的當前頁面自動跳轉),這個頁面會執行對本地數據進行更新如更新訂單狀態,在此期間用戶可能未等到頁面跳轉就將頁面關掉一直于成功付款之后為能跳到return_url的頁面所以訂單更新就不會執行,那么這時就需要notify_url, 調用支付寶接口且訂單狀態發生改變時,支付寶會調用這個界面通過POST方式返回相應的狀態數據,我們可以在notify_url的界面中寫訂單更新程序,這樣即使return_url中的訂單更新操作沒有執行,我們依然可以通過notify_url來執行更新(注意notify_utl執行更新時要判斷訂單有沒有被之前的return_url更新,避免重復跟新)。
參考文章
接口文檔說明:
http://blog.sina.com.cn/s/blog_56f273130102w2dw.html
http://www.cnblogs.com/blodfox777/archive/2009/11/03/1595223.html
php獲取服務器路徑:
http://www.cnblogs.com/A-Song/archive/2011/12/14/2288215.html