支付宝接口使用方法

========================================

网上讲解接口使用方法:

http://help.powereasy.net/handbook/eShop2006/Order/939.html

支付宝接口调用很简单,在自己的网站里面用到了这个支付接口

开始没有头绪,也看不懂里面的参数。

人要是真能静下心来做些事情,那么这事情就会变得简单明了了。

别的不多说了:

我所使用的接口文档是:http://club.alipay.com/show_thread-80---5724879-.htm

这里下载的一个asp.net 接口程序

支付接口调用说名:我们使用的是实物交易接口,还有一个虚拟的

  需要商户号,用户加密字符串,用户登录支付宝的账号,也就是邮箱地址

 这些用来组合加密字符并发送到支付宝接口网关,进行验证,并且支付后再次验证此字符串是否与已经设置的信息相符合

如果符合证明支付成功无误,您就可以处理订单的状态了。

在返回的信息中可以得到当前设置的订单号,您就可以修改此订单的状态了! 参数名称为:out_trade_no  此参数可以获得订单号

其中一个default。aspx页面为设置参数页面,最好不要在这里设置,这样太不安全,很容易就盗取这秘密信息

还是把信息存放到config中吧,

文档中包含三个文件:

可将文件放到一个文件夹下面

default文件,是提交订单的页面,也就是连接支付宝的页面,在这里设置 商户号,用户key,及用户登录的账号,默认的下拉框为支付的交易类型(实物交易)配送方式的价格可以自己设定,可以设置为0元 ,页面都写的清楚了

默认的支付宝处理接口不用更改

然后设置支付返回的页面,判断结果并可处理订单状态,需要设定的是绝对的路径

接受你的订单号,然后修改此订单的状态就型了

下面是修改的地方:

 string partner = ConfigHelper.GetConfigString("Alipay_partnerID");   //partner合作伙伴id(必须填写)         string key = ConfigHelper.GetConfigString("Alipay_key"); //partner 的对应交易安全校验码(必须填写)       

        string v_oid = coll["out_trade_no"].ToString(); //获取订单号

view plaincopy to clipboardprint?
 
下面为default的代码,我做了简单的修改  
 
 
 
 //按时构造订单号;  
 
 
 
            //System.DateTime currentTime = new System.DateTime();  
 
            //currentTime = System.DateTime.Now;  
 
            //string out_trade_no = currentTime.ToString("g");  
 
            //out_trade_no = out_trade_no.Replace("-", "");  
 
            //out_trade_no = out_trade_no.Replace(":", "");  
 
            //out_trade_no = out_trade_no.Replace(" ", "");  
 
 
 
            ///订单号码  
 
            string out_trade_no = CRequest.GetQueryString("ordernum");  //接受自己的订单号  
 
 
 
            string m = CRequest.GetQueryString("v_m");//接受自己的订单金额  
 
            if (out_trade_no == "")  
 
            {  
 
                Jscript.AlertAndRedirect("订单号为空,无法执行支付!", "default.aspx");  
 
                return;  
 
            }  
 
 
 
 
 
            //业务参数赋值;  
 
            string gateway = T_gateway.Text;    //'支付接口  
 
            string service = T_service.Text;  
 
            string partner = ConfigHelper.GetConfigString("Alipay_partnerID");      //partner       合作伙伴ID          保留字段  
 
            string sign_type = T_sign_type.Text;//加密协议  
 
 
 
            string subject = T_subject.Text;    //subject       商品名称  
 
            string body = T_body.Text;      //body          商品描述      
 
            string payment_type = T_payment_type.Text;                  //支付类型    
 
            string price = m;  
 
            string quantity = TextBox1.Text;  
 
            string show_url = T_show_url.Text;  
 
            string seller_email = T_seller_email.Text.Trim();             //卖家账号  
 
            string key = ConfigHelper.GetConfigString("Alipay_key");              //partner账户的支付宝安全校验码  
 
            string return_url = T_return_url.Text; //服务器通知返回接口  
 
            string notify_url = T_notify_url.Text; //服务器通知返回接口  
 
            string _input_charset = T_inputchatset.Text;  
 
            string logistics_type = "POST";  
 
            string logistics_fee = TextBox2.Text;  
 
            string logistics_payment = "BUYER_PAY";  
 
            string logistics_type_1 = "EXPRESS";  
 
            string logistics_fee_1 = TextBox3.Text;  
 
            string logistics_payment_1 = "BUYER_PAY";  
 
            AliPay ap = new AliPay();  
 
            string aliay_url = ap.CreatUrl(  
 
                gateway,  
 
                service,  
 
                partner,  
 
                sign_type,  
 
                out_trade_no,  
 
                subject,  
 
                body,  
 
                payment_type,  
 
                price,  
 
                show_url,  
 
                seller_email,  
 
                key,  
 
                return_url,  
 
                _input_charset,  
 
                notify_url,  
 
                logistics_type,  
 
                logistics_fee,  
 
                logistics_payment,  
 
                logistics_type_1,  
 
                logistics_fee_1,  
 
                logistics_payment_1,  
 
                quantity  
 
                );  
 
 
 
            Response.Redirect(aliay_url);//跳转到支付接口页面  
 
 
 
 
 
 
 
