支付宝对接

一般由两部分组成,接入部分与通知返回部分。接入部分即为传递参数等信息组合成超级链接,并用该链接来进行跳转。通知返回部分则是支付宝服务器对该笔订单处理完毕后,通知与返回该笔订单的详细信息到商户服务器,商户服务器接收到后,并对其进行数据处理。 

 

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 = "aaaa@126.com";   
        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这个参数中。

posted @ 2017-09-10 14:25  跨境电商杂货铺  阅读(258)  评论(0编辑  收藏  举报