• 支付宝接口使用方法


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

    网上讲解接口使用方法:

    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

  • 相关阅读:
    HTML简介
    Tomcat创建项目
    旅游移动端网站—慢!慢!慢!
    云服务正在吞噬世界!
    2016运维团队所需解决方案的5个关键因素
    关于 OneAPM Cloud Test DNS 监控的几个重要问题
    不可忽视的 .NET 应用5大性能问题
    从 IT 中断中学到的最佳监控实践
    衡量企业应用数据库性能的6大指标
    云监控崛起,你落伍了么?
  • 原文地址:https://www.cnblogs.com/saimisei/p/1573842.html
Copyright © 2020-2023  润新知