1. 程式人生 > >支付寶對接

支付寶對接

log 跳轉 per set 處理 bject 鏈接 接收 payment

一般由兩部分組成,接入部分與通知返回部分。接入部分即為傳遞參數等信息組合成超級鏈接,並用該鏈接來進行跳轉。通知返回部分則是支付寶服務器對該筆訂單處理完畢後,通知與返回該筆訂單的詳細信息到商戶服務器,商戶服務器接收到後,並對其進行數據處理。

a) 接入部分原理
i. 第一步——選定參數信息:
結合技術文檔以及接口代碼DEMO,選定傳遞給支付寶服務器的參數,以實物標準雙接口為例。如必傳項service、partner、seller_email、sign、sign_type、out_trade_no、price、subject、quantity、payment_type以及最少一組的物流信息參數三個logistics_type、logistics_fee、logistics_payment等,選填項body、discount、show_url等。

以ASP.NET C#語言代碼程序為例:

[plain] view plaincopy

string service = "trade_create_by_buyer";  
        string seller_email = "[email protected]";   
        string sign_type = "MD5";  
        string key = "********************************";  
        string partner = "2088************";  
        string _input_charset = "utf-8";  
        string show_url = "http://www.alipay.com/";  
        string out_trade_no = TxtOrderno.Text.Trim();  
        string subject = TxtSubject.Text.Trim();  
        string body = TxtBody.Text.Trim();  
        string price = TxtPrice.Text.Trim();  
        string quantity = TxtQua.Text.Trim();  
        string logistics_type = "POST";  
        string logistics_fee = TxtPost.Text.Trim();  
        string logistics_payment = "BUYER_PAY";  
        string notify_url = "http://www.xxx.com/swnet05utf8/Alipay_Notify.aspx";   
        string return_url = "http://www.xxx.com/swnet05utf8/Alipay_Return.aspx";  

ii. 第二步——排序:
把這些參數的變量名(即技術文檔裏給出的變量名,以這種方式組合:service=”trade_create_by_buyer”作為一串字符串)按從a到z的順序依次排序。以ASP.NET C#語言代碼程序為例,該功能在ALIPAY.CS類中;以ASP代碼中的程序為例,該功能在alipayto/Alipay_Payto.asp文件中。
iii. 第三步——加密:
目前一般的加密方式是MD5,不論是哪種加密方式,要加密的信息是要傳給支付寶的信息,且存在於技術文檔中,而非自定義的變量名。對以上排序好的所有參數(不包括網關參數即:string gateway = “https://www.alipay.com/cooperate/gateway.do?” ;)以循環的方式,用‘&’字符拼接成一長串字符串(這裏需要註意,所有的參數都是&字符來拼接的,拼接後直接再拼接安全校驗碼Key,在程序中大家可看到,這個key是直接加到該字符串後面而沒有用&字符 ),之後進行加密。得出的加密字符串集存儲於sign這個參數中。

支付寶對接