1. 程式人生 > >支付寶支付設計和開發方案

支付寶支付設計和開發方案

背景
     在移動支付領域,支付寶支付佔用巨大份額,根據艾瑞諮詢公佈的報告資料:2014Q3,支付寶斬獲了82.6%的市場份額,在移動支付的霸主地位越來越穩固。財付通支付的發力點在微信支付和手Q支付,在移動支付格局中取得了10.0%的市場份額,排名第二。 
     支付寶在移動支付領域的統治地位,使得我們有必要梳理支付寶移動開發流程。本文寫作的目的就是梳理支付流程,從架構層面講述如何在移動應用中嵌入支付寶支付功能,以及指出哪些地方存在開發陷阱。 

準備
     首先,支付寶SDK下載主頁的地址是:https://b.alipay.com/order/productDetail.htm?productId=2013080604609654&tabId=4#ps-tabinfo-hash
。這個地址隱藏很深,所以這裡有必要指出。 
     按照說明,首先需要申請支付寶支付賬號。這方面根據網站說明進行申請即可。一般需要2周左右的時間批准下來。 
申請成功後賬號資訊包括 合作者身份ID partner, 賣家支付寶賬號 seller_id,以及私鑰 privateKey等。這三項將用於開發過程。 
     在官網上下載移動支付整合開發包。解壓後, 發現其下包括三個資料夾(在英文Mac系統下檔名顯示為亂碼): 
  • “商戶接入支付寶收銀臺介面展示標準”:講的是如何使用支付寶Logo。
  • “支付寶錢包支付介面開發包2.0標準版”:用於支付,包括客戶端和伺服器端開發。
  • “即時到賬批量退款有密介面refund_fastpay_by_platform_pwd”:用於到賬及批量退款,只需要伺服器端操作處理。
後兩個資料夾,都包括4方面內容:介面文件,接入與使用規則,demo程式碼,以及版本更新說明。
架構設計
首先,對於一個實際的App應用而言,可能會包括多種支付方式,因此可以採用設計模式中的策略Strategy模式來設計支付功能模組,支付寶支付作為其中的一個策略,pay方法是支付演算法。 
如果除了支付方式payment method變化,訂單order也可能會有不同的形式,如格式可能不同,有些支援可退款,有的不允許退款等,在這種多維度可變的情況下,支付模組的架構可以基於橋接模式。
其次,可以把支付寶支付的各個操作步驟,比如獲取訂單號,生成訂單資料,進行支付,獲取支付結果,處理異常等操作,根據狀態進行劃分。這樣採用狀態模式,提供設計的靈活性和擴充套件性。另外也可以設計狀態機進行統一的狀態切換管理。下面為參考程式碼:

複製程式碼
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89

相關推薦

支付支付設計開發方案

背景      在移動支付領域,支付寶支付佔用巨大份額,根據艾瑞諮詢公佈的報告資料:2014Q3,支付寶斬獲了82.6%的市場份額,在移動支付的霸主地位越來越穩固。財付通支付的發力點在微信支付和手Q支付,在移動支付格局中取得了10.0%的市場份額,排名第二。    

支付支付開發——當面付條碼支付掃碼支付

找到 生成二維碼 uil ebr eqv 超過 id號 xe8 trigger 本文介紹支付寶中當面付下屬的條碼支付、掃碼支付、訂單查詢、退款申請的集成開發過程。 本文分為以下五個部分: 條碼支付和掃碼支付介紹 申請應用 密鑰生成及配置 API及SDK集成 條碼支付、

Android平臺以WebView方式整合H5+SDK支付登入授權外掛開發問題總結

