如何安全、有效地搜索和使用在线视频资源?避开不良网站,保障你的上网安全

如何安全、有效地搜索和使用在线视频资源?避开不良网站,保障你的上网安全

更新时间: 浏览次数: 983

400电话:123456(点击咨询)
如何安全、有效地搜索和使用在线视频资源?避开不良网站,保障你的上网安全各观看免费《今日汇总》
如何安全、有效地搜索和使用在线视频资源?避开不良网站,保障你的上网安全各热线观看免费已更新(已更新)








如何安全、有效地搜索和使用在线视频资源?避开不良网站,保障你的上网安全观看免费电话:(1)123456(点击咨询)(2)123456(点击咨询)








如何安全、有效地搜索和使用在线视频资源?避开不良网站,保障你的上网安全观看免费热线(1)123456(点击咨询)(2)123456(点击咨询)




如何安全、有效地搜索和使用在线视频资源?避开不良网站,保障你的上网安全各区点热线观看免费《今日发布》
如何安全、有效地搜索和使用在线视频资源?避开不良网站,保障你的上网安全 如何安全、有效地搜索和使用在线视频资源?避开不良网站,保障你的上网安全电话








7天观看免费人工电话为您、如何安全、有效地搜索和使用在线视频资源?避开不良网站,保障你的上网安全团队在调度中心的统筹调配下,线下专业及各地区人员团队等专属,整个报修流程规范有序,后期同步跟踪查询公开透明。








所有团队均经过专业培训、持证上岗,所用产品配件均为原厂直供,








如何安全、有效地搜索和使用在线视频资源?避开不良网站,保障你的上网安全各观看免费《今日汇总》已更新(今日/推荐)








如何安全、有效地搜索和使用在线视频资源?避开不良网站,保障你的上网安全电话区域:








北京市(东城区、西城区、崇文区、宣武区、朝阳区、丰台区、石景山区、海淀区、门头沟区 昌平区、大兴区)








天津市(和平区、河东区、河西区、南开区、河北区、红桥区、塘沽区、东丽区、西青区、)








石家庄市(桥东区、长安区、裕华区、桥西区、新华区。)








保定市(莲池区、竞秀区)  廊坊市(安次区、广阳区,固安)








太原市(迎泽区,万柏林区,杏花岭区,小店区,尖草坪区。)








大同市(城区、南郊区、新荣区)








榆林市(榆阳区,横山区)朝阳市(双塔区、龙城区)








南京市(鼓楼区、玄武区、建邺区、秦淮区、栖霞区、雨花台区、浦口区、区、江宁区、溧水区、高淳区)  成都市(锡山区,惠山区,新区,滨湖区,北塘区,南长区,崇安区。)








常州市(天宁区、钟楼区、新北区、武进区)








苏州市(吴中区、相城区、姑苏区(原平江区、沧浪区、金阊区)、工业园区、高新区(虎丘区)、吴江区,原吴江市)








常熟市(方塔管理区、虹桥管理区、琴湖管理区、兴福管理区、谢桥管理区、大义管理区、莫城管理区。)宿迁(宿豫区、宿城区、湖滨新区、洋河新区。)








徐州(云龙区,鼓楼区,金山桥,泉山区,铜山区。)








南通市(崇川区,港闸区,开发区,海门区,海安市。)








昆山市 (玉山镇、巴城镇、周市镇、陆家镇、花桥镇(花桥经济开发区)、张浦镇、千灯镇。)








太仓市(城厢镇、金浪镇、沙溪镇、璜泾镇、浏河镇、浏家港镇;)








镇江市 (京口区、润州区、丹徒区。)








张家港市(杨舍镇,塘桥镇,金港镇,锦丰镇,乐余镇,凤凰镇,南丰镇,大新镇)








扬州市(广陵区、邗江区、江都区.宝应县)








宁波市(海曙区、江东区、江北区、北仑区、镇海区,慈溪,余姚 )








温州市(鹿城区、龙湾区、瓯海区、洞头区)








嘉兴市(南湖区、秀洲区,桐乡。)








绍兴市(越城区、柯桥区、上虞区)








金华市(金东区,义乌)








舟山市(定海区、普陀区)








台州市(椒江区、黄岩区、路桥区)








湖州市 (吴兴区,织里,南浔区)








