版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
支付接口詳解什么是第三方支付所謂第三方支付,就是一些和各大銀行簽約、并具備一定實力和信譽保障的第三方獨立機構(gòu)提供的交易支持平臺。在通過第三方支付平臺的交易中,買方選購商品后,使用第三方平臺提供的賬戶進行貨款支付,由第三方通知賣家貨款到達。目前提供第三方支付的機構(gòu)很多,常見的有支付寶、財付通、快錢、網(wǎng)銀在線、易寶支付、云網(wǎng)等各大支付平臺。網(wǎng)站如果需要實現(xiàn)第三方支付首先應(yīng)該向第三方支付平臺申請一個賬號并簽署協(xié)議,協(xié)議生效后第三方支付平臺將為其開通在線支付功能,通過程序?qū)⒔涌诩傻骄W(wǎng)站中。為什么要使用第三方支付?因為第三方支付平臺已經(jīng)與各大銀行進行簽約,網(wǎng)站主只需要在此平臺申請一個賬號即可支持幾乎所有的種類的銀行卡信用卡的交易。第三方支付原理以上簡要說明了支付過程,當然其中省略了一些步驟〔比方購物車,訂單等〕,我們重點來看支付流程。2.1用戶向商城網(wǎng)站發(fā)起確認訂單的請求2.2商城網(wǎng)站接收到請求保存訂單數(shù)據(jù)到數(shù)據(jù)庫或其他存儲介質(zhì)2.3返回訂單確認頁面,頁面上應(yīng)該顯示訂單金額等信息2.4用戶確認支付,發(fā)起支付請求。注:支付請求是發(fā)送到支付網(wǎng)關(guān)〔比方支付寶、網(wǎng)銀在線〕而不是發(fā)送到商城網(wǎng)站。2.5顯示支付頁面2.6用戶填寫認證信息〔賬號密碼等〕提交2.7這里有兩個步驟一個是扣款成功后頁面跳轉(zhuǎn)到支付結(jié)果頁面〔展示給用戶〕,另一個是支付通知,這兩步?jīng)]有先后順序可能同時執(zhí)行,商城網(wǎng)站接收到支付通知后根據(jù)驗證規(guī)那么驗證信息的有效性,并作出相應(yīng)的更改操作〔例:有效那么更改訂單為已付款狀態(tài),無效那么記錄非法請求信息〕。以支付寶為例:如果實現(xiàn)在網(wǎng)站中集成支付寶接口,首先要有一個支付寶賬號,接下來向支付寶申請在線支付業(yè)務(wù),簽署協(xié)議。協(xié)議生效后有支付寶一方會給網(wǎng)站方一個合作伙伴ID,和平安校驗碼,有了這兩樣?xùn)|西就可以按照支付寶接口文檔開發(fā)支付寶接口了,在上圖的幾個步驟中只有4和7兩個步驟在商城與支付網(wǎng)關(guān)之間有信息交互。在步驟4中指將數(shù)據(jù)發(fā)送到支付網(wǎng)關(guān)〔支付寶〕,在步驟7中是的通知驗證局部,驗證網(wǎng)關(guān)請求網(wǎng)站某地址,網(wǎng)站按驗證規(guī)那么對信息進行驗證記錄并作出響應(yīng),我們幾乎在開發(fā)任何支付接口時,重點是這兩局部的開發(fā),明白支付接口原理,開發(fā)支付接口就不難了。3.支付寶接口開發(fā)3.1接口簡介與測試支付寶目前提供了,擔保交易、標準即時到帳、雙功能等幾種接口,只是在功能上有些差異,網(wǎng)站集成方式是一樣的。以標準即時到帳接口為例,在與支付寶簽署協(xié)議后,還需要幾個步驟才能完成集成。進入支付寶后臺在商家效勞菜單下有兩個鏈接:分別可以查詢到PID和Key,依次點擊我的產(chǎn)品,技術(shù)效勞將會顯示:選擇“我要自助集成”接下來會看到的鏈接,點擊下載技術(shù)文檔。在下載后的文件中有標準支付寶交易效勞接口、商家工具、接口集成指南等接文檔,另外還有幾種語言寫的demo。我們可以根據(jù)接口文檔按規(guī)那么全新開發(fā),也可以再demo根底上修改集成到網(wǎng)站,需要注意的是開發(fā)支付接口需要在公網(wǎng)〔效勞器必須可以通過外網(wǎng)訪問〕才可以完成整個調(diào)試過程,如果效勞器在外網(wǎng)訪問不到,那么無法接收到支付通知??匆幌耫emo中每個文件的作用:├alipay_notify.php┈┈┈┈支付寶通知處理類文件├alipay_service.php┈┈┈支付寶請求處理類文件├alipay_config.php┈┈┈┈┈┈根底信息配置文件├index.php┈┈┈┈┈┈┈┈┈┈快速付款入口模板文件├notify_url.php┈┈┈┈┈┈┈效勞器異步通知頁面文件├return_url.php┈┈┈┈┈┈┈頁面跳轉(zhuǎn)同步通知文件這里已經(jīng)下載好了〔見資源目錄pay文件夾〕,為了便于調(diào)試增加修改了假設(shè)干文件,并增加了一張數(shù)據(jù)表保存訂單信息,我們修改一下配置文件完成一個測試過程。alipay_config.php是根底信息配置文件,我們需要將在支付寶后臺獲取的PID與Key寫入到配置文件中。配置項:其中方框內(nèi)的數(shù)據(jù)是我們需要重點修改的。支付通知地址與返回地址的區(qū)別,前面已經(jīng)提到,在步驟7中有兩項:支付結(jié)果頁面與支付通知信息,支付結(jié)果頁面是用戶支付完成后會自動跳轉(zhuǎn)到這個地址這里是返回地址($return_url)。支付通知地址同樣是用戶支付完成后,支付寶會請求該地址〔$notify_url〕,但是支付通知是支付寶效勞器直接請求,不會被用戶看到。這兩個地址必須是以開頭的完整路徑格式為了完成測試過程,這里已經(jīng)將/pay/alipay/notify_url.php改寫,將$notify_url設(shè)置為可訪問到此文件的URL即可。這幾項配置好后再根據(jù)數(shù)據(jù)庫腳本〔pay/orders.sql〕創(chuàng)立一張數(shù)據(jù)表。并根據(jù)數(shù)據(jù)庫的配置信息修改mysql_config.php。通過對支付寶提供的demo做簡單修改就可以完成創(chuàng)立支付請求〔步驟4〕了,這里更改了支付首頁等頁面〔見源碼包pay目錄〕。我們先測試一下:點擊“下訂單”按鈕根據(jù)上圖的流程現(xiàn)在已經(jīng)走到了步驟3,此時已經(jīng)生成了訂單號,并且將訂單信息寫入到數(shù)據(jù)庫。我們看一下數(shù)據(jù)庫:數(shù)據(jù)庫中增加了一條“訂單信息”。如果點擊“確認支付”按鈕或者確認支付鏈接將會跳轉(zhuǎn)到支付寶頁面,點擊按鈕時通過表單POST方式將信息提交到支付網(wǎng)關(guān),由于支付請求數(shù)據(jù)無需讓用戶看到,這里都寫在隱藏域中了。確認支付鏈接是通過URL傳參,因為支付寶接口允許以POST或者GET方式提交,所以兩種方式都可以。把參數(shù)提交給支付網(wǎng)關(guān)后,頁面跳轉(zhuǎn)到到支付頁面。我們看到如下列圖所示:我們看到支付寶為我們提供了兩種支付方式,一種是通過支付寶賬戶支付,另一種是通過銀行卡支付。例如選擇使用銀行卡支付,填寫郵箱或號跳轉(zhuǎn)到如下頁面:我們開單支付寶幾乎支持所有的銀行卡支付,同時有信用卡和網(wǎng)點方式付款,選擇對應(yīng)的銀行下一步按提示付款即可。付款完成后頁面會返回到我們在配置文件中配置的$return_url地址,同時“訂單狀態(tài)”也會發(fā)生改變。注:測試時如果沒有在外網(wǎng)測試〔即支付通知地址無法在外網(wǎng)訪問〕那么支付通知無法被請求到,無法自動完成訂單狀態(tài)的修改。3.2支付寶接口標準與代碼分析支付寶接口標準可參考/pay/doc/標準支付寶交易效勞接口(專用于防釣魚網(wǎng)站).Pdf,里面已經(jīng)有了比擬詳細的說明。3.2.1如何創(chuàng)立支付請求在前面的測試中我們點擊了“確認支付”將信息將信息提交到了支付寶的支付網(wǎng)關(guān),我們可以思考一下應(yīng)該發(fā)送哪些參數(shù)給支付網(wǎng)關(guān)。關(guān)于請求參數(shù)列表可以參考標準支付寶交易效勞接口(專用于防釣魚網(wǎng)站).Pdf中的。需要注意的是并不是我們把這些參數(shù)原封不動的提交到支付寶就可以了,為了保證數(shù)據(jù)平安支付寶目前使用的是MD5簽名防止數(shù)據(jù)篡改機制。在提交數(shù)據(jù)前需要將需要提交的數(shù)據(jù)以一定規(guī)那么〔見接口文檔〕組裝成字符串,加上平安校驗碼〔Key〕組成一個新字符串,通過MD5生成一個32字節(jié)的簽名,我們提交支付請求時還需要把這個簽名也提交過去??匆幌卤韱卧创a支付寶接收到參數(shù)后會進行驗證請求參數(shù)的合法性,驗證無誤后將顯示支付頁面,否那么提示錯誤。3.2.2如何驗證支付通知在用戶支付完成后,支付寶會請求網(wǎng)站支付通知地址〔這個地址應(yīng)在創(chuàng)立支付請求時作為參數(shù)傳遞過去〕。返回參數(shù)列表參見標準支付寶交易效勞接口(專用于防釣魚網(wǎng)站).Pdf3.3.1。支付寶的返回數(shù)據(jù)中同樣有一個簽名串〔采取和支付請求同樣的簽名方式〕,在支付通知文件中首先要對數(shù)據(jù)進行簽名驗證。除了驗證簽名,還需要將參數(shù)中的notify_id提交到支付寶的驗證網(wǎng)關(guān)支付寶系統(tǒng)這個通知的真實性,通知驗證。支付寶系統(tǒng)判斷通知是否是自己發(fā)送,如果是以字符串格式返回true,否那么返回false,我們通過驗證效勞器返回的數(shù)據(jù)驗證請求的真實性,如果都驗證通過那么可以進行更改訂單數(shù)據(jù)、給用戶發(fā)送郵件通知等操作。關(guān)于驗證簽名可以看一下通知文件中的源碼。帶demo中將參數(shù)中的notify_id提交到支付寶是通過POST方式提交并取得返回數(shù)據(jù),代碼片段:這里重點就是fsockopen函數(shù),在發(fā)送電子郵件時我們已經(jīng)接觸過,通過此函數(shù)翻開套接字連接,類
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年人教版高一數(shù)學(xué)上冊階段測試試卷含答案
- 2024消防安全生產(chǎn)合作協(xié)議含消防設(shè)備銷售與消防宣傳教育服務(wù)3篇
- 二零二五年度企業(yè)信用承兌匯票風險分擔協(xié)議3篇
- 2025年外研銜接版八年級物理下冊階段測試試卷含答案
- 2025年北師大新版五年級語文上冊月考試卷含答案
- 2024年郊區(qū)別墅租賃協(xié)議范本版
- 2025年粵人版九年級化學(xué)下冊月考試卷含答案
- 二零二五版工廠設(shè)備emc改造合同3篇
- 【七年級下冊地理商務(wù)星球版】-第八章康奈爾筆記
- 2025年人教版九年級物理上冊階段測試試卷含答案
- 資質(zhì)模型與測評技術(shù)(中國人民大學(xué)勞動人事學(xué)院 孫健敏)
- SMW工法型鋼拔除專項施工方案
- 大健康商業(yè)招商計劃書
- 高一上半學(xué)期總結(jié)教學(xué)課件
- 高速公路初步設(shè)計匯報課件
- 申根簽證申請表模板
- 企業(yè)會計準則、應(yīng)用指南及附錄2023年8月
- 2022年浙江省事業(yè)編制招聘考試《計算機專業(yè)基礎(chǔ)知識》真題試卷【1000題】
- 認養(yǎng)一頭牛IPO上市招股書
- GB/T 3767-2016聲學(xué)聲壓法測定噪聲源聲功率級和聲能量級反射面上方近似自由場的工程法
- GB/T 23574-2009金屬切削機床油霧濃度的測量方法
評論
0/150
提交評論