zoukankan      html  css  js  c++  java
  • 支付宝接口使用方法

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

    网上讲解接口使用方法:

    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

  • 相关阅读:
    ExecuteScalar requires the command to have a transaction when the connection assigned to the command is in a pending
    如何从vss中分离程序
    String or binary data would be truncated
    the pop3 service failed to retrieve authentication type and cannot continue
    The POP3 service failed to start because
    IIS Error he system cannot find the file specified _找不到页面
    pku2575Jolly Jumpers
    pku2940Wine Trading in Gergovia
    pku3219二项式系数
    pku1029false coin
  • 原文地址:https://www.cnblogs.com/saimisei/p/1573842.html
Copyright © 2011-2022 走看看