C#.net支付宝接口

复制  保存

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;

public partial class pay : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Encoding gb2312 = Encoding.GetEncoding("gb2312");
        Response.ContentEncoding = gb2312;
        Request.ContentEncoding = gb2312;
    }

    protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
    {
        if (Request.Cookies[FormsAuthentication.FormsCookieName] != null)
        {
            Vlike_DB_read a = new Vlike_DB_read();
            string zfb_ddh = a.get_zfb_id(Membership.GetUser().UserName, Convert.ToInt32(DropDownList1.SelectedValue));
            Response.Redirect(img("0001", "包月", "影视包月  10元/月", zfb_ddh, "10.00", Membership.GetUser().UserName.ToUpper(), DropDownList1.SelectedValue));
        }
        else
        {
            Response.Write("");
        }
    }

    private string img(string strcmd, string strSub, string strSubinfo, string strid, string strMoney, string strUser, string strNum)
    {
        string strsellerEmail = "[email protected]";          //卖家支付宝帐号
        string strAc = "";            //卖家支付宝安全校验码
        string INTERFACE_URL = "https://www.alipay.com/payto:";
        string strCmd = strcmd;           //命令字
        string strSubject = strSub;       //商品名
        string strBody = strSubinfo;      //商品描述
        string strOrder_no = strid;       //商户订单号
        string strPrice = strMoney;       //商品单价 0.01~50000.00
        string rurl = "http://";          //商品展示网址
        string strType = "2";             //type支付类型    1:商品购买2:服务购买3:网络拍卖4:捐赠
        string strNumber = strNum;        //购买数量
        string strTransport = "3";        //发货方式        1:平邮2:快递3:虚拟物品
        string strOrdinary_fee = "";      //平邮运费
        string strExpress_fee = "";       //快递运费
        string strReadOnly = "true";      //交易信息是否只读
        string strBuyer_msg = "";         //买家给卖家的留言

        string strBuyer = "";             //买家EMAIL
        string strBuyer_name = strUser;   //买家姓名
        string strBuyer_address = "";     //买家地址
        string strBuyer_zipcode = "";     //买家邮编
        string strBuyer_tel = "";         //买家电话号码
        string strBuyer_mobile = "";      //买家手机号码
        string strPartner = "";           //合作伙伴ID    保留字段

        return CreatUrl(strsellerEmail, strAc, INTERFACE_URL, strCmd, strSubject, strBody,
            strOrder_no, strPrice, rurl, strType, strNumber, strTransport,
            strOrdinary_fee, strExpress_fee, strReadOnly, strBuyer_msg, strBuyer,
            strBuyer_name, strBuyer_address, strBuyer_zipcode, strBuyer_tel,
            strBuyer_mobile, strPartner);
    }
    private string CreatUrl(
        string strsellerEmail,
        string strAc,
        string INTERFACE_URL,
        string strCmd,
        string strSubject,
        string strBody,
        string strOrder_no,
        string strPrice,
        string rurl,
        string strType,
        string strNumber,
        string strTransport,
        string strOrdinary_fee,
        string strExpress_fee,
        string strReadOnly,
        string strBuyer_msg,
        string strBuyer,
        string strBuyer_name,
        string strBuyer_address,
        string strBuyer_zipcode,
        string strBuyer_tel,
        string strBuyer_mobile,
        string strPartner)
    {   //以下参数值不能留空

        string str2CreateAc = "";
        str2CreateAc += "cmd" + strCmd + "subject" + strSubject;
        str2CreateAc += "body" + strBody;
        str2CreateAc += "order_no" + strOrder_no;
        str2CreateAc += "price" + strPrice;
        str2CreateAc += "url" + rurl;
        str2CreateAc += "type" + strType;
        str2CreateAc += "number" + strNumber;
        str2CreateAc += "transport" + strTransport;
        str2CreateAc += "ordinary_fee" + strOrdinary_fee;
        str2CreateAc += "express_fee" + strExpress_fee;
        str2CreateAc += "readonly" + strReadOnly;
        str2CreateAc += "buyer_msg" + strBuyer_msg;
        str2CreateAc += "seller" + strsellerEmail;
        str2CreateAc += "buyer" + strBuyer;
        str2CreateAc += "buyer_name" + strBuyer_name;
        str2CreateAc += "buyer_address" + strBuyer_address;
        str2CreateAc += "buyer_zipcode" + strBuyer_zipcode;
        str2CreateAc += "buyer_tel" + strBuyer_tel;
        str2CreateAc += "buyer_mobile" + strBuyer_mobile;
        str2CreateAc += "partner" + strPartner;
        str2CreateAc += strAc;

        string acCode = GetMD5(str2CreateAc);

        string parameter = "";

        parameter += INTERFACE_URL + strsellerEmail + "?cmd=" + strCmd;
        parameter += "&subject=" + Server.UrlEncode(strSubject);
        parameter += "&body=" + Server.UrlEncode(strBody);
        parameter += "&order_no=" + strOrder_no;
        parameter += "&url=" + rurl;
        parameter += "&price=" + strPrice;
        parameter += "&type=" + strType;
        parameter += "&number=" + strNumber;
        parameter += "&transport=" + strTransport;
        parameter += "&ordinary_fee=" + strOrdinary_fee;
        parameter += "&express_fee=" + strExpress_fee;
        parameter += "&readonly=" + strReadOnly;
        parameter += "&buyer_msg=" + strBuyer_msg;
        parameter += "&buyer=" + strBuyer;
        parameter += "&buyer_name=" + Server.UrlEncode(strBuyer_name);
        parameter += "&buyer_address=" + strBuyer_address;
        parameter += "&buyer_zipcode=" + strBuyer_zipcode;
        parameter += "&buyer_tel=" + strBuyer_tel;
        parameter += "&buyer_mobile=" + strBuyer_mobile;
        parameter += "&partner=" + strPartner;
        parameter += "&ac=" + acCode;

        return parameter;
    }

    private static string GetMD5(string s)
    {
        System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
        byte[] t = md5.ComputeHash(System.Text.Encoding.GetEncoding("gb2312").GetBytes(s));
        System.Text.StringBuilder sb = new System.Text.StringBuilder(32);
        for (int i = 0; i < t.Length; i++)
        {
            sb.Append(t[i].ToString("x").PadLeft(2, ‘0‘));
        }
        return sb.ToString();
    }
}
时间: 2024-10-21 18:15:08