合肥市(瑶海区、庐阳区、蜀山区、包河
400电话:123456(点击咨询)
如何安全、有效地搜索和使用在线视频资源?避开不良网站,保障你的上网安全各观看免费《今日汇总》《今日发布》
如何安全、有效地搜索和使用在线视频资源?避开不良网站,保障你的上网安全各观看免费《今日汇总》(已更新)








如何安全、有效地搜索和使用在线视频资源?避开不良网站,保障你的上网安全观看免费电话:(1)123456(点击咨询)(2)123456(点击咨询)








如何安全、有效地搜索和使用在线视频资源?避开不良网站,保障你的上网安全观看免费热线(1)123456(点击咨询)(2)123456(点击咨询)




如何安全、有效地搜索和使用在线视频资源?避开不良网站,保障你的上网安全各观看免费《今日汇总》【已更新列表】
如何安全、有效地搜索和使用在线视频资源?避开不良网站,保障你的上网安全电话








7天观看免费人工电话为您、如何安全、有效地搜索和使用在线视频资源?避开不良网站,保障你的上网安全团队在调度中心的统筹调配下,线下专业及各地区人员团队等专属,整个报修流程规范有序,后期同步跟踪查询公开透明。








所有团队均经过专业培训、持证上岗,所用产品配件均为原厂直供,








如何安全、有效地搜索和使用在线视频资源?避开不良网站,保障你的上网安全中心已更新(今日/推荐)








如何安全、有效地搜索和使用在线视频资源?避开不良网站,保障你的上网安全电话区域:








北京市(东城区、西城区、崇文区、宣武区、朝阳区、丰台区、石景山区、海淀区、门头沟区 昌平区、大兴区)








天津市(和平区、河东区、河西区、南开区、河北区、红桥区、塘沽区、东丽区、西青区、)








石家庄市(桥东区、长安区、裕华区、桥西区、新华区。)








保定市(莲池区、竞秀区)  廊坊市(安次区、广阳区,固安)








太原市(迎泽区,万柏林区,杏花岭区,小店区,尖草坪区。)








大同市(城区、南郊区、新荣区)








榆林市(榆阳区,横山区)朝阳市(双塔区、龙城区)








南京市(鼓楼区、玄武区、建邺区、秦淮区、栖霞区、雨花台区、浦口区、区、江宁区、溧水区、高淳区)  成都市(锡山区,惠山区,新区,滨湖区,北塘区,南长区,崇安区。)








常州市(天宁区、钟楼区、新北区、武进区)








苏州市(吴中区、相城区、姑苏区(原平江区、沧浪区、金阊区)、工业园区、高新区(虎丘区)、吴江区,原吴江市)








常熟市(方塔管理区、虹桥管理区、琴湖管理区、兴福管理区、谢桥管理区、大义管理区、莫城管理区。)宿迁(宿豫区、宿城区、湖滨新区、洋河新区。)








徐州(云龙区,鼓楼区,金山桥,泉山区,铜山区。)








南通市(崇川区,港闸区,开发区,海门区,海安市。)








昆山市 (玉山镇、巴城镇、周市镇、陆家镇、花桥镇(花桥经济开发区)、张浦镇、千灯镇。)








太仓市(城厢镇、金浪镇、沙溪镇、璜泾镇、浏河镇、浏家港镇;)








镇江市 (京口区、润州区、丹徒区。)








张家港市(杨舍镇,塘桥镇,金港镇,锦丰镇,乐余镇,凤凰镇,南丰镇,大新镇)








扬州市(广陵区、邗江区、江都区.宝应县)








宁波市(海曙区、江东区、江北区、北仑区、镇海区,慈溪,余姚 )








温州市(鹿城区、龙湾区、瓯海区、洞头区)








嘉兴市(南湖区、秀洲区,桐乡。)








绍兴市(越城区、柯桥区、上虞区)








金华市(金东区,义乌)








舟山市(定海区、普陀区)








台州市(椒江区、黄岩区、路桥区)








湖州市 (吴兴区,织里,南浔区)








合肥市(瑶海区、庐阳区、蜀山区、包河

在进行线上支付的时候,有可能会出现订单重复支付的情况,要如何防止呢?本文作者对此进行了分析,一起来看一下吧。

想必大家对在线支付都不陌生,今天和大家聊聊如何防止订单重复支付。

01 看看订单支付流程

我们来看看,电商订单支付的简要流程:

订单钱包支付流程

从下单/计算开始:

1)下单/结算

这一步虽然不是直接的支付起点,但是支付相关的金额等等信息都来自结算,此时订单的状态是未支付。

2)申请支付

用户选择申请支付,客户端调用支付服务,此时在系统内产生一笔支付流水,这笔流水的状态是未支付。

3)发起支付

支付服务调用三方支付,通常这种钱包类的支付,在发起支付这一步,会响应一些支付的链接,客户端会对链接进行对应的处理。

4)钱包支付

用户进行支付,通常是通过对应的钱包进行的,大家可以回忆一下自己在购物中,支付的过程,不同的端,对钱包支付的处理是不太一样的。

