支付寶程式碼示例結構說明
╭───────────────────────╮
────┤ 支付寶程式碼示例結構說明 ├────
╰───────────────────────╯
介面名稱:支付寶純擔保交易介面(create_partner_trade_by_buyer)
程式碼版本:3.3
開發語言:ASP.NET(c#)
版 權:支付寶(中國)網路技術有限公司
制 作 者:支付寶商戶事業部技術支援組
聯絡方式:商戶服務電話0571-88158090
───────
程式碼檔案結構
───────
create_partner_trade_by_buyer-CSHARP-UTF-8
│
├app_code ┈┈┈┈┈┈┈┈┈┈類資料夾
│ │
│ ├AlipayConfig.cs┈┈┈┈┈基礎配置類檔案
│ │
│ ├AlipayCore.cs┈┈┈┈┈┈支付寶介面公用函式類檔案
│ │
│ ├AlipayNotify.cs┈┈┈┈┈支付寶通知處理類檔案
│ │
│ ├AlipaySubmit.cs┈┈┈┈┈支付寶各介面請求提交類檔案
│ │
│ └MD5.cs ┈┈┈┈┈┈┈┈┈MD5類庫
│
├log┈┈┈┈┈┈┈┈┈┈┈┈┈日誌資料夾
│
├default.aspx ┈┈┈┈┈┈┈┈支付寶介面入口檔案
├default.aspx.cs┈┈┈┈┈┈┈支付寶介面入口檔案
│
├notify_url.aspx┈┈┈┈┈┈┈伺服器非同步通知頁面檔案
├notify_url.aspx.cs ┈┈┈┈┈伺服器非同步通知頁面檔案
│
├return_url.aspx┈┈┈┈┈┈┈頁面跳轉同步通知檔案
├return_url.aspx.cs ┈┈┈┈┈頁面跳轉同步通知檔案
│
├Web.Config ┈┈┈┈┈┈┈┈┈配置檔案(整合時刪除)
│
└readme.txt ┈┈┈┈┈┈┈┈┈使用說明文字
※注意※
需要配置的檔案是:
alipay_config.cs
default.aspx
default.aspx.csreturn_url.aspx
return_url.aspx.cs notify_url.aspx
notify_url.aspx.cs
統一名稱空間為:namespace Com.Alipiay
─────────
類檔案函式結構
─────────
AlipayCore.cs
public static Dictionary<string, string> ParaFilter(SortedDictionary<string, string> dicArrayPre)
功能:除去陣列中的空值和簽名引數並以字母a到z的順序排序
輸入:SortedDictionary<string, string> dicArrayPre
過濾前的引數組
輸出:Dictionary<string, string>
去掉空值與簽名引數後的新簽名引數組
public static string CreateLinkString(Dictionary<string, string> dicArray)
功能:把陣列所有元素,按照“引數=引數值”的模式用“&”字元拼接成字串
輸入:Dictionary<string, string> dicArray
需要拼接的陣列
輸出:string
拼接完成以後的字串
public static string CreateLinkStringUrlencode(Dictionary<string, string> dicArray, Encoding code)
功能:把陣列所有元素,按照“引數=引數值”的模式用“&
”字元拼接成字串,並對引數值做urlencode
輸入:Dictionary<string, string> dicArray
需要拼接的陣列
Encoding code
字元編碼
輸出:string
拼接完成以後的字串
public static void log_result(string sPath, string sWord)
功能:寫日誌,方便測試(看網站需求,也可以改成存入資料庫)
輸入:string sPath
日誌的本地絕對路徑
string sWord
要寫入日誌裡的文字內容
public static string GetAbstractToMD5(Stream sFile)
功能:獲取檔案的md5摘要
輸入:Stream sFile
檔案流
輸出:string MD5摘要結果
public static string GetAbstractToMD5(byte[] dataFile)
功能:獲取檔案的md5
摘要
輸入:byte[] dataFile
檔案流
輸出:string MD5
摘要結果
┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉
MD5.cs
public static string Sign(string prestr, string key, string _input_charset)
功能:簽名字串
輸入:string prestr
需要簽名的字串
string key
金鑰
string _input_charset
編碼格式
輸出:string
簽名結果
public static bool Verify(string prestr, string sign, string key, string _input_charset)
功能:驗證簽名
輸入:string prestr
需要簽名的字串
string sign
簽名結果
string key
金鑰
string _input_charset
編碼格式
輸出:string
驗證結果
┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉
AlipayNotify.cs
public Notify()
功能:建構函式
從配置檔案中初始化變數
public bool Verify(SortedDictionary<string, string> inputPara, string notify_id, string sign)
功能:驗證訊息是否是支付寶發出的合法訊息
輸入:SortedDictionary<string, string> inputPara
通知返回引數陣列
string notify_id
通知驗證ID
string sign
支付寶生成的簽名結果
輸出:bool
驗證結果
private string GetPreSignStr(SortedDictionary<string, string> inputPara)
功能:獲取待簽名字串(除錯用)
輸入:SortedDictionary<string, string> inputPara
通知返回引數陣列
輸出:string
待簽名字串
private bool GetSignVeryfy(SortedDictionary<string, string> inputPara, string sign)
功能:獲取返回回來的待簽名陣列簽名後結果
輸入:SortedDictionary<string, string> inputPara
通知返回引數陣列
string sign
支付寶生成的簽名結果
輸出:bool
簽名驗證結果
private string GetResponseTxt(string notify_id)
功能:獲取是否是支付寶伺服器發來的請求的驗證結果
輸入:string notify_id
通知驗證ID
輸出:string
驗證結果
private string Get_Http(string strUrl, int timeout)
功能:獲取遠端伺服器ATN
結果
輸入:string strUrl
指定URL路徑地址
int timeout
超時時間設定
輸出:string
伺服器ATN
結果字串
┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉
AlipaySubmit.cs
private static string BuildRequestMysign(Dictionary<string, string> sPara)
功能:生成簽名結果
輸入:Dictionary<string, string> sPara
要簽名的陣列
輸出:string
簽名結果字串
private static Dictionary<string, string> BuildRequestPara(SortedDictionary<string, string> sParaTemp)
功能:生成要請求給支付寶的引數陣列
輸入:SortedDictionary<string, string> sParaTemp
請求前的引數陣列
輸出:Dictionary<string, string>
要請求的引數陣列
private static string BuildRequestParaToString(SortedDictionary<string, string> sParaTemp, Encoding code)
功能:生成要請求給支付寶的引數陣列
輸入:SortedDictionary<string, string> sParaTemp
請求前的引數陣列
Encoding code
字元編碼
輸出:string
要請求的引數陣列字串
public static string BuildRequest(SortedDictionary<string, string> sParaTemp, string strMethod, string strButtonValue)
功能:建立請求,以表單HTML
形式構造(預設)
輸入:SortedDictionary<string, string> sParaTemp
請求引數陣列
string strMethod
提交方式。兩個值可選:post、get
string strButtonValue
確認按鈕顯示文字
輸出:string
提交表單HTML文字
public static string BuildRequest(SortedDictionary<string, string> sParaTemp)
功能:建立請求,以模擬遠端HTTP的POST請求方式構造並獲取支付寶的處理結果
輸入:SortedDictionary<string, string> sParaTemp
請求引數陣列
輸出:string
支付寶處理結果
public static string BuildRequest(SortedDictionary<string, string> sParaTemp, string strMethod, string fileName, byte[] data, string contentType, int lengthFile)
功能:建立請求,以模擬遠端HTTP
的POST
請求方式構造並獲取支付寶的處理結果
輸入:SortedDictionary<string, string> sParaTemp
請求引數陣列
string strMethod
提交方式。兩個值可選:post、get
string fileName
檔案絕對路徑
byte[] data
檔案資料
string contentType
檔案內容型別
int lengthFile
檔案長度
輸出:string
支付寶處理結果
public static string Query_timestamp()
功能:用於防釣魚,呼叫介面query_timestamp
來獲取時間戳的處理函式
輸出:string
時間戳字串
──────────
出現問題,求助方法
──────────
如果在整合支付寶介面時,有疑問或出現問題,可使用下面的連結,提交申請。
https://b.alipay.com/support/helperApply.htm?action=supportHome
我們會有專門的技術支援人員為您處理
相關文章
- python呼叫支付寶支付介面詳細示例—附帶Django demo程式碼PythonDjango
- DKhadoop框架結構說明Hadoop框架
- 微機結構說明
- flowable 表結構說明
- Oracle 官方文件 結構說明Oracle
- 加強堆結構說明
- 寶付揭秘支付JAVE程式碼
- QT - QOverload說明及示例QT
- 支付寶實時到賬的MVC示例MVC
- 【TABLESPACE】Oracle 表空間結構說明Oracle
- 【PG體系結構】PG體系結構簡單說明
- MySQL:AHI 部分程式碼流程說明MySql
- React Native 原生模組封裝:支付寶示例React Native封裝
- SSM 實現支付寶支付功能(圖文詳解+完整程式碼)SSM
- 對iOS端支付寶和微信支付程式碼進行整合iOS
- 探索支付寶小程式:如何與前端工程結合?前端
- NFT元宇宙鏈遊系統開發說明(原始碼示例)元宇宙原始碼
- Mysql半同步複製模式說明及配置示例 - 運維小結MySql模式運維
- 移動支付新時代——低程式碼如何對接支付寶和微信支付
- 初探AngularJS6.x---目錄結構說明AngularJS
- Linux系統結構說明及用途介紹Linux
- IDEA支付寶小程式開發流程——支付Idea
- 支付寶小程式效能分析
- 獲取淘寶商品詳情api、介面獲取寶貝詳情、產品詳細屬性示例說明API
- 支付寶新版介面曝光:支付寶小程式或迎來重磅入口
- 支付寶支付
- ASP.NET CORE微信支付回撥示例程式碼ASP.NET
- Laravel 搞定支付寶和微信掃碼支付Laravel
- WordPress採集入庫表結構關聯說明
- 支付寶夜光收款碼在哪領取?支付寶夜光收款碼領取教程
- 程式碼的架構之說架構
- Oracle面試寶典-程式結構篇Oracle面試
- Python提取支付寶和微信支付二維碼Python
- 【PG結構】Postgresql資料庫資料目錄說明SQL資料庫
- JVM(筆記)—— Class 類檔案結構的說明(二)JVM筆記
- 微信支付,支付寶支付
- 侯捷C++ STL體系結構與原始碼剖析:關於moveable的說明C++原始碼
- 小米手環3繫結支付寶免密支付教程 小米手環3支援支付寶免密支付嗎?