.net 支付宝接口

转载地址:http://bbs.youkuaiyun.com/topics/370260628


很早以前我在优快云论坛上问过这个问题,一个项目中同时使用这两个接口的问题。
终于有时间上来逛逛,分享下支付宝接口示例,给不会的朋友做个介绍,会的朋友请不要喷,谢谢合作!

首先当项目中需要支付宝接口的时候,人家会给你一个Demo,里边代码很重要,基本都可以拿来复制黏贴,只需
改下参数而已。
2个接口的类是一样的,所以需要放在2个文件夹中,你也可以放在类库中。我是这样放的



App中是支付接口的类,外部是登录接口的类
首先需要把阴影的类中的几个参数修改下

        static Config()
        {
            //↓↓↓↓↓↓↓↓↓↓请在这里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

            //合作身份者ID,以2088开头由16位纯数字组成的字符串
            partner = "2088601323326437";

            //交易安全检验码,由数字和字母组成的32位字符串
            key = "";

            //签约支付宝账号或卖家支付宝帐户
            seller_email = "";

            //页面跳转同步返回页面文件路径 要用 http://格式的完整路径,不允许加?id=123这类自定义参数
            return_url = "http://ozmb.inicp.com/zfbreturn.aspx";

            //服务器通知的页面文件路径 要用 http://格式的完整路径,不允许加?id=123这类自定义参数
            notify_url = "http://ozmb.inicp.com/zfbreturn.aspx";


说明部分很清楚,我就不解释了
其他部分都不需要动!
支付宝快捷登录
这个接口很简单,2个页面,一个Send,一个return页面


using Com.Alipay;
///////Send页面,除了我的判断,其他都可以复制黏贴,类的引用要注意,根据你的文件夹所在来引用
public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["Member_Info"] == null && Session["App"]==null)
        {
            string anti_phishing_key = "";
            //获取客户端的IP地址,建议:编写获取客户端IP地址的程序
            string exter_invoke_ip = "";
            //注意:
            //请慎重选择是否开启防钓鱼功能
            //exter_invoke_ip、anti_phishing_key一旦被设置过,那么它们就会成为必填参数
            //建议使用POST方式请求数据
            //示例:
            //exter_invoke_ip = "";
            //Service aliQuery_timestamp = new Service();
            //anti_phishing_key = aliQuery_timestamp.Query_timestamp();               //获取防钓鱼时间戳函数

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

            //把请求参数打包成数组
            SortedDictionary<string, string> sParaTemp = new SortedDictionary<string, string>();
            sParaTemp.Add("anti_phishing_key", anti_phishing_key);
            sParaTemp.Add("exter_invoke_ip", exter_invoke_ip);

            //构造快捷登录接口表单提交HTML数据,无需修改
            Service ali = new Service();
            string sHtmlText = ali.Alipay_auth_authorize(sParaTemp);
            Response.Write(sHtmlText);
        }
        else if (Session["Member_Info"] != null)
        {
            Response.Write("<script>alert('你已经登录,请先退出在进行支付宝登录!');location.href='index.aspx';</script>");
        }
        else if (Session["App"] != null)
        {
            Response.Write("<script>alert('你已经登录过了!');location.href='index.aspx';</script>");
        }
    }
}

//下边是返回页面return。一个泛型方法不要忘记。除了我的判断其他可以直接复制黏贴
using Com.Alipay;

public partial class zfblogin : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        { 
             SortedDictionary<string, string> sPara = GetRequestGet();

             if (sPara.Count > 0)//判断是否有带返回参数
             {
                 Notify aliNotify = new Notify();
                 bool verifyResult = aliNotify.Verify(sPara, Request.QueryString["notify_id"], Request.QueryString["sign"]);

                 if (verifyResult)//验证成功
                 {
                     /////////////////////////////////////////////////////////////////////////////////////////////////////////////
                     //请在这里加上商户的业务逻辑程序代码

                     //——请根据您的业务逻辑来编写程序(以下代码仅作参考)——
                     //获取支付宝的通知返回参数,可参考技术文档中页面跳转同步通知参数列表
                     string user_id = Request.QueryString["user_id"];//支付宝用户id
                     string token = Request.QueryString["token"];	//授权令牌
                     Label4.Text = user_id.ToString();
                     Session["token"] = token;
                     Session["App"] = user_id;
                 }
                 else {
                     Response.Write("<script>alert('登录失败');location.href='index.aspx'</script>");
                 }
             }
             else
             {
                 Response.Write("<script>alert('登录失败');location.href='index.aspx'</script>");
             }

        }
    }
    public SortedDictionary<string, string> GetRequestGet()
    {
        int i = 0;
        SortedDictionary<string, string> sPara = new SortedDictionary<string, string>();
        NameValueCollection coll;
        //Load Form variables into NameValueCollection variable.
        coll = Request.QueryString;

        // Get names of all forms into a string array.
        String[] requestItem = coll.AllKeys;

        for (i = 0; i < requestItem.Length; i++)
        {
            sPara.Add(requestItem[i], Request.QueryString[requestItem[i]]);
        }

        return sPara;
    }
}




接口特点: 1.同时提供银行卡在线支付、声讯电话支付、互联星空支付、手机短信注册、腾讯财付通、 腾讯Q币、神州行充值卡、盛大游戏点卡、支付宝、手机银行、北京宽带支付、联通充值卡 等支付途径。 2.银行卡在线支付支持国内60 余种银行卡(信用卡、储蓄卡、借记卡等)在线支付。 3.全国声讯电话支付支持全国所有省份固定电话、小灵通、中国移动、中国联通手机, 开通移动、联通、电信、网通多个声讯热线号码。 4.中国电信互联星空支付支持直接用163或ADSL上网帐号、各省互联星空网站注册用户支付。 5.支持中国移动、中国联通、中国电信小灵通手机用户发送短信点播赠送服务。 6.开放腾讯公司Q币和财付通支付接口。 7.支持50元、100元、300元、500元等多种面值的移动神州行和联通充值卡支付。 8.各支付途径可任意选择开启或关闭。 9.真正傻瓜式支付接口,提供示例程序,只需简单设置即可使用。 10.设置商户密钥,支付信息加密传递,加强支付安全性,加密系统与其他支付平台兼容。 11.贺喜支付平台(http://www.168reg.cn)提供完善的后台管理系统,提供定单管理、定单 统计、财务管理、用户资料修改、商户密钥设置、推荐用户及技术支持等功能。 12.提交支付信息时可设置服务名称、商户订单号和两个自定义字段,支付成功后实时将支 付结果返回商户网站。 13.提供接口的测试模式,方便商户快捷地开发支付接口程序。 14.您可以登录后台管理系统查看定单以下信息:定单号、用户支付金额、商户所得金额、 自定义订单号、支付日期、结帐信息等。 15.提供定单后台通知系统,彻底解决用户端返回造成的挂单、掉单现象。 16.提供宣传推广代码,推荐其他商户加盟可获得其收入的一定比例分成。 17.开放收费制商户,为商户降低支付成本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值