C#.net支付宝接口的相关文章

(实用篇)php支付宝接口用法分析

本文实例讲述了php支付宝接口用法.分享给大家供大家参考.具体分析如下: 现在流行的网站支持平台,支付宝当仁不让的老大了,现在我们就来告诉你如何使用支付宝api来做第三方支付,把支付宝放到自己网站来, alipay_config.php配置程序如下: <?php */ //alipay_config.php 配置程序 $interfaceurl = "https://www.alipay.com/payto:"; $sitename = "网站名称"; $we

wap支付宝接口的问题

今天在支付宝接口开发时,遇到的两个坑 第一个: https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.8nHr4i&treeId=62&articleId=103740&docType=1 支付宝的PC版即时到账接口中,发起的请求可带此参数extra_common_param 公用回传参数 String(100) 如果用户请求时传递了该参数,则返回给商户时会回传该参数. 于是,不管在同步或者异步通知中,均

转载:PHP支付宝接口RSA验证

这两天一直困扰的PHP RSA签名验证问题终于解决了,由于之前RSA接触的不多,再加上官方至今还未有PHP的SDK可供参考,因此走了一些弯路,写在这里和大家分享. 虽然支付宝官方还未提供相关SDK,PHP确实可以实现RSA方式的签名,这点其实很重要,由于不熟悉,在遇到困难的时候,经常会不由自主地想到是否PHP不支持RSA签名,干脆用MD5得了,这样就没有了前进的动力.其实说穿了MD5和RSA签名,不同的只是签名方式的区别,其他的都一样,因此我这里主要说一下如何用RSA进行签名和验签. 首先你需要

Android 开发之Android 应用程序如何调用支付宝接口