京东PC端支付页

APP端: 在国内,购物大部分都是在APP端,产品经理会想法设法把用户带到APP,为什么我的示例图都用京东,不用淘宝呢?因为我拿UC打开淘宝,会直接跳转APP。

APP端的钱包支付,我们应该都非常熟悉,一般是拉起钱包,支付。

APP支付

WAP端:手机的网页站,WAP端的支付一般是直接拉起对应的钱包,如果拉起钱包失败,就跳转界面。

京东支付WAP端

PC端:PC端,通常是打开收银台,展示一个二维码,通过钱包扫码支付,下面是京东的微信支付扫码页。

5)支付回调

用户完成支付后,三方支付平台,会回调商户,通知支付结果。

6)同步订单状态

支付服务在确认支付完成后,会向订单服务同步支付的结果,订单服务变更订单的状态,由未支付—待发货,客户端通过轮询、长连接,或者服务端主动推送的方式,在界面上变更订单状态。

我们再从支付流水的角度看一下支付状态的变化:

支付状态变化

从未支付,到有支付结果的终态,中间还有一个中间状态——支付中。

用户通过打开钱包—完成支付—支付回调,这段时间的支付流水就处于支付中。为什么要花这么多篇幅来讲支付的业务流程、交互过程呢?因为我认为,防止订单的重复支付,不止是技术上的问题,也是业务和产品上的问题。

02 为什么订单会重复支付

1. 未防重导致的重复支付

我们可以看到PC端支付,是扫描二维码,这些二维码,就是对应相应的支付流水,假如用户重复点击支付,如果不做防重的话,会生成两笔支付流水,也就是两个不同的二维码,要是用户分别扫了两个不同的支付码,那么毫无疑问,就会产生重复支付。

2. 掉单导致的重复支付

“我明明付款了,为什么我的订单还没支付呢?”

这就是所谓的“掉单”:

  • 外部掉单:三方支付的支付状态没有同步或者没有及时同步到商城,这叫外部掉单。
  • 内部掉单:支付服务的状态没有同步到订单,或者客户端没有及时获取到订单状态,这叫内部掉单。

用户一看,自己付了款,结果商城里订单还未付款,但是又特别想要,可能就会再下一单,这样就重复支付了。

3. 多渠道导致的重复支付

我们国内支付的体验还是非常快捷的,大家可能没有感觉,如果了解过海外支付的可能了解,很多支付的渠道,消耗的时间非常长。

比如用户保罗选择了一种支付方式Boleto,结果支付的网点离保罗他们村太远了,保罗又选择了Paypal支付,保罗去赶集的时候,又顺手去网点把Boleto的这一笔支付了,结果就重复支付了。

这种情况大家可能很少遇到,我们可以用美团下一个单,先打开微信支付,不要支付啊,接着回到美团,打开支付宝,用支付宝支付完成后,用微信接着支付,大家猜猜,两笔支付是不是都能成功?答案是可以。

美团多渠道支付

04 如何防止订单重复支付

1. 加锁

不管是申请支付、还是支付回调,都应该以订单维度加锁,防止并发下的重复操作。

加锁,毫无疑问,也是分布式锁,通常我们会选择Redis分布式锁。

加锁

2. 缓存结果

申请支付成功,支付回调成功,都应该缓存结果。

再申请支付,收到成功回调的时候,都应该先去检查支付的状态。

3. 支付中流水取消

假如说,用户重复支付了,再次申请支付的时候,如果已经申请支付成功了,那么这笔支付肯定是要拒绝的。

但是,要是已经存在的这笔流水还在支付中呢?——我们不确定它是成功还是失败,肯定是不能拒绝支付的,因为可能用户支付失败了,但是状态还没同步,这样肯定是不行的。

所以,我们可以取消掉正在支付中的流水,再进行支付。

支付中流水取消

4. 已支付流水退款

现在又有新的问题了,假如发起支付的时候,有流水正在支付中,如果第三方支付平台不支持取消支付,或者用户新的支付是通过不同的渠道,我们希望尽可能提高用户的支付成功率,怎么办呢?

我们可以在发起支付的时候,订单还在支付中的情况下,允许用户发起多笔支付,在支付回调的时候,检查用户是否已经有成功流水,对后来的流水进行退款处理。

支付回调

当然,退款是个很危险的操作,毕竟钱退了,可就很难追回来,一定要做好风险的控制。

5. 主动轮询&重试防止掉单

1)主动轮询防止外部掉单

如果因为故障没有收到回调,或者没有及时收到回调,就可能会发生所谓的外部掉单。

