支付寶集成交互流程



交互流程


功能流程

image

流程說明(以Android平臺為例):

  1. 第4步:調用支付接口:此消息就是本接口所描述的開發包提供的支付對象PayTask,將商戶簽名后的訂單信息傳進pay方法喚起支付寶收銀臺,訂單格式具體參見“請求參數說明”。
  2. 第5步:支付請求:手機支付寶支付開發包將會按照商戶客戶端提供的請求參數發送支付請求。
  3. 第8步:接口返回支付結果:商戶客戶端在第4步中調用的支付接口,會返回最終的支付結果(即同步通知),參見“同步通知參數說明”。
  4. 第12步:異步發送支付通知:手機支付寶支付服務器端發送異步通知消息給商戶服務器端(備注:第12步一定發生在第6步之后,但不一定晚于7~11步),參見“服務器異步通知參數說明”。

數據交互

image

  1. 構造訂單數據并簽名
    商戶服務器端根據手機支付寶支付開發包的接口規則,通過程序生成得到簽名結果及要傳輸給手機支付寶支付開發包的數據集合。簽名相關的公私鑰生成及配置規則,見PID和密鑰管理。
  2. 發送請求數據
    把構造完成的數據集合傳遞給手機支付寶支付開發包。
  3. 手機支付寶支付開發包對請求數據進行處理
    手機支付寶支付開發包將請求數據根據業務規則包裝后傳遞給手機支付寶支付服務器端,服務器端得到這些集合后,會先進行安全校驗等驗證,一系列驗證通過后便會處理完成這次發送過來的數據請求。
  4. 返回處理的結果數據
    對于處理完成的交易,支付寶會以兩種方式把數據分別反饋給商戶客戶端和商戶服務器端。?
    1. 在手機客戶端上,手機支付寶支付開發包直接把處理的數據結果反饋給商戶客戶端;
    2. 在服務器端上,手機支付寶支付服務器端主動發起通知,調用商戶在請求時設定好的頁面路徑(參數notify_url,如果商戶沒設定,則不會進行該操作)。
  5. 商戶對獲取的返回結果數據進行處理
    商戶在客戶端同步通知接收模塊或服務器端異步通知接收模塊獲取到支付寶返回的結果數據后,可以結合商戶自身業務邏輯進行數據處理(如:訂單更新、自動充值到會員賬號中等)。同步通知結果僅用于結果展示,入庫數據需以異步通知為準。


虛線為應用服務器和移動端的交互,

交互流程

更新時間:2016/07/08?訪問次數:142371
  • 功能流程
  • 數據交互

功能流程

image

流程說明(以Android平臺為例):

  1. 第4步:調用支付接口:此消息就是本接口所描述的開發包提供的支付對象PayTask,將商戶簽名后的訂單信息傳進pay方法喚起支付寶收銀臺,訂單格式具體參見“請求參數說明”。
  2. 第5步:支付請求:手機支付寶支付開發包將會按照商戶客戶端提供的請求參數發送支付請求。
  3. 第8步:接口返回支付結果:商戶客戶端在第4步中調用的支付接口,會返回最終的支付結果(即同步通知),參見“同步通知參數說明”。
  4. 第12步:異步發送支付通知:手機支付寶支付服務器端發送異步通知消息給商戶服務器端(備注:第12步一定發生在第6步之后,但不一定晚于7~11步),參見“服務器異步通知參數說明”。

數據交互