1.到支付宝官网,下载支付宝集成开发包 由于android设备一般用的都是无线支付,所以我们申请的就是支付宝无线快捷支付接口.下面是申请的地址以及下载接口开发包的网址:https://b.alipay.com/order/productDetail.htm?productId=2014110308141993(如果链接失效,你可以到支付宝官网商家服务模块中找到 快捷支付(无线)这个服务.)  下载集成开发包(http://download.alipay.com/public/api/base/W

YunCart电商网站支付宝接口出现500错误

yuncart 是一套易与集成的php开源商城系统,方便多人同时经行二次开发,Yuncart 可以以非常方便的方式切换到sql server,oracle等数据库,大小1.9MB,感兴趣的朋友,可以去官网下载. 最近帮朋友用php做了一个电商网站,化妆品方面的.上网看了相关方面的程序源码,最后选择了yuncart,它轻量.简单.功能丰富等特点,闲暇时,做了些修改.下面就今天出现的问题,简单的说下,希望能帮助到有类似问题的童鞋. 下图为我朋友的网站:  问题描述:       在网站上购买支付成功

支付宝接口开发提示错误代码 invalid-signature 错误原因: 无效签名

今天做支付宝接口开发,参照官方的实例代码,但是一直提示报错:错误代码 invalid-signature 错误原因: 无效签名 而官方的例子却不报错,经过反复的测试发现,是因为官方代码里参数是通过POST赋值的 $out_trade_no = trim($_POST['WIDout_trade_no']);//商户订单号,商户网站订单系统中唯一订单号,必填 $subject = trim($_POST['WIDsubject']);//订单名称,必填 $total_amount = trim($

支付宝接口使用文档说明 支付宝异步通知(notify_url)与return_url

原文:http://blog.csdn.net/m13666368773/article/details/6888513/ 支付宝接口使用文档说明 支付宝异步通知(notify_url)与return_url. 现支付宝的通知有两类. 1-服务器通知(支付宝通知我们的服务器),对应的参数为notify_url,支付宝通知使用POST方式 2-页面跳转通知(支付成功后,从支付宝跳转到指定的地址),对应的参数为return_url,支付宝通知使用GET方式 (通知地址不需要像以前一样去账户内设置,而

网站支付宝接口错误代码:TRADE_DATA_MATCH_ERROR怎么处理?

网站支付宝接口错误代码:TRADE_DATA_MATCH_ERROR怎么处理? 做过支付宝支付接口应该都知道,这是因为订单重复的原因所造成. 今天在处理客户一网站的时候,经客户反馈,在顾客通过支付宝提交订单出现“错误代码:TRADE_DATA_MATCH_ERROR”,经过在支付宝对接平台手册上的查阅问题出在,顾客已经在支付宝平台上将订单生成,只是还未支付就关闭了的支付窗口,在次进入客户网站会员后台点击支付,这时候出现了上面的错误代码“TRADE_DATA_MATCH_ERROR”,这说明肯定这

调用支付宝接口Android客户端没有支付宝APP的情况下解决无法调用支付宝页面的问题

这几天一直研究支付宝接口调用,因为当前应用中需要调用支付宝接口作移动支付. 遇到一个问题困扰几天,就是当我们的手机端未安装支付宝APP的时候,需要在自己应用中调用支付宝的登陆网页进行支付.我是Android开发,网上有很多小伙伴都遇到了无法调起网页支付宝登陆页面的问题,在此给大家分享一个解决方案,希望能帮助遇到同样问题困扰的小伙伴. 网上也有很多贴,都是说要加入H5PayActivity和AuthActivity的配置来解决,但是并不起作用,我的就是,虽然有跳转的动作,但是直接一个白板页面招呼,

iOS app支付宝接口调用的一点总结(补充支付宝SDK&amp;Demo下载地址)

由于app内需要用到支付功能,选择了当前最流行的支付宝进行支付.在进行内嵌支付宝功能开发时,被它狠狠的耍了一把. 根据支付宝开发文档,参考demo代码.将相关支付功能加到了自己的代码中.一些根据文档来做,也没有太大的难度.但添加完代码,进行测试时,问题却来了.在app中可以成功调用支付宝app,成功支付并返回.这个时候就出现问题了.在app delegate支付宝回调本app的执行函数中,公钥验证签名成功后,会对支付结果进行提示.根据demo,提示支付的代码如下: [cpp] view plai