请教怎么防止支付后网银或者支付宝多次回发

问题描述

最近在做支付,但是遇到了一个问题,不管是支付宝还是其他网银支付,付款成功后,他们都会发多次结果,支付宝和银联或招行支付,都要连续发5次支付结果来,然后我后台就处理五次支付结果,这样照成了我多次确认付款,我也做了验证,就是每次收到结果的时候先去判断这条记录是否被处理,如果没有处理,就先写入数据库,然后在做处理,但是每次支付结果回调都间隔时间都很短,照成我数据都还没有写完,已经处理了5次数据了,请问各位是怎么处理支付回调的?

解决方案

解决方案二:
应该先判断订单号,重复的将会过滤,这样就可以了因为客户支付的订单号是肯定是唯一的,所以只要这里过滤了,就可以了
解决方案三:
引用1楼fei2yun的回复:

应该先判断订单号,重复的将会过滤,这样就可以了因为客户支付的订单号是肯定是唯一的,所以只要这里过滤了,就可以了

我做了订单号判断的,因为支付回调的5次结果间隔时间很短,所以经常是我这边第一条数据都还没有处理完成,这样五次回复记录已经都在执行了。
解决方案四:
如果订单号部分的判断是正确的话,无论你时间有多短都不可能出现重复的情况所谓的并发其实一样存在队列的问题所以建议检查订单号判断的位置代码
解决方案五:
时间很短来不及判断是吧,我觉得不会呀,是不是这么个逻辑后台有一个判断的功能,付完款比如发了5次请求,接到第一次的时候我用一个变量存在viewState中,然后去判断得到结果,再根据结果取决于是否要进行判断2,3,4,5当然理论上说应该是不需要的,因为第一次已经成功了。试试,每次判断都根据上次的结果去判断,这样存在一个关系,所以后面的应该是可以拦下来的,而不是每次单独去判断不管上次的结果。
解决方案六:
我想每发送一次的请求时间应该没有我存在变量中的时间快吧。
解决方案七:
用viewState肯定不行,因为每次支付回调的时候都是重新打开页面的引用5楼ilove_aspnet的回复:

我想每发送一次的请求时间应该没有我存在变量中的时间快吧。

解决方案八:
这个问题应该是前台多次提交造成的。在按钮提交加一个jsbutton.disabled=false;就可以了另外在后台加入一个事务处理把事务贯穿查询和提交就可以了。或者用类似的写法updatetablesetddqr=truewhere单号=‘’andddqr=false
解决方案九:
//它是每隔一段时间都会发送一个结果。如果你确定结果了处理成功之后你要回发个数据给它。否则会每隔断/时间异步给你那个Notify页面发送结果//如果失败你返回Response.Write("fail");然后会继续发送结果//如果成功之后你得返回Response.Write("success");//返回给支付宝消息,成功//success与fail及其他字符的区别在于,支付宝的服务器若遇到success时,则不再发送请求通知(即不再调用该页面,让该页面再次运行起来),//若不是success,则支付宝默认没有收到成功的信息,则会反复不停地调用该页面直到失效,有效调用时间是24小时以内。

解决方案十:
引用7楼yeness的回复:

这个问题应该是前台多次提交造成的。在按钮提交加一个jsbutton.disabled=false;就可以了另外在后台加入一个事务处理把事务贯穿查询和提交就可以了。或者用类似的写法updatetablesetddqr=truewhere单号=‘’andddqr=false

+1

时间: 2024-10-31 06:46:15

请教怎么防止支付后网银或者支付宝多次回发的相关文章

支付宝关闭信用卡支付后,招行小额单笔限额提至2000元

信诚人寿·理财头条 商报讯 (记者 周文娟) 距离支付宝此前宣布的关闭信用卡向支付宝充值通道仅剩一天时间,尽管支付宝方面表示,此举并不会影响用户网上购物的客户体验,用户在通过支付宝网上购物时可以通过快捷支付或网银等方式直接给商户付款,但不少"网购达人"还是担心银行设置的网银渠道支付单笔限额将使得大额物品支付难以实现.对此,部分银行于近日见机提高了信用卡小额支付单笔额度. 招行小额单笔限额提至2000元 "因为招行信用卡小额支付单笔额度是500元,之前网购碰上金额在500元以上

支付宝快捷支付因网络故障支付后未及时到账

