支付宝Payto接口用c#.net实现的代码
支付方式比较多象网银在线等使用的方法都是url验证,就是通过url参数和一个这些url参数的md5编码来确认这个连接的正确性,支付宝在你购买成功后跳转自定义连接的时候会传2次过来,第一次是数据底层请求,第二次是web请求,而只有第一次有验证码,这个只能通过记录下来才看的到,因为两次请求间隔很小,如果光显示的话最后的结果是被第二次覆盖了的。所以在接收的时候就要设定接收条件,一种是没有notify_type参数的,一种是有的。
我们先来看一下创建一个连接地址
| t1=ConfigurationSettings.AppSettings["interface"];//支付接口,就是给的一个连接地址 t2=ConfigurationSettings.AppSettings["account"];//支付宝帐户你的帐户 t3=ConfigurationSettings.AppSettings["password"];//安全校验码,设置的商家验证码 t4="images/logo_zfbsmall.gif";//按钮图片地址 t5="test";//悬停说明 cmd="0001";//默认 subject="item";//商品名称 body="decrip";//描述 order_no=;//定单号,用户自己生成,方便自己管理 prices=100;//价格0.01~50000.00 rurl="http://www.xxx.com/";//商品展示网址 types="1";//1:商品购买2:服务购买3:网络拍卖4:捐赠 number="1";//购买数量 transport="3";//1:平邮2:快递3:虚拟物品 ordinary_fee="";//平邮运费 express_fee="";//快递运费 readonlys="true";//交易信息是否只读 buyer_msg="";//买家给卖家的留言 buyer="";//买家Email buyer_name="";//买家姓名 buyer_address="";//买家地址 buyer_zipcode="";//买家邮编 buyer_tel="";//买家电话号码 buyer_mobile="";//买家手机号码 partner=ConfigurationSettings.AppSettings["partenid"];//合作伙伴ID,这个是固定的 |
上面就是要提供得基本信息,然后就是生成支付宝得连接,也就是给支付宝提供一条带验证的购买信息。
public string creatAlipayItemURL(string t1,string t2,string t3,string t4,string t5,string cmd,string subject,string body,string order_no,string prices,string rurl,string types,string number,string transport,string ordinary_fee,string express_fee,string readonlys,string buyer_msg,string buyer,string buyer_name,string buyer_address,string buyer_zipcode,string buyer_tel,string buyer_mobile,string partner) str2CreateAc="cmd" + cmd + "subject" + subject; //acCode=FormsAuthentication.HashPasswordForStoringInConfigFile(str2CreateAc,"MD5"); |
这个函数就是返回生成的地址,里面注释掉的看你自己需要可以添加进去,然后就是md5码的问题,现在用默认的md5生成程序对中文的支持只限于GB2312,而支付宝使用的是GBK,虽然两个编码的内容GBK兼容GB2312但是毕竟两个编码方式不同,所以会产生错误,如果用英文或者数字不会有问题。上面下载里面带的一个md5.asp的算法支持中文。











文章评论
共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面