1、問題 原因沒有引入aar包 2、問題 Manifest merger failed : uses-sdk:minSdkVersion 15 cannot be smaller than version 16 declared in library [:alipaySdk-

Android平臺以WebView方式整合H5+SDK支付登入授權外掛開發思路總結

首先附上Demo地址,大家可以去GitHub上面下載https://github.com/GitLGH/AlipayDemo 一:思路總結     螞蟻金融開發平臺上面對於支付寶登入授權部分使用的原生android方式進行配置的,而當前專案採用Hbuilder

Java支付支付開發流程與原理【沙箱環境】【分散式事務解決方案

不管是支付寶支付,還是微信支付,還是銀聯支付等,大部分的支付流程都是相似的,學會了其中的思想,那麼其他支付方式也就很簡單了。 支付寶支付流程: 1、A網站以POST請求方式提交引數給支付寶介面,在支付寶端進行支付處理。 POST請求方式一定程度下保證了安全性,即在url

微信支付支付模式詳解及實現二

配置 其余 logs https 朋友 一個 target 多租戶 對比   繼上篇《微信和支付寶支付模式詳解及實現》到現在已經有半年時間了,這期間不少朋友在公號留言支付相關的問題,最近正好也在處理公司支付相關的對接,打算寫這篇來做一個更進一步的介紹,同時根據主要的幾個支付

支付私鑰公鑰的生成方法

views orm 就是 你們 支付寶支付 title bsp href print 支付寶官網參考資料: 如何生成RSA密鑰https://cshall.alipay.com/enterprise/help_detail.htm?help_id=474010

***單文件搞定微信支付支付支付

發現 電腦 源代碼 tps fun 演示 tro 復雜 申請 這段時間做微信支付和支付寶支付集成,發現了一個不錯的開源代碼 簡單快捷,單文件即可搞定微信支付和支付寶支付。 單文件搞定微信支付系列: https://github.com/dedemao/weixinPay

微信支付支付支付一直回調問題

無需 OS osql ucc 流程 告訴 urn 解決 order   在做支付開發時,發現一個問題,就是說異步回調會一直不停的回調,這樣會導致有些業務邏輯的問題,比如說本人在做的一個項目,支付成功後,會有一系列的業務,比如會員升級,錢包判斷等功能,如果一直回調進行處理那出

支付支付開發

com 地址 pen 賬號 工程 開發流程 就是 業務邏輯 引用 趁著開發支付寶的空擋總結下。參考文檔:https://blog.csdn.net/q410654146/article/details/71729140https://docs.open.alipay.com

java實現沙箱測試環境支付支付(demo)整合微信支付支付支付到ssm

mar 文件 fun Go examples IT === throws 由於 文章有不當之處,歡迎指正,如果喜歡微信閱讀,你也可以關註我的微信公眾號:好好學java,獲取優質學習資源。 一、支付寶測試環境代碼測試 1.下載電腦網站的官方demo: 下載地址:https:

微信支付支付支付接口回調函數的判斷

判斷 遍歷 節點數據 task har 支付 節點數 怎麽 yun 微信支付和支付寶支付接口是現在網絡商城必不可少的功能,有些網站不只一處需要對接這樣同一個接口,不同的功能,傳的參數不一樣,但是回調只有一個,針對這樣的問題,我們在回調函數裏就需要進行判斷了,判斷是那個功能模

支付支付】掃碼付app支付,回調驗證簽名失敗問題

界面 排序 div nbsp 參數 解碼 app支付 bsp api 在檢查了參數排序,編碼解碼,文件編碼等問題後,發現還是簽名失敗,最後找出原因: 掃碼付和app支付采用的支付寶公鑰不一樣 Pid和公鑰管理裏面: 開放平臺密鑰界面和開放平臺應用界面的密鑰應該一致,

支付支付相關開發

string lib ec2 base data 做了 默認 out https 開發支付寶的支付功能 1.首先去開放平臺進行註冊 這裏有一個設置應用公鑰: 使用支付寶的密鑰生成工具進行密鑰生成: 把應用公鑰復制到沙箱頁面內讓支付寶生成一個支付寶公鑰:

阿里支付支付開發詳細

無論在web開發、移動開發中,使用支付寶支付是必不可少的技能,本文將收集本人在開發中遇到的問題,也可以加入交流群244284555 和博主進行溝通 建立支付寶應用前提必須使用企業認證的支付寶賬號,否則將無法建立應用 登入後進入開發者中心選擇網頁移動應用 選擇支付接入 建立

Androd整合微信支付支付支付

文章目錄 前言 微信支付 支付寶支付 前言 我們在做App的時候,可能需要接入支付功能,常見的支付有微信支付和支付寶支付。這裡只說明下前端的程式碼邏輯。 微信支付 微信支付開發

接入支付支付 錯誤碼4000,排查方法——開發記錄

最近,寫專案,再一次使用到了微信支付,和支付寶支付。之前無數次爬坑, 可是每次出現的問題總是不一樣,這一次接入支付寶,和微信,一共浪費了兩天時間。 總結下,遇到坑的問題所在。 重點標註下——全部都是後臺的問題,全部都是後臺的。或者是開放平臺配置的問題。跟移動端沒有毛關係。沒有毛關係。 有

[後端開發]支付支付介面除錯 (Python v3.6)

寫在前面:     講真,一開始接到這個任務我是拒絕的。因為支付寶官方沒有提供Python的SDK環境,只有JAVA/PHP/.NET三種語言的SDK,這意味著簽名&驗籤、HTTP介面請求等操作全都要自己手動實現,就算支付寶提供了簽名、驗籤的演算法說明,但僅靠它的

支付支付--即時到賬 開發總結

轉載:LazyCat_Ky 的部落格 http://www.cnblogs.com/LzayCat/p/5539095.html 在支付寶支付的開發過程中,通過自己的理解和嘗試做出一點流程總結記錄:   一.前往 https://doc.open.

前端:微信支付支付支付在pc端h5頁面中的應用

1:h5微信支付 使用的是https://pay.weixin.qq.com/wiki/doc/api/index.html  中的 (1):公司需要首先要配置公眾號微信支付地址和測試白名單(支付的時候顯示這個支付頁面沒許可權有可能是這個原因) 如上圖http://ww