Alipay_Notify.aspx//此页面 我未用到,是服务器通知页面,也可以处理订单状态,但是我在做的时候没有这个页面的事情,不知道怎么用  
 
也将其中该修改的地方修改了,该设置的也设置了  
 
 
 
将商户号和key修改了就可以了  
 
 
 
Alipay_Return.aspx 我在这个页面里做的处理,  修改了商户号和key值以后就可以了  
 
 
 
接受你的订单号,然后修改此订单的状态就型了  
 
 
 
下面是修改的地方:  
 
 
 
 string partner = ConfigHelper.GetConfigString("Alipay_partnerID");         //partner合作伙伴id(必须填写)  
 
        string key = ConfigHelper.GetConfigString("Alipay_key"); //partner 的对应交易安全校验码(必须填写)   
 
         
 
 
 
 
 
        string v_oid = coll["out_trade_no"].ToString(); //获取订单号  
 
 
 
到这里就算处理完了,根据下面的状态就可以处理订单状态了!!!! 


下面为default的代码,我做了简单的修改

 //按时构造订单号;

            //System.DateTime currentTime = new System.DateTime();

            //currentTime = System.DateTime.Now;

            //string out_trade_no = currentTime.ToString("g");

            //out_trade_no = out_trade_no.Replace("-", "");

            //out_trade_no = out_trade_no.Replace(":", "");

            //out_trade_no = out_trade_no.Replace(" ", "");

            ///订单号码

            string out_trade_no = CRequest.GetQueryString("ordernum");  //接受自己的订单号

            string m = CRequest.GetQueryString("v_m");//接受自己的订单金额

            if (out_trade_no == "")

            {

                Jscript.AlertAndRedirect("订单号为空,无法执行支付!", "default.aspx");

                return;

            }

            //业务参数赋值;

            string gateway = T_gateway.Text; //'支付接口

            string service = T_service.Text;

            string partner = ConfigHelper.GetConfigString("Alipay_partnerID");  //partner  合作伙伴ID   保留字段

            string sign_type = T_sign_type.Text;//加密协议

            string subject = T_subject.Text; //subject  商品名称

            string body = T_body.Text;  //body   商品描述   

            string payment_type = T_payment_type.Text;                  //支付类型 

            string price = m;

            string quantity = TextBox1.Text;

            string show_url = T_show_url.Text;

            string seller_email = T_seller_email.Text.Trim();             //卖家账号

            string key = ConfigHelper.GetConfigString("Alipay_key");              //partner账户的支付宝安全校验码

            string return_url = T_return_url.Text; //服务器通知返回接口

            string notify_url = T_notify_url.Text; //服务器通知返回接口

            string _input_charset = T_inputchatset.Text;

            string logistics_type = "POST";

            string logistics_fee = TextBox2.Text;

            string logistics_payment = "BUYER_PAY";

            string logistics_type_1 = "EXPRESS";

            string logistics_fee_1 = TextBox3.Text;

            string logistics_payment_1 = "BUYER_PAY";

            AliPay ap = new AliPay();

            string aliay_url = ap.CreatUrl(

                gateway,

                service,

                partner,

                sign_type,

                out_trade_no,

                subject,

                body,

                payment_type,

                price,

                show_url,

                seller_email,

                key,

                return_url,

                _input_charset,

                notify_url,

                logistics_type,

                logistics_fee,

                logistics_payment,

                logistics_type_1,

                logistics_fee_1,

                logistics_payment_1,

                quantity

                );

            Response.Redirect(aliay_url);//跳转到支付接口页面

Alipay_Notify.aspx//此页面 我未用到,是服务器通知页面,也可以处理订单状态,但是我在做的时候没有这个页面的事情,不知道怎么用

也将其中该修改的地方修改了,该设置的也设置了

将商户号和key修改了就可以了

Alipay_Return.aspx 我在这个页面里做的处理,  修改了商户号和key值以后就可以了

接受你的订单号,然后修改此订单的状态就型了

下面是修改的地方:

 string partner = ConfigHelper.GetConfigString("Alipay_partnerID");   //partner合作伙伴id(必须填写)

        string key = ConfigHelper.GetConfigString("Alipay_key"); //partner 的对应交易安全校验码(必须填写)

      

        string v_oid = coll["out_trade_no"].ToString(); //获取订单号

到这里就算处理完了,根据下面的状态就可以处理订单状态了!!!!
=======================================

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/crith/archive/2008/07/01/2601955.aspx

原文地址:https://www.cnblogs.com/saimisei/p/1573842.html