C#支付宝接口标准简化版

Posted on 2006-01-01 13:40  flourish  阅读(7108)  评论(0编辑  收藏  举报
C#支付宝接口标准简化版

最近整合做的商城整合支付宝做了一个接口大家可以参考一下

通过测试没有问题的

演示可以到这里试试
[url]http://shop.22dm.com[/url]

private void Page_Load(object sender, System.EventArgs e)
{

        //Server.Transfer传递数据,创建原始窗体的实例
        ConfirmOrderBill xs;
        xs=(ConfirmOrderBill)Context.Handler;

        //这是我们需要提供给支付宝的一些参数
        string t1 = "https://www.alipay.com/payto:";                                //支付接口
        string t2 = "[email]aliketen@china.com.cn[/email]";                                        //商户支付宝账户(改成你自己的)
        string t3 = "MD5校验码";                                                        //安全校验码(改成你自己的)               
        string s1 = "0001";                                                                                //cmd                        命令码
        string s2 = "宝贝商城商品订单号:"+xs.MyOrder;                                           //'subject                商品名称
        string s3 = "按该订单进行商品配送";                                                                        //'body                        商品描述
        string s4 = xs.MyOrder;                                                                                    //'order_no                商户订单号
        string s5 = xs.MyMoney;                                                                                //'price                商品单价
        string s6 =        "0.00";                                                                                //'ordinary_fee        平邮运费
        string s7 =        "0.00";                                                                            //'express_fee        快递运费
        string s8 = "1";                                                            // type 这里是设置属于商品交易
        string s9 = "1";                                                            // number 商品数量
        string AliPayUrl = URL(t1,t2,t3,s1,s2,s3,s4,s5,s6,s7,s8,s9);

        Response.Redirect(""+AliPayUrl+"");
        Response.End();
}

//拼凑支付宝需要的传出参数
public string URL(string t1,string t2,string t3,string s1,string s2,string s3,string s4,string s5,string s6,string s7,string s8,string s9)
{
        string str2CreateAc=null,itemURL=null;
        string INTERFACE_URL=null,sellerEmail=null,keyCode=null;
        INTERFACE_URL        = t1+t2;
        sellerEmail                = t2;
        keyCode                        = t3;
        str2CreateAc        =        "cmd" + s1 + "subject" + s2;
        str2CreateAc        =        str2CreateAc + "body" + s3;
        str2CreateAc        =        str2CreateAc + "order_no" + s4;
        str2CreateAc        =        str2CreateAc + "price" + s5;
        str2CreateAc        =        str2CreateAc + "type" + s8;
        str2CreateAc        =        str2CreateAc + "number" + s9;
        str2CreateAc        =        str2CreateAc + "seller" + sellerEmail;
        str2CreateAc        =        str2CreateAc + keyCode;
        string acCode        =         GetMD5(str2CreateAc);
        itemURL                        =         INTERFACE_URL + "?cmd=" + s1;
        itemURL                        =         itemURL + "&subject=" + s2;
        itemURL                        =         itemURL + "&body=" +  s3;
        itemURL                        =         itemURL + "&order_no=" + s4;
        itemURL                        =         itemURL + "&price=" + s5;
        itemURL                        =         itemURL + "&type=" + s8;
        itemURL                        =         itemURL + "&number=" +s9;
        itemURL                        =         itemURL + "&ac=" + acCode;
        return itemURL;
}


//对中文字符串的处理办法
public  string GetMD5(string s)
{
        MD5 md5 = new MD5CryptoServiceProvider();
        byte[] t = md5.ComputeHash(Encoding.GetEncoding("gb2312").GetBytes(s) );
        StringBuilder sb = new StringBuilder(32);
        for(int i=0; i<t.Length; i++)
        {
                sb.Append( t[i].ToString("x").PadLeft(2, '0'));
        }
        return sb.ToString();
}

Copyright © 2024 flourish
Powered by .NET 8.0 on Kubernetes