防止外部掉单的关键,就在于,不能傻傻地只等三方的回调通知,而要主动去查询,用户发起支付的3s之后,就可以发起轮询了,直到拿到支付流水的最终状态,主动轮询,一般可以这么实现:

轮询

①定时任务轮询

使用定时任务,扫描表中支付中的流水,主动查询支付的状态,定时任务的实现方式有很多,线程池、调度框架、分布式调度框架等等。

定时任务轮询的缺点有两个:

  1. 对数据库有一些压力,观察监控,会发现定时任务扫表的时候,有时候会造成数据库的一些“峰刺”
  2. 不便调整频率,实际上,用户发起一笔支付之后,一般都会在10s-1min中完成支付,越往后,用户完成支付,所以轮询梯度进行,会更合理一些,轮询的间隔可以设置成类似这种:3s、10s、30s、3min……

②延时消息轮询

另外一种方式就是使用延时消息,用户发起支付之后,发送一个延时消息,消费到延时消息之后,查询流水支付状态,没有拿到最终状态,就再发一个延时消息。延时消息的好处是对数据库的压力没有那么大,轮询的梯度也可以进行控制,缺点是实现起来复杂一些,而且要维护消息队列。

2)同步+异步防止内部掉单

支付服务在收到异步通知回调、或者主动轮询到流水的最终状态后,要通知订单服务支付流水的变化,订单服务同步更新订单的状态,这个过程要尽可能保证通知成功,可以采用同步+异步的方式。

  • 同步调用:支付服务调用订单服务的通知接口,有可能会因为网络等等的原因失败,也可以重试,但是根据经验,如果网络出现一些波动,重试很可能也会失败。
  • 异步通知:支付服务还应该发送一个支付成功的消息,订单服务可以利用消息队列的重试机制,来尽可能保证支付状态的同步。

这里还有一个问题,客户端如何同步这个状态?因为可能服务端更新了订单状态,但是客户端的界面上还是未支付,得用户主动刷新一下,才能拿到最新的状态,这样明显是不太合适的。

服务端、客户端的状态同步,无非就拉和推:

  • 拉:很简单,就是客户端在用户跳回订单状态页的时候,轮询一会,如果用户完成支付,通常很短时间就能获取到状态的变更,当然这种方式对客户端的性能会有一些影响,而且很出现状态同步“漏网之鱼”的情况。
  • 推:推的实现有些麻烦,Web通常是用Websocket,对APP端的推送,一般采用第三方的推送平台。

6. 客户端支付尽可能不外跳

不管从产品的角度,还是技术的角度,客户端发起支付这一步,其实应该尽可能地不要外跳,PC端使用支付服务生成的支付码,而不是跳转;移动端网页、APP在应用内展示支付页,当然这个是由第三方支付平台决定的。

在UC内内嵌支付宝

不知道大家留意到了没有,现在的支付宝,已经做到了不用拉起钱包,在应用内就可以完成支付,这个对于商家的意义还是比较大的,对用户体验、支付成功率,都有正面的作用,相信以国内的内卷程度,其它支付供应商,一定会“跟进”的。

好了,关于如何防止重复支付,就讲到这里。对于支付,老三也只是初窥门径,希望各位大佬不吝指教。

参考:

[1] 服务端如何防止重复支付

如何安全、有效地搜索和使用在线视频资源?避开不良网站,保障你的上网安全的相关文章
“网红”带货犀牛角牵出“地下黑市”
追星成功!祝绪丹评论回应金希澈:感谢喜欢
国家消防救援局:近五年冬季夜间发生火灾52万起,占冬季火灾总数的39.8%
乘联会:3月新能源车销量同比翻倍
150名在缅甸大其力地区实施跨境电诈的犯罪嫌疑人被移交我方
全球连线|乘着五颜六色的快乐起飞
低温降雨天 三亚农技专家提醒:地里积水未排干瓜菜勿直接施肥
萤火虫林间飞舞 化身繁星点点点亮夜空
  • 友情链接:
  • 开学第一课开启最炫民族风 印度撤军!但背后这些事,你不能不知道 我国可再生能源装机占比过半 俄议员提议向怀孕大学生提供补助金:使年轻家庭不必担心生育问题 我国大推力液氧煤油火箭发动机试车首次实现“两日一试” 北京推进“CBD×三里屯国际消费体验区”建设 优化消费空间布局 全球连线 - 联合国前核查员起底美国动用生物武器黑历史:严查! 陕西省上半年落实水利投资263.8亿元 华为鸿蒙千帆会战誓师大会:徐直军强调构建原生生态重要性 加快推动农业大省向农业强省跨越——访四川省委书记、省人大常委会主任王晓晖

    侵权联系QQ
    拨打电话