楚天都市报讯 (记者王海玉 实习生晏思)钱已经从银行卡里扣了,网购页面仍显示未付款成功.昨天,多位 网友投诉称,支付宝"快捷支付"大面积出现故障. 网友"寒冰百合"昨致电本报称,昨天上午9点多,她在淘宝买东西使用"快捷支付"方式时,连续试2次,淘宝页面仍显示未付款,查询支付宝余额也没变,可银行卡里的钱却被扣了2次,600元钱不知所终.她电询支付宝 客服,说是银行问题,要和银行核对:打电话给银行,银行说是支付宝问题. 记者昨登录一些社区和QQ群,发

快捷支付交易笔数占支付宝整体交易的比重已经超过一半

中国互联网支付正步入 "快捷"时代,这是国内知名研究机构艾瑞咨询最新的调查报告得出的结论.艾瑞咨询发布的 <2011-2012年中国互联网支付用户行为研究报告>指出,过去的一年中有将近半数互联网支付用户使用过快捷支付,并且已经超过通过第三方支付跳转网银进行支付的比例.而支付宝方面发布的最新数据显示,截至目前支付宝快捷支付的用户已经超过7500万,快捷支付交易笔数占支付宝整体交易的比重已经超过一半. 艾瑞咨询的 <2011-2012年中国互联网支付用户行为研究报告>

java微信支付后回调方法设置

问题描述 java微信支付后回调方法设置 java 微信支付成功后,回调函数方法怎么设置,和如何获得当前支付订单的信息 解决方案 java 微信支付签名生成方法 解决方案二: 我的是php 当前页面php://input 里面有微信异步返回的信息 返回的是XML 先把他转json json转数组 解决方案三: 应该在开发者中心之类的.当初设置了回调的地址了把. 解决方案四: 把处理支付后业务action全路径设置在微信后台的支付回调地址里. 解决方案五: 我设置了,可是支付完成后没有反应,方法没

android-Android 微信支付后的回调

问题描述 Android 微信支付后的回调 最近一个项目需要用到微信支付,然后去微信扒文档,跟着写了,支付也已经实现了,但是微信的支付回调那个方法一直没办法执行,求大神指教,在包名.wxapi中也创建了WXPayEntryActivity这个类实现了接口然后重写了onResp方法但是一直没办法执行... 解决方案 微信支付就坑死你吧,唉,在AndroidMainFest.xml中的WXPayEntryActivity 参数里,加上 exported = true;

再次请教easyui combobox复制后 焦点错位

问题描述 再次请教easyui combobox复制后 焦点错位 动态添加一行表格,添加后发现新生成的combobox下拉菜单焦点始终在第一行上. 简要页面代码如下: <tbody> <tr id="create"> <td><input id="cc" name="dept" style="width: 85px;"></td> ...省略其他 </tbody

url-微信扫码支付后回调URL,但是接受参数为null

问题描述 微信扫码支付后回调URL,但是接受参数为null 各位大神,请问谁遇到过这种问题,微信扫码支付后回调URL,但是接受参数为空类似这样:http://127.0.0.1/pay/updateOrder?id=1变成了这样http://127.0.0.1/pay/updateOrder?null,请问如何可以拿到id的值啊?

支付战争打响:支付宝补贴商家 商家补贴微信

11月22日中午12点开始,小米手机3开始在微信上预订.官方的介绍与说明写得很清楚,"购买只在微信内开放,并且仅限使用微信支付购买." 这意味着,想要购买小米3就必须开通微信支付. 6天之后的28日,在小米手机的微信公号中就可以抢购小米手机,小米给微信一共提供了15万台. 一位小米员工告诉21世纪经济报道记者,小米手机现在粉丝很多,与微信平台合作,有助于引爆微信支付.此前,小米手机在QQ空间首发10万台红米手机,就有700万人预订.从过往的经验来看,"小米3能够给微信支付带去

微信试水支付功能 欲超越支付宝?

中介交易 SEO诊断 淘宝客 云主机 技术大厅 相信看了新闻的朋友都知道,在昨日(2013.6.17),微信已经针对一些公众账号开通了"在线支付",与此同时,腾讯公司将旗下的财付通引入微信公众账户,很多网民在猜疑,难道腾讯利用微信试水支付功能,引入财付通,欲超越支付宝吗? 微信试水支付功能,大家怎么看? 相关专家提出,微信试水支付功能事实上是一种商业化的转变,同样是一种预示,未来的微信的发展会转变成电商行业,为移动互联网商业铺路,对于移动互联网的发展起到不可忽视的作用. 更有一些网友朋