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();
}
最近整合做的商城整合支付宝做了一个接口大家可以参考一下
通过测试没有问题的
演示可以到这里试试
[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();
}