我支付宝里订单上限已经全部删除了,还是不可以q币充值上限

&&&新闻热线:021-
支付新规之后,支付宝、微信每月有了上限?你理解错了
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp《非银行支付机构网络支付业务管理办法》(以下简称《办法》)在7月1日正式生效。《办法》第六条要求,非银行支付机构(以下简称支付机构)应当对客户实行实名制管理,登记并采取有效措施验证客户身份基本信息。&nbsp&nbsp&nbsp&nbsp《办法》的实施,直接影响了支付宝、微信等支付机构用户的使用。对于支付宝而言,如用户的账户不进行实名认证,则无法接收来自他人的红包、打赏、转账等,需要补全身份信息才能收款;对于微信支付而言,用户不实名则通过微信收钱、使用零钱发红包等功能均会受限。&nbsp&nbsp&nbsp&nbsp此外,根据《办法》,对已经实名认证的个人支付账户,支付机构还须依不同身份核实方式对用户进行分类管理。&nbsp&nbsp&nbsp&nbsp三类账户支付限额不同&nbsp&nbsp&nbsp&nbsp根据《办法》第十一条,支付机构的个人支付账户根据不同的身份核实方式分为三类,并且在不同分类下,对余额付款的功能和额度作出了不同的限制。&nbsp&nbsp&nbsp&nbsp在余额付款功能上,I类和II类账户的余额可用于消费和转账,而实名验证强度最高的Ⅲ类账户余额,则在I类、II类的基础上,还可用于购买投资理财等金融类产品,如余额宝、微信理财通等。&nbsp&nbsp&nbsp&nbsp在余额付款的额度上,I类账户为自账户开立起1000元(包括支付账户向客户本人同名银行账户转账),II类、III类账户分别为年累计10万元与20万元(不包括支付账户向客户本人同名银行账户转账)。&nbsp&nbsp&nbsp&nbsp《办法》实施后,对于III类账户的额度达到最高的20万元,用户如有超额需求,是无法进行提额的,而只能通过其他支付方式进行消费、转账、购买理财产品等操作。&nbsp&nbsp&nbsp&nbsp表个人支付账户分类&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp账户类别&nbsp&nbsp&nbsp&nbsp余额付款功能&nbsp&nbsp&nbsp&nbsp余额付款限额&nbsp&nbsp&nbsp&nbsp身份核实方式&nbsp&nbsp&nbsp&nbsp支付宝&nbsp&nbsp&nbsp&nbsp微信支付&nbsp&nbsp&nbsp&nbspⅠ类账户&nbsp&nbsp&nbsp&nbsp消费、转账&nbsp&nbsp&nbsp&nbsp自账户开立起&nbsp&nbsp&nbsp&nbsp累计1000元&nbsp&nbsp&nbsp&nbsp以非面对面方式,通过至少一个外部渠道验证身份&nbsp&nbsp&nbsp&nbsp绑定一张银行卡&nbsp&nbsp&nbsp&nbsp绑定1-2张银行卡&nbsp&nbsp&nbsp&nbspⅡ类账户&nbsp&nbsp&nbsp&nbsp消费、转账&nbsp&nbsp&nbsp&nbsp年累计10万元&nbsp&nbsp&nbsp&nbsp面对面验证身份,或以非面对面方式,通过至少三个外部渠道验证身份&nbsp&nbsp&nbsp&nbsp在I类基础上,上传身份证、或再绑定一张不同银行的银行卡&nbsp&nbsp&nbsp&nbsp绑定3-4张银行卡&nbsp&nbsp&nbsp&nbspⅢ类账户&nbsp&nbsp&nbsp&nbsp消费、转账、&nbsp&nbsp&nbsp&nbsp投资理财&nbsp&nbsp&nbsp&nbsp年累计20万元&nbsp&nbsp&nbsp&nbsp面对面验证身份,或以非面对面方式,通过至少五个外部渠道验证身份&nbsp&nbsp&nbsp&nbsp在II类基础上,再加2项验证,如在支付宝中交水电煤、买火车票或机票、买保险或开通芝麻信用&nbsp&nbsp&nbsp&nbsp绑定5张以上银行卡&nbsp&nbsp&nbsp&nbsp银行卡支付不占用额度&nbsp&nbsp&nbsp&nbsp以上对于支付机构的余额付款限额,也可能会让很多人形成了误解――以为只要是通过支付机构的消费和转账,就受额度限制,这样的话,岂不是每年通过支付宝、微信支付平台的消费都有了额度上限?特别是对于I类账户而言,1000元的限额,即使对于小额消费,也似乎明显不足够。&nbsp&nbsp&nbsp&nbsp实际上的情况并非如此,这是因为“余额付款”仅仅是支付机构各类付款方式中的一种,如通过支付平台使用银行账户渠道进行支付,则完全不受此影响。往后,用户只要适当注意使用方法,配合多种支付途径使用,可以说,这项规定对市民日常支付的正常需求并不会有太大影响。&nbsp&nbsp&nbsp&nbsp以下对最常用的两个支付平台――支付宝和微信支付的基本规则和使用方法进行了归纳。&nbsp&nbsp&nbsp&nbsp支付宝:&nbsp&nbsp&nbsp&nbsp对于支付宝而言,以上三类账户的支付限额,是针对使用支付宝余额支付转账给他人、消费、购买理财(含余额宝)的限额。用户可在支付宝手机APP中--中查看当前余额支付额度(如为20万元/年,则对应III类账户,以此类推)。&nbsp&nbsp&nbsp&nbsp除了“支付宝余额”以外,支付宝平台还支持网银、卡通(绑定成为支付宝快捷支付银行)和蚂蚁花呗三种支付方式。用户平日在使用中,只要选对支付途径,就不会平白无故地占用了支付额度、影响使用。&nbsp&nbsp&nbsp&nbsp在新规的额度限制下,用网银支付购买余额宝的方法,就不值得推荐了。网银支付,即指网银充值,指用户通过网银将储蓄卡中的资金充值到支付宝(网银功能需提前在相关银行网点开通)。&nbsp&nbsp&nbsp&nbsp根据支付宝方面的规定,钱只能通过网银充值到支付宝余额,再从余额中转入余额宝或用于消费。这样,资金在余额中一进一出,既没有发挥出太大的效用,也显然占用了余额的付款限额。&nbsp&nbsp&nbsp&nbsp相比之下,如通过将银行卡绑定支付宝快捷支付的方式,进行消费、转账或购买理财产品,就不会占用支付宝余额的使用限额了。快捷支付虽不受I类、II类和III类账户的支付额度限制,但根据储蓄卡、信用卡的卡种不同,以及各家银行的不同,会有不同的单笔、单日及单月支付额度限制。此外,对于II类、III类账户而言,从余额提现/转账到本人储蓄卡,或还本人信用卡也是不受支付额度限制的。&nbsp&nbsp&nbsp&nbsp最后,使用蚂蚁花呗进行支付,同样不属于余额支付。同时,“花呗”也与信用卡功能类似,原本就会针对不同用户给出不同的授信额度,因此也完全不会受三类账户的支付额度限制。&nbsp&nbsp&nbsp&nbsp微信支付:&nbsp&nbsp&nbsp&nbsp用户如需知道自己的账户在微信支付平台中属于第几类账户,不能在手机微信上直接查询,而只能通过致电微信支付客服电话(95017),并进入人工客服的方法进行查询。&nbsp&nbsp&nbsp&nbsp在支付方式上,与支付宝类似,微信支付中的支付限额同样只针对于“微信零钱”的消费、转账和购买理财产品,而不包括任何形式的银行卡支付。如果用绑定的信用卡进行消费、或是用储蓄卡进行转账或还信用卡,都不会占用支付额度。不过,与支付宝不同的是,微信支付中,如使用微信零钱进行信用卡还款,也同样会占用余额支付限额。&nbsp&nbsp&nbsp&nbsp另外,微信支付以用户曾经绑定过的银行卡数量来决定账户的类别。如果用户既想提高账户等级,又不想同时绑定太多银行卡,则可以采用先绑定、后解绑的方式。例如,只要曾经绑定过5张以上不同的银行卡,则无论目前是否解绑,就都可称为III类账户。
东方网()版权所有,未经授权禁止复制或建立镜像
支付新规之后,支付宝、微信每月有了上限?你理解错了
日 18:43 来源:理财周刊
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp《非银行支付机构网络支付业务管理办法》(以下简称《办法》)在7月1日正式生效。《办法》第六条要求,非银行支付机构(以下简称支付机构)应当对客户实行实名制管理,登记并采取有效措施验证客户身份基本信息。&nbsp&nbsp&nbsp&nbsp《办法》的实施,直接影响了支付宝、微信等支付机构用户的使用。对于支付宝而言,如用户的账户不进行实名认证,则无法接收来自他人的红包、打赏、转账等,需要补全身份信息才能收款;对于微信支付而言,用户不实名则通过微信收钱、使用零钱发红包等功能均会受限。&nbsp&nbsp&nbsp&nbsp此外,根据《办法》,对已经实名认证的个人支付账户,支付机构还须依不同身份核实方式对用户进行分类管理。&nbsp&nbsp&nbsp&nbsp三类账户支付限额不同&nbsp&nbsp&nbsp&nbsp根据《办法》第十一条,支付机构的个人支付账户根据不同的身份核实方式分为三类,并且在不同分类下,对余额付款的功能和额度作出了不同的限制。&nbsp&nbsp&nbsp&nbsp在余额付款功能上,I类和II类账户的余额可用于消费和转账,而实名验证强度最高的Ⅲ类账户余额,则在I类、II类的基础上,还可用于购买投资理财等金融类产品,如余额宝、微信理财通等。&nbsp&nbsp&nbsp&nbsp在余额付款的额度上,I类账户为自账户开立起1000元(包括支付账户向客户本人同名银行账户转账),II类、III类账户分别为年累计10万元与20万元(不包括支付账户向客户本人同名银行账户转账)。&nbsp&nbsp&nbsp&nbsp《办法》实施后,对于III类账户的额度达到最高的20万元,用户如有超额需求,是无法进行提额的,而只能通过其他支付方式进行消费、转账、购买理财产品等操作。&nbsp&nbsp&nbsp&nbsp表个人支付账户分类&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp账户类别&nbsp&nbsp&nbsp&nbsp余额付款功能&nbsp&nbsp&nbsp&nbsp余额付款限额&nbsp&nbsp&nbsp&nbsp身份核实方式&nbsp&nbsp&nbsp&nbsp支付宝&nbsp&nbsp&nbsp&nbsp微信支付&nbsp&nbsp&nbsp&nbspⅠ类账户&nbsp&nbsp&nbsp&nbsp消费、转账&nbsp&nbsp&nbsp&nbsp自账户开立起&nbsp&nbsp&nbsp&nbsp累计1000元&nbsp&nbsp&nbsp&nbsp以非面对面方式,通过至少一个外部渠道验证身份&nbsp&nbsp&nbsp&nbsp绑定一张银行卡&nbsp&nbsp&nbsp&nbsp绑定1-2张银行卡&nbsp&nbsp&nbsp&nbspⅡ类账户&nbsp&nbsp&nbsp&nbsp消费、转账&nbsp&nbsp&nbsp&nbsp年累计10万元&nbsp&nbsp&nbsp&nbsp面对面验证身份,或以非面对面方式,通过至少三个外部渠道验证身份&nbsp&nbsp&nbsp&nbsp在I类基础上,上传身份证、或再绑定一张不同银行的银行卡&nbsp&nbsp&nbsp&nbsp绑定3-4张银行卡&nbsp&nbsp&nbsp&nbspⅢ类账户&nbsp&nbsp&nbsp&nbsp消费、转账、&nbsp&nbsp&nbsp&nbsp投资理财&nbsp&nbsp&nbsp&nbsp年累计20万元&nbsp&nbsp&nbsp&nbsp面对面验证身份,或以非面对面方式,通过至少五个外部渠道验证身份&nbsp&nbsp&nbsp&nbsp在II类基础上,再加2项验证,如在支付宝中交水电煤、买火车票或机票、买保险或开通芝麻信用&nbsp&nbsp&nbsp&nbsp绑定5张以上银行卡&nbsp&nbsp&nbsp&nbsp银行卡支付不占用额度&nbsp&nbsp&nbsp&nbsp以上对于支付机构的余额付款限额,也可能会让很多人形成了误解――以为只要是通过支付机构的消费和转账,就受额度限制,这样的话,岂不是每年通过支付宝、微信支付平台的消费都有了额度上限?特别是对于I类账户而言,1000元的限额,即使对于小额消费,也似乎明显不足够。&nbsp&nbsp&nbsp&nbsp实际上的情况并非如此,这是因为“余额付款”仅仅是支付机构各类付款方式中的一种,如通过支付平台使用银行账户渠道进行支付,则完全不受此影响。往后,用户只要适当注意使用方法,配合多种支付途径使用,可以说,这项规定对市民日常支付的正常需求并不会有太大影响。&nbsp&nbsp&nbsp&nbsp以下对最常用的两个支付平台――支付宝和微信支付的基本规则和使用方法进行了归纳。&nbsp&nbsp&nbsp&nbsp支付宝:&nbsp&nbsp&nbsp&nbsp对于支付宝而言,以上三类账户的支付限额,是针对使用支付宝余额支付转账给他人、消费、购买理财(含余额宝)的限额。用户可在支付宝手机APP中--中查看当前余额支付额度(如为20万元/年,则对应III类账户,以此类推)。&nbsp&nbsp&nbsp&nbsp除了“支付宝余额”以外,支付宝平台还支持网银、卡通(绑定成为支付宝快捷支付银行)和蚂蚁花呗三种支付方式。用户平日在使用中,只要选对支付途径,就不会平白无故地占用了支付额度、影响使用。&nbsp&nbsp&nbsp&nbsp在新规的额度限制下,用网银支付购买余额宝的方法,就不值得推荐了。网银支付,即指网银充值,指用户通过网银将储蓄卡中的资金充值到支付宝(网银功能需提前在相关银行网点开通)。&nbsp&nbsp&nbsp&nbsp根据支付宝方面的规定,钱只能通过网银充值到支付宝余额,再从余额中转入余额宝或用于消费。这样,资金在余额中一进一出,既没有发挥出太大的效用,也显然占用了余额的付款限额。&nbsp&nbsp&nbsp&nbsp相比之下,如通过将银行卡绑定支付宝快捷支付的方式,进行消费、转账或购买理财产品,就不会占用支付宝余额的使用限额了。快捷支付虽不受I类、II类和III类账户的支付额度限制,但根据储蓄卡、信用卡的卡种不同,以及各家银行的不同,会有不同的单笔、单日及单月支付额度限制。此外,对于II类、III类账户而言,从余额提现/转账到本人储蓄卡,或还本人信用卡也是不受支付额度限制的。&nbsp&nbsp&nbsp&nbsp最后,使用蚂蚁花呗进行支付,同样不属于余额支付。同时,“花呗”也与信用卡功能类似,原本就会针对不同用户给出不同的授信额度,因此也完全不会受三类账户的支付额度限制。&nbsp&nbsp&nbsp&nbsp微信支付:&nbsp&nbsp&nbsp&nbsp用户如需知道自己的账户在微信支付平台中属于第几类账户,不能在手机微信上直接查询,而只能通过致电微信支付客服电话(95017),并进入人工客服的方法进行查询。&nbsp&nbsp&nbsp&nbsp在支付方式上,与支付宝类似,微信支付中的支付限额同样只针对于“微信零钱”的消费、转账和购买理财产品,而不包括任何形式的银行卡支付。如果用绑定的信用卡进行消费、或是用储蓄卡进行转账或还信用卡,都不会占用支付额度。不过,与支付宝不同的是,微信支付中,如使用微信零钱进行信用卡还款,也同样会占用余额支付限额。&nbsp&nbsp&nbsp&nbsp另外,微信支付以用户曾经绑定过的银行卡数量来决定账户的类别。如果用户既想提高账户等级,又不想同时绑定太多银行卡,则可以采用先绑定、后解绑的方式。例如,只要曾经绑定过5张以上不同的银行卡,则无论目前是否解绑,就都可称为III类账户。支付宝订单创建上限 请交易关闭后重试是什么意思_百度知道
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
支付宝订单创建上限 请交易关闭后重试是什么意思
  说明同一订单创建账单超过限制,可以取消关闭后进行创建付款。  具体操作流程如下,先进入支付宝界面。  点击右上角账单选项,进入下页面。  如上图便是支付宝各种交易记录账单,包括多创建的订单。  选择需要删除的账单,并长按不放即可出现删除提示。  再点击箭头所指选项,即可成功删除。