image

  1. 構造訂單數據并簽名
    商戶服務器端根據手機支付寶支付開發包的接口規則,通過程序生成得到簽名結果及要傳輸給手機支付寶支付開發包的數據集合。簽名相關的公私鑰生成及配置規則,見PID和密鑰管理。
  2. 發送請求數據
    把構造完成的數據集合傳遞給手機支付寶支付開發包。
  3. 手機支付寶支付開發包對請求數據進行處理
    手機支付寶支付開發包將請求數據根據業務規則包裝后傳遞給手機支付寶支付服務器端,服務器端得到這些集合后,會先進行安全校驗等驗證,一系列驗證通過后便會處理完成這次發送過來的數據請求。
  4. 返回處理的結果數據
    對于處理完成的交易,支付寶會以兩種方式把數據分別反饋給商戶客戶端和商戶服務器端。?
    1. 在手機客戶端上,手機支付寶支付開發包直接把處理的數據結果反饋給商戶客戶端;
    2. 在服務器端上,手機支付寶支付服務器端主動發起通知,調用商戶在請求時設定好的頁面路徑(參數notify_url,如果商戶沒設定,則不會進行該操作)。
  5. 商戶對獲取的返回結果數據進行處理
    商戶在客戶端同步通知接收模塊或服務器端異步通知接收模塊獲取到支付寶返回的結果數據后,可以結合商戶自身業務邏輯進行數據處理(如:訂單更新、自動充值到會員賬號中等)。同步通知結果僅用于結果展示,入庫數據需以異步通知為準。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/458652.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/458652.shtml
英文地址,請注明出處:http://en.pswp.cn/news/458652.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

VxLAN基礎

轉自:http://blog.csdn.net/freezgw1985/article/details/16354897 一 . 為什么需要Vxlan1. vlan的數量限制4096個vlan遠不能滿足大規模云計算數據中心的需求2. 物理網絡基礎設施的限制基于IP子網的區域劃分限制了需要二層網絡連通性的應用負載的部署3. TOR交換機MA…

find_first_of()和 find_last_of() 【獲取路徑、文件名】

string 類提供字符串處理函數,利用這些函數,程序員可以在字符串內查找字符,提取連續字符序列(稱為子串),以及在字符串中刪除和添加。我們將介紹一些主要函數。 1.函數find_first_of()和 find_last_of() 執行簡單的模式匹配&#x…

支付寶集成

memo Error Domain系統繁忙,請稍后再試 Code1000 "(null)" reslut {memo "Error Domain\U7cfb\U7edf\U7e41\U5fd9\Uff0c\U8bf7\U7a0d\U540e\U518d\U8bd5 Code1000 \"(null)\"";result "";resultStatus 4000;} 請問安裝…

servlet中實現頁面跳轉return “r:”和return “f:

servlet中實現頁面跳轉return “r:”和return “f:”的區別和作用 分享| 2015-07-28 14:22741830480 | 瀏覽 48 次Pascal2015-07-28 14:26 #知道行家專業創造價值,火熱招募中!#提問者采納熱心網友r是redirect重定向,參…

多線程編程 RW_LOCK 讀寫鎖

RW鎖 讀寫鎖,也叫共享獨占鎖 互斥量 要么是鎖住狀態,要么是不加鎖狀態,而且一次只有一個線程可以對其加鎖。 讀寫鎖可以有三種狀態,讀模式下加鎖狀態,寫模式下加鎖狀態,不加鎖狀態。一次只有一個線程可以占…

Error Domain=NSCocoaErrorDomain Code=3840 JSON text did not start with array or object and option

