支付宝对接

Posted THISISPAN

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了支付宝对接相关的知识,希望对你有一定的参考价值。

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

 

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这个参数中。

以上是关于支付宝对接的主要内容,如果未能解决你的问题,请参考以下文章

koa实现对接支付宝沙箱支付

前端对接后台支付(支付宝)

支付宝对接

android怎么和支付宝实现接口对接

经典设计模式之策略模式如何重构聚合支付平台,对接支付宝,微信,银联支付

Python对接支付宝支付自实现