采纳率:78%
来自团队:
怎样取消呢
交易关闭咋弄
本回答被提问者采纳
为您推荐:
其他类似问题
支付宝的相关知识
换一换
回答问题,赢新手礼包查看: 42554|回复: 20
支付宝及时到帐接口使用详解
该用户从未签到
这两天写支付宝接口, 这个话题不新了, 因为很多人都 做过了, 在这里我说说我的看法吧, 先说一下实现
其实支付宝公司已经给我们做的很好了, 只要少量的改动就OK了,只是有的程序员不太明天他们的动作流程而以,我就以及时到帐为例子来说了,呵呵
在这之前就大家先下载一下c#版的及时到帐代码
先看一下程序的结构吧
zhifubai1.png (10.94 KB, 下载次数: 654)
07:20 上传
支付宝有一个类文件叫 AliPay 是一些加密算法之类的东西,包括构造URL
要吧看一下这个类的全部内容
[C#] 纯文本查看 复制代码using System.W
using System.T
using System.Security.C
using System.IO;
using System.N
/// &summary&
/// New Interface for AliPay
/// &/summary&
namespace Gateway
public class AliPay
/// &summary&
/// 与ASP兼容的MD5加密算法
/// &/summary&
public static string GetMD5(string s, string _input_charset)
MD5 md5 = new MD5CryptoServiceProvider();
byte[] t = puteHash(Encoding.GetEncoding(_input_charset).GetBytes(s));
StringBuilder sb = new StringBuilder(32);
for (int i = 0; i & t.L i++)
sb.Append(t.ToString(&x&).PadLeft(2, '0'));
return sb.ToString();
/// &summary&
/// 冒泡排序法
/// 按照字母序列从a到z的顺序排列
/// &/summary&
public static string[] BubbleSort(string[] r)
int i, //交换标志
for (i = 0; i & r.L i++) //最多做R.Length-1趟排序
exchange = //本趟排序开始前,交换标志应为假
for (j = r.Length - 2; j &= j--)
{//交换条件
if (pareOrdinal(r[j + 1], r[j]) & 0)
temp = r[j + 1];
r[j + 1] = r[j];
exchange = //发生了交换,故将交换标志置为真
if (!exchange) //本趟排序未发生交换,提前终止算法
/// &summary&
/// 生成URL链接或加密结果
/// &/summary&
/// &param name=&para&&参数加密数组&/param&
/// &param name=&_input_charset&&编码格式&/param&
/// &param name=&sign_type&&加密类型&/param&
/// &param name=&key&&安全校验码&/param&
/// &returns&字符串URL或加密结果&/returns&
public static string CreatUrl(
//string gateway,//GET方式传递参数时请去掉注释
string[] para,
string _input_charset,
string sign_type,
string key
//进行排序;
string[] Sortedstr = BubbleSort(para);
//构造待md5摘要字符串 ;
StringBuilder prestr = new StringBuilder();
for (i = 0; i & Sortedstr.L i++)
if (i == Sortedstr.Length - 1)
prestr.Append(Sortedstr);
prestr.Append(Sortedstr + &&&);
prestr.Append(key);
//生成Md5摘要;
string sign = GetMD5(prestr.ToString(), _input_charset);
//以下是POST方式传递参数
//以下是GET方式传递参数
//构造支付Url;
char[] delimiterChars = { '='};
StringBuilder parameter = new StringBuilder();
parameter.Append(gateway);
for (i = 0; i & Sortedstr.L i++)
{//UTF-8格式的编码转换
parameter.Append(Sortedstr.Split(delimiterChars)[0] + &=& + HttpUtility.UrlEncode(Sortedstr.Split(delimiterChars)[1]) + &&&);
parameter.Append(&sign=& + sign + &&sign_type=& + sign_type);
//返回支付Url;
return parameter.ToString();
//获取远程服务器ATN结果,验证是否是支付宝服务器发来的请求
public static string Get_Http(string a_strUrl, int timeout)
string strR
HttpWebRequest myReq = (HttpWebRequest)HttpWebRequest.Create(a_strUrl);
myReq.Timeout =
HttpWebResponse HttpWResp = (HttpWebResponse)myReq.GetResponse();
Stream myStream = HttpWResp.GetResponseStream();
StreamReader sr = new StreamReader(myStream, Encoding.Default);
StringBuilder strBuilder = new StringBuilder();
while (-1 != sr.Peek())
strBuilder.Append(sr.ReadLine());
strResult = strBuilder.ToString();
catch (Exception exp)
strResult = &错误:& + exp.M
return strR
而我们一般不用管这个类,只要保证能调用 的到就行了,不用管他
我们要做的很少,他是怎么工作的呢,
zhifubai2.png (93.05 KB, 下载次数: 539)
07:20 上传
这是开发文档里的工作图
其实我们要处理的只有三个Aspx的文件,
先看第一个吧 Default.aspx
这是一个请求的界面
[C#] 纯文本查看 复制代码using S
using System.D
using System.C
using System.W
using System.Web.S
using System.Web.UI;
using System.Web.UI.WebC
using System.Web.UI.WebControls.WebP
using System.Web.UI.HtmlC
public partial class _Default : System.Web.UI.Page
protected void Page_Load(object sender, EventArgs e)
protected void BtnAlipay_Click(object sender, EventArgs e)
//业务参数赋值;
string gateway = &/cooperate/gateway.do?&;
//支付接口
string service = &create_direct_pay_by_user&;
//服务名称,这个是识别是何接口实现何功能的标识,请勿修改
string seller_email = &写自己的&;
//商家签约时的支付宝帐号,即收款的支付宝帐号
string sign_type = &MD5&;
//加密类型,签名方式“不用改”
string key = &写自己的&;
//安全校验码,与partner是一组,获取方式是:用签约时支付宝帐号登陆支付宝网站[url=/][/url],在商家服务我的商家里即可查到。
string partner = &写自己的&;
//商户ID,合作身份者ID,合作伙伴ID
string _input_charset = &utf-8&;
//编码类型,完全根据客户自身的项目的编码格式而定,千万不要填错。否则极其容易造成MD5加密错误。
string show_url = &/&;
//展示地址,即在支付页面时,商品名称旁边的“详情”的链接地址。
string out_trade_no = TxtOrderno.Text.Trim();
//客户自己的订单号,订单号必须在自身订单系统中保持唯一性
string subject = &4.0系统支付宝充值&;
//商品名称,也可称为订单名称,该接口并不是单一的只能买一样东西,可把一次支付当作一次下订单
string body = &商户:& + TxtOrderno.Text.Trim() + &通过支付宝给自己充值:& + TxtTotal_fee.Text.Trim() + &元&;
//商品描述,即备注
string total_fee = TxtTotal_fee.Text.Trim();
//商品价格,也可称为订单的总金额
//服务器通知url(Alipay_Notify.aspx文件所在路经),必须是完整的路径地址
string notify_url = [url=http://0.0.6.108/Alipay/Alipay_Notify.]http://0.0.6.108/Alipay/Alipay_Notify.[/url]
//服务器返回url(Alipay_Return.aspx文件所在路经),必须是完整的路径地址
string return_url = [url=http://0.0.6.108/Alipay/Alipay_Return.]http://0.0.6.108/Alipay/Alipay_Return.[/url]
//构造数组;
//以下数组即是参与加密的参数,若参数的值不允许为空,若该参数为空,则不要成为该数组的元素
string[] para ={
&service=&+service,
&partner=& + partner,
&seller_email=& + seller_email,
&out_trade_no=& + out_trade_no,
&subject=& + subject,
&body=& + body,
&total_fee=& + total_fee,
&show_url=& + show_url,
&payment_type=1&,
&notify_url=& + notify_url,
&return_url=& + return_url,
&_input_charset=&+_input_charset
//支付URL生成
string aliay_url = AliPay.CreatUrl(
//gateway,//GET方式传递参数时请去掉注释
_input_charset,
sign_type,
//以下是GET方式传递参数
//Response.Redirect(aliay_url);
//以下是POST方式传递参数
Response.Write(&&form name='alipaysubmit' method='post' action='/cooperate/gateway.do?_input_charset=utf-8'&&);
Response.Write(&&input type='hidden' name='service' value=& + service + &&&);
Response.Write(&&input type='hidden' name='partner' value=& + partner + &&&);
Response.Write(&&input type='hidden' name='seller_email' value=& + seller_email + &&&);
Response.Write(&&input type='hidden' name='out_trade_no' value=& + out_trade_no + &&&);
Response.Write(&&input type='hidden' name='subject' value=& + subject + &&&);
Response.Write(&&input type='hidden' name='body' value=& + body + &&&);
Response.Write(&&input type='hidden' name='total_fee' value=& + total_fee + &&&);
Response.Write(&&input type='hidden' name='show_url' value=& + show_url + &&&);
Response.Write(&&input type='hidden' name='return_url' value=& + return_url + &&&);
Response.Write(&&input type='hidden' name='notify_url' value=& + notify_url + &&&);
Response.Write(&&input type='hidden' name='payment_type' value=1&&);
Response.Write(&&input type='hidden' name='sign' value=& + aliay_url + &&&);
Response.Write(&&input type='hidden' name='sign_type' value=& + sign_type + &&&);
Response.Write(&&/form&&);
Response.Write(&&script&&);
Response.Write(&document.alipaysubmit.submit()&);
Response.Write(&&/script&&);
代码里的key和 partner的获取方法
zhifubai4.png (6 KB, 下载次数: 549)
07:20 上传
现在我们只要按代码里的信息填写一样就可以了,
然后远行网页
zhifubai5.png (64.79 KB, 下载次数: 531)
07:20 上传
下面的操作就是在支付平台的完成了, 跟咱的程序没有关系了
现在我们应该想,那付完钱之后呢?
我们有两个界面来处理这个问题一个是
Alipay_Return.aspx
[C#] 纯文本查看 复制代码using S
using System.D
using System.C
using System.C
using System.W
using System.Web.S
using System.Web.UI;
using System.Web.UI.WebC
using System.Web.UI.WebControls.WebP
using System.Web.UI.HtmlC
using System.T
using System.Collections.S
using System.IO;
/// &summary&
/// 创建该页面文件时,请留心该页面文件是可以对其进行美工处理的,原因在于支付完成以后,当前窗口会从支付宝的页面跳转回这个页面。
/// 该页面称作“返回页”,是同步被支付宝服务器所调用,可当作是支付完成后的提示信息页,如“您的某某某订单,多少金额已支付成功”。
/// &/summary&
public partial class Alipay_Return : System.Web.UI.Page
protected void Page_Load(object sender, EventArgs e)
string alipayNotifyURL = &/cooperate/gateway.do?service=notify_verify&;
//string alipayNotifyURL = &/trade/notify_query.do?&;//此路径是在上面链接地址无法起作用时替换使用。
string key = &写自己的&; //partner 的对应交易安全校验码(必须填写)
string partner = &写自己的&;
//partner合作伙伴id(必须填写)
string _input_charset = &utf-8&;//编码类型,完全根据客户自身的项目的编码格式而定,千万不要填错。否则极其容易造成MD5加密错误。
alipayNotifyURL = alipayNotifyURL + &&partner=& + partner + &¬ify_id=& + Request.QueryString[&notify_id&];
//获取支付宝ATN返回结果,true是正确的订单信息,false 是无效的
string responseTxt = AliPay.Get_Http(alipayNotifyURL, 120000);
//*******加密签名程序开始//*******
NameValueC
//Load Form variables into NameValueCollection variable.
coll = Request.QueryS
// Get names of all forms into a string array.
String[] requestarr = coll.AllK
//进行排序;
string[] Sortedstr = AliPay.BubbleSort(requestarr);
//构造待md5摘要字符串 ;
StringBuilder prestr = new StringBuilder();
for (i = 0; i & Sortedstr.L i++)
if (Request.Form[Sortedstr] != && && Sortedstr != &sign& && Sortedstr != &sign_type&)
if (i == Sortedstr.Length - 1)
prestr.Append(Sortedstr + &=& + Request.QueryString[Sortedstr]);
prestr.Append(Sortedstr + &=& + Request.QueryString[Sortedstr] + &&&);
prestr.Append(key);
//生成Md5摘要;
string mysign = AliPay.GetMD5(prestr.ToString(), _input_charset);
//*******加密签名程序结束*******
string sign = Request.QueryString[&sign&];
Response.Write(prestr.ToString());
//调试用,支付宝服务器返回时的完整路径。
if (mysign == sign && responseTxt == &true&)
//验证支付发过来的消息,签名是否正确
//更新自己数据库的订单语句,请自己填写一下
string strOrderNO = Request.QueryString[&out_trade_no&];//订单号
string strPrice = Request.QueryString[&total_fee&];//金额
string strTradeStatus = Request.QueryString[&TRADE_STATUS&];//订单状态
//以下都是自己处理订单的方法了最后才要输出如下内容
Response.Write(&商户:& + login[1].ToString().Trim() + &&br&金额:& + strPrice + &
交易成功&);
//成功,可美化该页面,提示信息
////写文本,纪录支付宝返回消息,比对md5计算结果(如网站不支持写txt文件,可改成写数据库)
string TOEXCELLR = &MD5结果:mysign=& + mysign + &,sign=& + sign + &,responseTxt=& + responseTxt + &
交易信息& + &商户:& + login[1].ToString().Trim() + &&br&金额:& + strPrice + &
交易成功&;
StreamWriter fs = new StreamWriter(Server.MapPath(&Return_DATA/& + DateTime.Now.ToString().Replace(&:&, &&)) + &.txt&, false, System.Text.Encoding.Default);
fs.Write(TOEXCELLR);
fs.Close();
Response.Write(&------------------------------------------&);
Response.Write(&&br&Result:responseTxt=& + responseTxt);
Response.Write(&&br&Result:mysign=& + mysign);
Response.Write(&&br&Result:sign=& + sign);
Response.Write(&支付失败&);
////写文本,纪录支付宝返回消息,比对md5计算结果(如网站不支持写txt文件,可改成写数据库)
string TOEXCELLR = &MD5结果:mysign=& + mysign + &,sign=& + sign + &,responseTxt=& + responseT
StreamWriter fs = new StreamWriter(Server.MapPath(&Return_DATA/& + DateTime.Now.ToString().Replace(&:&, &&)) + &.txt&, false, System.Text.Encoding.Default);
fs.Write(TOEXCELLR);
fs.Close();
//支付失败,提示信息
这个是当交易成功后要调用 的界面 在这里只要改动一下就行了, 其实我们要做的只是改一下这里,只要在这里更新一下你的数据库就行了
[C#] 纯文本查看 复制代码//生成对象
//OfficeFinanceServices objOfficeFinanceServices = new OfficeFinanceServices();
//订单信息
string[] login = strOrderNO.Split(new string[] { &_& }, StringSplitOptions.RemoveEmptyEntries);
////查询当前的余额
//decimal objdm = objOfficeFinanceServices.OfficeFinanceSelect(Convert.ToInt32(login[0].ToString().Trim()), true);
//OfficeFinance objofficeFinance = new OfficeFinance();
//objofficeFinance.ofId = Convert.ToInt32(login[0].ToString().Trim());
//objofficeFinance.ofOrid = &cz&;
//objofficeFinance.ofTime = DateTime.N
//objofficeFinance.ofType = 1;
//objofficeFinance.ofAmount = Convert.ToDecimal(strPrice.ToString().Trim());
//objofficeFinance.ofRemainAmount = Convert.ToDecimal(strPrice.ToString().Trim()) +
//objofficeFinance.ofIsCurrentValue = 1;
//objofficeFinance.ofUserId = -10;
//objofficeFinance.ofNote1 = &支付宝上帐:& + strPrice.ToString().Trim() + &元&;
//objofficeFinance.ofNote2 = &商户:& + login[1].ToString().Trim() + &
通过支付宝上帐金额:& + strPrice + &元&;
//objOfficeFinanceServices.addOfficeFinanceOne(objofficeFinance);
大家现在会问我为什么会把他们注释了呢?
我测试过,,这个界面呢是只到成功的时候 调用 一次以后就再不会调用 了,
所以这样有一个不好的地方 ,就是有些客户他们对转帐操作的很老手,当交易成功之后不等调用这个界面就关闭了浏览器,这个时候会出现什么问题呢?
那支付宝就再也不会调用这个界面 了,只能等下次交易,钱是打上了,我们也收到了,但是就是没有给客户充上钱,这个时候客户就会打电话到公司,怎么回事啊, 钱打过去了, 可是我这边还没有上帐,我们上支付宝一看有啊,但就是没有上帐 ,怎么办,最后只能手动给客户上了,但又怕他程序再自动上一把,呵呵
所以在这里不我建议使用这个页面,如果你只是修改自己的订单状态的话当然是可以的
修改余额就不要在这里写了,而是写在这个Alipay_Notify.aspx页面里,这个界面是当交易状态 发生变化时就会调用 ,在没有收到成功的消息前就会一直调用,
时效是24小时,这样的话我们就不用管他是不是转到了成功页面了,只要把这个页面挂在网上等通知就行了,
当交易成功的时候上帐 就OK了
[C#] 纯文本查看 复制代码using S
using System.D
using System.C
using System.C
using System.W
using System.Web.S
using System.Web.UI;
using System.Web.UI.WebC
using System.Web.UI.WebControls.WebP
using System.Web.UI.HtmlC
using System.T
using System.Collections.S
using System.IO;
using SystemM
/// &summary&
/// 创建该页面文件时,请留心该页面文件中无任何HTML代码及空格。
/// 该页面称作“通知页”,是异步被支付宝服务器所调用。
/// 当支付宝的订单状态改变时,支付宝服务器则会自动调用此页面,因此请做好自身网站订单信息与支付宝上的订单的同步工作
/// &/summary&
public partial class Alipay_Notify : System.Web.UI.Page
protected void Page_Load(object sender, EventArgs e)
string alipayNotifyURL = &/cooperate/gateway.do?service=notify_verify&;
//string alipayNotifyURL = &/trade/notify_query.do?&;//此路径是在上面链接地址无法起作用时替换使用。
string partner = &写自己的&;
//partner合作伙伴id(必须填写)
string key = &写自己的&; //partner 的对应交易安全校验码(必须填写)
string _input_charset = &utf-8&;//编码类型,完全根据客户自身的项目的编码格式而定,千万不要填错。否则极其容易造成MD5加密错误。
alipayNotifyURL = alipayNotifyURL + &&partner=& + partner + &¬ify_id=& + Request.Form[&notify_id&];
//获取支付宝ATN返回结果,true是正确的订单信息,false 是无效的
string responseTxt = AliPay.Get_Http(alipayNotifyURL, 120000);
//*******加密签名程序开始*******
NameValueC
//Load Form variables into NameValueCollection variable.
coll = Request.F
// Get names of all forms into a string array.
String[] requestarr = coll.AllK
//进行排序;
string[] Sortedstr = AliPay.BubbleSort(requestarr);
//构造待md5摘要字符串 ;
StringBuilder prestr = new StringBuilder();
for (i = 0; i & Sortedstr.L i++)
if (Request.Form[Sortedstr] != && && Sortedstr != &sign& && Sortedstr != &sign_type&)
if (i == Sortedstr.Length - 1)
prestr.Append(Sortedstr + &=& + Request.Form[Sortedstr]);
prestr.Append(Sortedstr + &=& + Request.Form[Sortedstr] + &&&);
prestr.Append(key);
string mysign = AliPay.GetMD5(prestr.ToString(), _input_charset);
//*******加密签名程序结束*******
string sign = Request.Form[&sign&];
if (mysign == sign && responseTxt == &true&)
//验证支付发过来的消息,签名是否正确,只要成功进如这个判断里,则表示该页面已被支付宝服务器成功调用
//但判断内出现自身编写的程序相关错误导致通知给支付宝并不是发送success的消息或没有更新客户自身的数据库的情况,请自身程序编写好应对措施,否则查明原因时困难之极
if (Request.Form[&trade_status&] == &WAIT_BUYER_PAY&)//
判断支付状态_等待买家付款(文档中有枚举表可以参考)
//更新自己数据库的订单语句,请自己填写一下
string strOrderNO = Request.Form[&out_trade_no&];//订单号
string strPrice = Request.Form[&total_fee&];//金额
如果你申请了商家购物卷功能,在返回信息里面请不要做金额的判断,否则会校验通过不了。
string TOEXCELL = &MD5结果:mysign=& + mysign + &,sign=& + sign + &,responseTxt=& + responseT
StreamWriter f = new StreamWriter(Server.MapPath(&Notify_DATA/& + DateTime.Now.ToString().Replace(&:&, &&)) + &.txt&, false, System.Text.Encoding.Default);
f.Write(TOEXCELL + &订单号:& + strOrderNO.ToString().Trim() + &
金额:& + strPrice.ToString().Trim());
f.Close();
//以下是我处理自己的订单状态
Alipaym objalipay = new Alipaym();
objalipay.APID = strOrderNO;
objalipay.addTime = DateTime.N
objalipay.total_fee = Convert.ToDecimal(strPrice);
objalipay.trade_status = &等待买家付款&;
objalipay.Text1 = DateTime.Now.ToString();
objalipay.Text2 = &&;
objalipay.Text3 = &&;
objalipay.Text4 = &&;
objalipay.Text5 = &&;
OfficeFinanceServices.Update(objalipay);
else if (Request.Form[&trade_status&] == &TRADE_FINISHED& || Request.Form[&trade_status&] == &TRADE_SUCCESS&)//
判断支付状态_交易成功结束(文档中有枚举表可以参考)
//更新自己数据库的订单语句,请自己填写一下
string strOrderNO = Request.Form[&out_trade_no&];//订单号
string strPrice = Request.Form[&total_fee&];//金额
//生成对象
OfficeFinanceServices objOfficeFinanceServices = new OfficeFinanceServices();
//订单信息
string[] login = strOrderNO.Split(new string[] { &_& }, StringSplitOptions.RemoveEmptyEntries);
////查询当前的余额
decimal objdm = objOfficeFinanceServices.OfficeFinanceSelect(Convert.ToInt32(login[0].ToString().Trim()), true);
OfficeFinance objofficeFinance = new OfficeFinance();
objofficeFinance.ofId = Convert.ToInt32(login[0].ToString().Trim());
objofficeFinance.ofOrid = &cz&;
objofficeFinance.ofTime = DateTime.N
objofficeFinance.ofType = 1;
objofficeFinance.ofAmount = Convert.ToDecimal(strPrice.ToString().Trim());
objofficeFinance.ofRemainAmount = Convert.ToDecimal(strPrice.ToString().Trim()) +
objofficeFinance.ofIsCurrentValue = 1;
objofficeFinance.ofUserId = -10;
objofficeFinance.ofNote1 = &支付宝上帐:& + strPrice.ToString().Trim() + &元&;
objofficeFinance.ofNote2 = &商户:& + login[1].ToString().Trim() + &
通过支付宝上帐金额:& + strPrice + &元&;
if (objOfficeFinanceServices.addOfficeFinanceOne(objofficeFinance))
Response.Write(&success&);
Alipaym objalipay = new Alipaym();
objalipay.APID = strOrderNO;
objalipay.addTime = DateTime.N
objalipay.total_fee = Convert.ToDecimal(strPrice);
objalipay.trade_status = &交易成功&;
objalipay.Text1 = DateTime.Now.ToString();
objalipay.Text2 = &&;
objalipay.Text3 = &&;
objalipay.Text4 = &&;
objalipay.Text5 = &&;
OfficeFinanceServices.Update(objalipay);
Response.Write(&fail&);
//更新自己数据库的订单语句,请自己填写一下
//Response.Write(&success&);
//返回给支付宝消息,成功,请不要改写这个success
//success与fail及其他字符的区别在于,支付宝的服务器若遇到success时,则不再发送请求通知(即不再调用该页面,让该页面再次运行起来),
//若不是success,则支付宝默认没有收到成功的信息,则会反复不停地调用该页面直到失效,有效调用时间是24小时以内。
////写文本,纪录支付宝返回消息,比对md5计算结果(如网站不支持写txt文件,可改成写数据库)
string TOEXCELLR = &MD5结果:mysign=& + mysign + &,sign=& + sign + &,responseTxt=& + responseT
StreamWriter fs = new StreamWriter(Server.MapPath(&Notify_DATA/& + DateTime.Now.ToString().Replace(&:&, &&)) + &.txt&, false, System.Text.Encoding.Default);
fs.Write(TOEXCELLR);
fs.Close();
Response.Write(&fail&);
//写文本,纪录支付宝返回消息,比对md5计算结果(如网站不支持写txt文件,可改成写数据库)
string TOEXCELLR = &MD5结果:mysign=& + mysign + &,sign=& + sign + &,responseTxt=& + responseT
StreamWriter fs = new StreamWriter(Server.MapPath(&Notify_DATA/& + DateTime.Now.ToString().Replace(&:&, &&)) + &.txt&, false, System.Text.Encoding.Default);
fs.Write(TOEXCELLR);
fs.Close();
最好是记录一下日志文件,这样一但出了问题还可以有个参考的地方
我的代码写的有点乱大家可以适当的改一下,呵呵
短短两年的时间,我公司也写过不少接口方面的东东了,在这里和大家分享我的心得和体会,一般人一说到和什么接口对接可能会感觉 到很难,或是感觉很利害的样子,如果是和银行的接口对接,那首先想到的就是安全问题,再就是技术含量,其实不然,接口的产生是为了方便双方的合作,基本没有听说过有那两家公司因为程序对接 不上而放弃合作的,基本没有,都是其它方面的原因,接口是为了方便对接和不同公司和程序之间的交互和通信的,都是为了方便,不是我们想像的那样难,高技术含量,要说技术含量吧也是有一些
我根据自己的开发心得总结一下吧
这种方式的做法是,服务方提供一个方法,但是一般会在第一个参数或是最后一个参数验证一下加密串,这个加密串一般是用所传的参数组合加密而来,最常见的就是MD5加密了,像支付宝的就是。我把这一类型的看做是最低级的一种,因为这种是最不安全的,只要我知道了你的加密算法和后就可以自己改动参数了
对于Http的方法最重要的只有一个方法
[C#] 纯文本查看 复制代码 /// &summary&
/// 请求指定 URL 资源,并获取响应结果
/// &/summary&
/// &param name=&url&&需要请求的 URL 资源&/param&
/// &returns&
/// 响应结果;
/// 出现任意异常,均返回字串&Runtime Error&
/// &/returns&
private string RequestContent(string url)
string content = string.E
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.KeepAlive =
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.Default);
content = reader.ReadToEnd();
reader.Close();
catch (Exception)
content = &Runtime Error&;
只要我们把要传的参数和URL对接后传给这 个方法就算是完事了,另外在MD5加密是时间注意对方是否要区分大小写,最好是把加密串一下子全转成小写或是大写的
加密的方法一般如下
[C#] 纯文本查看 复制代码/// &summary&
/// 传入明文,返回用MD%加密后的字符串
/// &/summary&
/// &param name=&str&&要加密的字符串&/param&
/// &returns&用MD5加密后的字符串&/returns&
public static string ToMD5(string str)
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, &md5&);
在做这样的接口的时候一定要注意一定要验证的地方有三点:第一点就是验证加密串了
这里就是把所需要的参数在本地加一下密然后和服务端发来的对比
第二点就是控制页面只在首次加载时执行这个我们可以通过下面的方式来实现
[C#] 纯文本查看 复制代码if (!IsPostBack)
............
我们只要在IF块里面写我们的代码就可以了
第三点也是最关键的一点那就是验证一下请求过来的DNS或是IP
就是说你要验证一下发过来请求的来源电脑是不是你的服务商的DNS或是IP,如果不是就可以不执行程序或是提示为非法操作,这样可以防止有人知道了你的加密算法后自己生成一些代码来高乱你的程序给公司带来损失,特别是即使到账的接口,这一点一定要验证好,而且在IIS服务器最好是绑定一下IP,只接收授权的IP发来的消息。这样基本可以保证安全问题了。
好了对于 这种方法我来用一个Http的例子来演示一下吧
[C#] 纯文本查看 复制代码using S
using System.D
using System.C
using System.C
using System.W
using System.Web.S
using System.Web.UI;
using System.Web.UI.WebC
using System.Web.UI.WebControls.WebP
using System.Web.UI.HtmlC
using System.T
using System.Collections.S
using System.IO;
using SystemM
/// &summary&
/// 创建该页面文件时,请留心该页面文件是可以对其进行美工处理的,原因在于支付完成以后,当前窗口会从支付宝的页面跳转回这个页面。
/// 该页面称作“返回页”,是同步被支付宝服务器所调用,可当作是支付完成后的提示信息页,如“您的某某某订单,多少金额已支付成功”。
/// &/summary&
public partial class Alipay_Return : System.Web.UI.Page
protected void Page_Load(object sender, EventArgs e)
if (!IsPostBack)
//生成对象
OfficeFinanceServices objOfficeFinanceServices = new OfficeFinanceServices();
Alipaym objalipay = new Alipaym();
string alipayNotifyURL = &/cooperate/gateway.do?service=notify_verify&;
//string alipayNotifyURL = &/trade/notify_query.do?&;//此路径是在上面链接地址无法起作用时替换使用。
string key = &&; //partner 的对应交易安全校验码(必须填写)
string partner = &&; //partner合作伙伴id(必须填写)
string _input_charset = &utf-8&;//编码类型,完全根据客户自身的项目的编码格式而定,千万不要填错。否则极其容易造成MD5加密错误。
alipayNotifyURL = alipayNotifyURL + &&partner=& + partner + &¬ify_id=& + Request.QueryString[&notify_id&];
//获取支付宝ATN返回结果,true是正确的订单信息,false 是无效的
string responseTxt = AliPay.Get_Http(alipayNotifyURL, 120000);
//*******加密签名程序开始//*******
NameValueC
//Load Form variables into NameValueCollection variable.
coll = Request.QueryS
// Get names of all forms into a string array.
String[] requestarr = coll.AllK
//进行排序;
string[] Sortedstr = AliPay.BubbleSort(requestarr);
//构造待md5摘要字符串 ;
StringBuilder prestr = new StringBuilder();
for (i = 0; i & Sortedstr.L i++)
if (Request.Form[Sortedstr] != && && Sortedstr != &sign& && Sortedstr != &sign_type&)
if (i == Sortedstr.Length - 1)
prestr.Append(Sortedstr + &=& + Request.QueryString[Sortedstr]);
prestr.Append(Sortedstr + &=& + Request.QueryString[Sortedstr] + &&&);
prestr.Append(key);
//生成Md5摘要;
string mysign = AliPay.GetMD5(prestr.ToString(), _input_charset);
//*******加密签名程序结束*******
string sign = Request.QueryString[&sign&];
// Response.Write(prestr.ToString()); //调试用,支付宝服务器返回时的完整路径。
if (mysign == sign && responseTxt == &true& && Request.UserHostName == &&) //验证支付发过来的消息,签名是否正确
//更新自己数据库的订单语句,请自己填写一下
string strOrderNO = Request.QueryString[&out_trade_no&];//订单号
string strPrice = Request.QueryString[&total_fee&];//金额
string strTradeStatus = Request.QueryString[&TRADE_STATUS&];//订单状态
string result = objOfficeFinanceServices.CheckNo(strOrderNO.ToString().Trim());
if (result.Trim() == &0&)
//成功,可美化该页面,提示信息
////写文本,纪录支付宝返回消息,比对md5计算结果(如网站不支持写txt文件,可改成写数据库)
string TOEXCELLR = &MD5结果:mysign=& + mysign + &,sign=& + sign +
&,responseTxt=& + responseT
StreamWriter fs = new StreamWriter(Server.MapPath(&Return_DATA/& + DateTime.Now.ToString().Replace(&:&, &&)) + &.txt&, false, System.Text.Encoding.Default);
fs.Write(TOEXCELLR);
fs.Close();
//修改订单状态
else if (result == &-1&)
//修改订单状态
////写文本,纪录支付宝返回消息,比对md5计算结果(如网站不支持写txt文件,可改成写数据库)
string TOEXCELLR = &MD5结果:mysign=& + mysign + &,sign=& + sign + &,responseTxt=& + responseTxt + &perky_& + result.Trim() + Request.UserHostName.Trim() + Request.UserHostAddress.Trim();
StreamWriter fs = new StreamWriter(Server.MapPath(&Return_DATA/& + &e& + DateTime.Now.ToString().Replace(&:&, &&)) + &.txt&, false, System.Text.Encoding.Default);
fs.Write(TOEXCELLR);
fs.Close();
Response.Write(&查询订单时失败!!! 请确定你是否下单!!!&);
//修改订单状态
////写文本,纪录支付宝返回消息,比对md5计算结果(如网站不支持写txt文件,可改成写数据库)
string TOEXCELLR = &MD5结果:mysign=& + mysign + &,sign=& + sign + &,responseTxt=& + responseTxt + &perky_& + result.Trim() + Request.UserHostName.Trim() + Request.UserHostAddress.Trim();
StreamWriter fs = new StreamWriter(Server.MapPath(&Return_DATA/& + &e& + DateTime.Now.ToString().Replace(&:&, &&)) + &.txt&, false, System.Text.Encoding.Default);
fs.Write(TOEXCELLR);
fs.Close();
Response.Write(&重复使用界面无效!!!&);
Response.Write(&------------------------------------------&);
Response.Write(&&br&Result:responseTxt=& + responseTxt);
Response.Write(&&br&Result:mysign=& + mysign);
Response.Write(&&br&Result:sign=& + sign);
Response.Write(&支付失败&);
////写文本,纪录支付宝返回消息,比对md5计算结果(如网站不支持写txt文件,可改成写数据库)
string TOEXCELLR = &MD5结果:mysign=& + mysign + &,sign=& + sign + &,responseTxt=& + responseTxt + Request.UserHostName.Trim() + Request.UserHostAddress.Trim();
StreamWriter fs = new StreamWriter(Server.MapPath(&Return_DATA/& + &e& + DateTime.Now.ToString().Replace(&:&, &&)) + &.txt&, false, System.Text.Encoding.Default);
fs.Write(TOEXCELLR);
fs.Close();
catch (Exception ex)
////写文本,纪录支付宝返回消息,比对md5计算结果(如网站不支持写txt文件,可改成写数据库)
string TOEXCELLR = Request.Url.ToString() + & & + ex.Message.ToString() + Request.UserHostName.Trim() + Request.UserHostAddress.Trim();
StreamWriter fs = new StreamWriter(Server.MapPath(&Return_DATA/& + &m& + DateTime.Now.ToString().Replace(&:&, &&)) + &.txt&, false, System.Text.Encoding.Default);
fs.Write(TOEXCELLR);
fs.Close();
Http的方法有的接口还是要带证书才能实现的
关于这一块的做方法大家请参考一下我的另一个文章
应该注意的地方
1.验证加密串
2.验证首次加载时执行
3.验证DNS或是IP
4.IIS服务器绑定IP或是DNS
5.一般要在关键的地方记录日志文件,或是存入数据库,要把发过来的请求原封不动的存储一下,一是方便查对,二是一但出现问题这就是证据啊!!!
6.注意一下官方的加密串有没有统一大小写的问题
本帖被以下淘专辑推荐:
& |主题: 34, 订阅: 21
& |主题: 10, 订阅: 3
该用户从未签到
膜拜中……
该用户从未签到
嗯,证书认证,安全性太重要啦~~
该用户从未签到
ding顶ding顶
该用户从未签到
顶!顶!和官方的有些不一样,是自己封装的么!
TA的每日心情开心昨天&08:53签到天数: 405 天[LV.9]以坛为家II
terrychen 发表于
顶!顶!和官方的有些不一样,是自己封装的么!
一部分是自己修改过的,比如官方的更适合一些
TA的每日心情慵懒 10:07签到天数: 2 天[LV.1]初来乍到
最近自己弄了一个小站,看到这里,我想给自己的小站试试。谢谢LZ分享。
该用户从未签到
辛苦了。····我想问问本地可以测试吗
该用户从未签到
好多文章都看不见..
该用户从未签到
不错,学习一下,淘宝好像有一个公开平台,还有很多接口啊。。。。叫做APITOP。}

我要回帖

更多关于 q币充值上限 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信