數據請求失敗 報錯 Error DomainNSCocoaErrorDomain Code3840 "JSON text did not start with array or object and option to allow fragments not set." UserInfo{NSDebugDescriptionJSON text did not start with array or object and option to allow fragm…

vim學習筆記(4)幫助與配置

使用幫助 在Vim中輸入命令:help,即可進入幫助界面,默認是英文,可以通過以下方式安裝中文幫助(以vimcdoc-1.9.0為例): 1、下載中文幫助的文件壓縮包 2、解壓 tar -xzvf vimcdoc-1.9.0.tar.gz 3、…

C語言程序代碼優化

我認為一個好的用于科學計算的程序代碼應該:算法漂亮精妙,程序簡潔易懂,運算快速,節省內存。這里有的地方是矛盾的,比如簡潔vs易懂,時間vs空間,找個平衡吧。目前來看時間要比空間寶貴一些。寫程…

微信支付不回調支付成功的方法,這是為什么

如果你是Xcode7.2,或者IOS9.2的話,可能會遇見在微信客戶端操作返回程序之后不能執行微信的onResp回調方法的問題,就是因為一下這兩個方法被廢棄掉了,所以我的新demo替換了一個新的方法在下面。就完美解決這個問題了(并…

如何在蘋果官網下載舊版本的Xcode 方法

1 在百度里輸入“蘋果開發者中心“,進入以下頁面。點擊頁面中的“Member Center" 2 出現登錄界面。這是需要蘋果開發者帳號的,沒有帳號的可以選擇“Create Apple ID”進行注冊。已經注冊的選擇“Sign In"登錄 3 頁面跳轉后,選擇…

屏幕尺寸 分辨率

1、分辨率 分辨率又稱顯示分辨率、屏幕分辨率 確定手機屏幕上顯示多少信息的設置,以水平和垂直像素來衡量 6 750 *1334 像素 5s 640 * 1136 像素 2、屏幕尺寸 屏幕大小的物理尺寸,以屏幕對角線長度衡量 單位:英寸 1英寸2.54厘米 6 4.7英…

程序代碼優化2

程序進行優化,通常是指優化程序代碼或程序執行速度。優化代碼和優化速度實際上是一個予盾的統一,一般是優化了代碼的尺寸,就會帶來執行時間的增加,如果優化了程序的執行速度,通常會帶來代碼增加的副作用,很…

【轉】android多分辨率適配

前一階段開發android項目,由于客戶要求進行多分辨率適配,能夠支持國內主流的分辨率手機。因此經過了幾次開發走了很多彎路,目前剛剛領略了android多分辨率適配的一些方法。 先介紹一下所走的彎路,由于android的布局文件存放在res的…

TCP/IP SOCKET HTTP及HTTPS之間的關系

GET跟POST的區別: get只能傳送128K的數據 而post是無限制的 post提交是不在會IE上帶上參數 就算你加密了別人也會解密 一般比較重要的數據通過post 傳,因為get是別人可以改參數值的 別人亂寫參數,你的異常報個不停 網絡七層由下往上分別為物理…

靜態鏈接與動態鏈接的區別

動態鏈接庫、靜態庫、import庫區別 動態鏈接庫(Dynamic Linked Library): Windows為應用程序提供了豐富的函數調用,這些函數調用都包含在動態鏈接庫中。其中有3個最重要的DLL,Kernel32.dll,它包含用于管理內存、進程和線程的各個函…

Java線程池介紹

根據摩爾定律(Moore’s law),集成電路晶體管的數量差不多每兩年就會翻一倍。但是晶體管數量指數級的增長不一定會導致 CPU 性能的指數級增長。處理器制造商花了很多年來提高時鐘頻率和指令并行。在新一代的處理器上,單線程程序的執…

curl -L get.rvm.io | bash -s stable報錯:連接不上服務器

1、安裝cocoa pods時, ERROR: Error installing cocoa: activesupport requires Ruby version > 2.2.2. 這個錯誤是說:rvm的版本過低,需要升級一下版本 2、升級rvm版本的時候,報標題的錯誤解決辦法如下 將上面的命令行改成&a…

C語言中#define的用法(轉)

轉自&#xff1a;http://www.dingge.com/main/article.asp?id10 今天整理了一些#define的用法&#xff0c;與大家共享&#xff01; 1.簡單的define定義 #define MAXTIME 1000 一個簡單的MAXTIME就定義好了&#xff0c;它代表1000&#xff0c;如果在程序里面寫 if(i<MAXTIM…

cocoa pods的安裝與我遇到的問題

1.打開終端 終端輸入 ruby -v 查看ruby的版本 打印代碼&#xff1a; ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin15] 2. 更換ruby鏡像 終端輸入如下命令&#xff08;把Ruby鏡像指向taobao&#xff0c;避免被墻&#xff0c;你懂得&#xff09; a.移…

Node 連接Mysql并進行增刪改查

NPM: NPM的全稱是Node Package Manager&#xff0c;類似于ruby的gem&#xff0c;Python的PyPL、setuptools&#xff0c;PHP的pear&#xff0c;是Nodejs中的包管理器。Nodejs自身提供了基本的模塊。但是在這些基本模塊上開發實際應用需要較多的工作。NPM上已經有近萬個Nodejs庫或…