支付宝双向接口对接实现


今天在开发一个支付功能,由于第三方注册的是  双向功能接口(即时交易,担保交易)两种方式的支付方法

 

其实这个接口也是跟 即时交易和担保交易的接口差不多,只是这边特别注意一点的就是,商户的密钥不能有任何的空格

废话不说,贴上代码

  ////////////////////////////////////////////请求参数////////////////////////////////////////////

        //支付类型
        string payment_type = "1";   //这个是代表买家付款
        //必填,不能修改
        //服务器异步通知页面路径
        string notify_url = “”;  //  异步通知的接收页面,(因为有时候万一用户在跳转到支付宝那边支付完毕后,遇到一些特殊情况没有返回到制定的商家页面)
        //需http://格式的完整路径,不能加?id=123这类自定义参数

        //页面跳转同步通知页面路径
        string return_url = “”;  
        //需http://格式的完整路径,不能加?id=123这类自定义参数,不能写成http://localhost/

        //卖家支付宝帐户
        string seller_email = “**************”;
        //必填

        //商户订单号
        string out_trade_no = “2013145201314”;
        //商户网站订单系统中唯一订单号,必填

        //订单名称
        string subject = “这是来自一个第三方商城的订单”;
        //必填

        //付款金额
        string price =“0.01”;// string.Format("{0:f2}", ****);
        //必填

        //商品数量
        string quantity = "1";
        //必填,建议默认为1,不改变值,把一次交易看成是一次下订单而非购买一件商品
        //物流费用
        string logistics_fee = "0.00";
        //必填,即运费
        //物流类型
        string logistics_type = "EXPRESS";
        //必填,三个值可选:EXPRESS(快递)、POST(平邮)、EMS(EMS)
        //物流支付方式
        string logistics_payment = "SELLER_PAY";
        //必填,两个值可选:SELLER_PAY(卖家承担运费)、BUYER_PAY(买家承担运费)
        //订单描述

        string body = code + "|" + type + "|" + num + "|" + md5sign;
        //商品展示地址
        string show_url ="http://www.****.com";   
        //需以http://开头的完整路径,如:http://www.商户网站.com/myorder.html

        //收货人姓名
        string receive_name = "测试";
        //如:张三

        //收货人地址
        string receive_address = "测试";
        //如:XX省XXX市XXX区XXX路XXX小区XXX栋XXX单元XXX号

        //收货人邮编
        string receive_zip = "510555";
        //如:123456

        //收货人电话号码
        string receive_phone = "";
        //如:0571-88158090

        //收货人手机号码
        string receive_mobile = "";
        //如:13312341234


        ////////////////////////////////////////////////////////////////////////////////////////////////

        //把请求参数打包成数组
        SortedDictionary<string, string> sParaTemp = new SortedDictionary<string, string>();
        sParaTemp.Add("partner", entity.payID);
        sParaTemp.Add("_input_charset", Config.Input_charset.ToLower());
        sParaTemp.Add("service", "trade_create_by_buyer");
        sParaTemp.Add("payment_type", payment_type);
        sParaTemp.Add("notify_url", notify_url);
        sParaTemp.Add("return_url", return_url);
        sParaTemp.Add("seller_email", seller_email);
        sParaTemp.Add("out_trade_no", out_trade_no);
        sParaTemp.Add("subject", subject);
        sParaTemp.Add("price", price);
        sParaTemp.Add("quantity", quantity);
        sParaTemp.Add("logistics_fee", logistics_fee);
        sParaTemp.Add("logistics_type", logistics_type);
        sParaTemp.Add("logistics_payment", logistics_payment);
        sParaTemp.Add("body", body);
        sParaTemp.Add("show_url", show_url);
        sParaTemp.Add("receive_name", receive_name);
        sParaTemp.Add("receive_address", receive_address);
        sParaTemp.Add("receive_zip", receive_zip);
        sParaTemp.Add("receive_phone", receive_phone);
        sParaTemp.Add("receive_mobile", receive_mobile);

        //建立请求
        string sHtmlText = Submit.BuildRequest(sParaTemp, "get", "确认");      //这个拼接提交的form的方法里面,组成一个sign 
        
        Response.Write(sHtmlText);

        #endregion

配置sign的类,支付宝这边生成form的元素的时候会把这个key的值通过md5加密,然后加到form的表单元素上去。

    static Config() { //↓↓↓↓↓↓↓↓↓↓请在这里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ //合作身份者ID,以2088开头由16位纯数字组成的字符串 partner = ""; //交易安全检验码,由数字和字母组成的32位字符串 key = ""; //↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ //字符编码格式 目前支持 gbk 或 utf-8 input_charset = "utf-8"; //签名方式,选择项:RSA、DSA、MD5 sign_type = "MD5"; }

最后贴上一个示例的url

https://mapi.alipay.com/gateway.do?_input_charset=utf-8& body=test& logistics_fee=0.00& logistics_payment=SELLER_PAY& logistics_type=EXPRESS& notify_url={网站地址}& out_trade_no={订单号}& partner={商家号}& payment_type=1& price=1& quantity=1& receive_address=测试& receive_name=测试& receive_zip=510555& return_url={url}& seller_email={商家号(邮箱)}& service=trade_create_by_buyer& show_url=http://www.xxxx.com& subject=标题& sign=key的md5加密& sign_type=MD5

 

支付宝双接口的文件链接地址 点击下载

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM