在线支付不陌生,来聊聊如何防止电商订单重复支付及流程 贵港网站设计网络推广公司


大家对网络支付应该都很熟悉,今天咱们就来探讨一下如何避免订单重复付款的问题。

看看订单支付流程

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

订单钱包支付流程

从下单/计算开始:

下单或结算环节:尽管它并非支付流程的起始阶段,然而支付所需的所有金额及相关信息均源自于此环节;在此阶段,订单的当前状态显示为未支付状态。

用户若选择进行支付操作,客户端将启动支付服务,随之在系统内部生成一条支付记录,该记录的当前状态标识为尚未支付。

启动支付流程:当支付服务接入第三方支付平台时,特别是在启动支付环节,系统会生成相应的支付链接,随后客户端需对这些链接进行相应的操作处理。

使用钱包进行交易时,用户一般会通过相应的钱包应用来完成支付操作;不妨回想一下,在购物时,我们进行支付的具体步骤。不同平台对于钱包支付的处理方式存在差异。

京东PC端支付页

APP 端

在我国,消费者进行购物活动大多通过应用程序进行,产品经理们会竭尽所能引导用户进入APP。那么,为何我在示例图中选择京东而非淘宝呢?原因在于,当我使用UC浏览器打开淘宝时,页面会自动跳转至其APP界面。

我们对于APP中的钱包支付功能应当相当熟悉,通常操作步骤是打开钱包,然后进行支付。

APP支付

WAP 端

手机上网页或使用WAP服务进行支付时,通常直接唤起相应的钱包应用,一旦钱包应用启动失败,系统则会自动跳转至其他界面。

京东支付 WAP端

PC 端

在电脑端,一般会启动收银系统,显示一个二维码,顾客可以通过扫描钱包中的二维码进行支付,紧接着便会出现京东的微信支付扫码界面。

支付完成后,三方支付平台将向商户发送回调信息,以告知支付的具体结果。

同步订单信息:支付环节完成支付确认后,会将支付结果传递给订单环节,订单环节据此调整订单状态,从未支付变为待发货。客户端则通过不断查询、维持长连接,或由服务端主动发送通知,来在界面上更新订单的显示状态。

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

支付状态变化

为何要占用如此多的篇幅来阐述支付流程和交互细节?这主要是因为我坚信,避免订单重复支付的问题,不仅涉及技术层面,同样也是业务和产品设计领域的关键议题。

为什么订单会重复支付

未防重导致的重复支付

观察可知,在PC端进行支付时,用户需通过扫描二维码来完成,而这些二维码实际上与各自的支付记录相对应。若用户连续多次点击支付按钮,若未采取防止重复操作的措施,系统将生成两笔独立的支付记录,即两个不同的二维码。一旦用户分别扫描了这两个不同的二维码,便不可避免地会导致重复支付的情况发生。

掉单导致的重复支付

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

黑我钱是吧

这就是所谓的“掉单”:

顾客发现已支付款项,却发现商城订单状态显示未支付,又因迫切需求,可能再次下单,从而导致重复支付的情况发生。

多渠道导致的重复支付

在国内进行支付操作的速度相当迅速,这一点或许大家并不明显感受到,但若是对比过海外的支付方式,或许便能体会其中的差异,因为海外支付往往需要耗费较长时间。

保罗挑选了一种支付手段,但发现该支付点距离他们所在的村庄颇为遥远,于是他改换了支付方式。在赶集途中,保罗顺便前往该网点,处理了这笔支付,却不知自己已经重复进行了支付操作。

大家或许很少遇到这样的情况,我们可以在美团上再下个订单,然后打开微信进行支付。但请注意,暂时不要进行支付操作,转而回到美团页面,打开支付宝进行支付。完成支付宝支付后,再用微信继续进行支付。大家不妨猜测一下,这两笔支付是否都能顺利完成呢?

答案是可以。

美团多渠道支付

如何防止订单重复支付

加锁

在进行3.申请支付操作或是5.支付回调处理时,均需基于订单信息进行锁定,以避免在并发情况下发生重复执行的问题。

锁定资源,毫无疑义,这属于分布式锁的范畴,我们一般倾向于采用 Redis 来实现分布式锁。

加锁

缓存结果

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

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

支付中流水取消

若用户已进行过重复支付,那么在后续再次发起支付请求时,若该请求已被成功处理,则该笔支付请求理应被拒绝。

然而,若这笔交易仍在进行中,我们无法确定其结果究竟是成功还是失败,显然我们不能拒绝这笔支付。因为有可能用户已经支付失败,但系统状态尚未更新,这种情况下继续操作显然是不恰当的。

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

支付中流水取消

已支付流水退款

现在又遇到了新的挑战,如果在发起支付操作时,已有交易正在进行,且第三方支付平台不提供取消支付的功能,或者用户的后续支付是通过另一条路径进行的,我们迫切需要提升用户的支付成功率,这该如何解决呢?

在用户进行支付操作且订单正处于支付状态时,我们应允许其进行多次支付尝试。一旦支付回调发生,需核实用户是否已成功完成一笔支付,并据此对后续的支付流水进行相应的退款操作。

支付回调

自然,进行退款是一项充满风险的行为,因为一旦款项退还,便难以再次追索,因此务必高度重视风险防范。

主动轮询与重试防止掉单

若因设备故障导致未能接收到反馈,亦或反馈信息未能按时抵达,便有可能出现所谓的掉单现象。

确保订单不因外部因素流失的关键在于,我们不应被动地依赖第三方的通知,而应采取主动策略,即在用户发起支付后的3秒内,便应启动查询机制,进行周期性的检查。这一过程,即所谓的主动轮询,通常可以通过以下方式实现:

轮询

1) 定时任务轮询

通过设定定时任务,对表格内处于支付状态的交易记录进行扫描,并主动检索其支付进展。实现定时任务的方法众多,包括利用线程池、调度系统以及分布式调度系统等。

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

2) 延时消息轮询

此外,一种可选策略是运用延迟发送的信息。用户在触发支付操作后,会发送一条延迟信息。在消费完成该延迟信息之前,用户需定期查询支付流水状态。若未能获取到最终状态,则需再次发送一条延迟信息。这种方法的优点在于对数据库的负载相对较小,且轮询的间隔可灵活调整。然而,其缺点在于实施过程较为繁琐,并且需要持续维护消息队列系统。

同步+异步防止内部掉单

一旦支付服务接收到异步通知的反馈,或者通过主动查询得知交易流程的最终结果,便需及时告知订单服务有关支付流程的变动情况。随后,订单服务需同步调整订单的相应状态。为确保这一通知流程的顺利完成,我们应尽量采用同步与异步相结合的通信模式。

这里还有一个问题,客户端如何同步这个状态?

由于服务端可能已更新订单的当前状态,然而客户端显示的界面依旧显示为未支付,用户需自行手动刷新页面以获取最新状态,这种做法显然不够理想。

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

客户端支付尽可能不外跳

无论从产品层面还是技术层面来看,客户端在执行支付操作时,理应尽量避免跳出原页面;在PC端,应直接使用支付服务生成的支付码进行支付,而非进行页面跳转;至于移动端网页和APP,在应用内部展示支付页面,这一决策权则通常掌握在第三方支付平台手中。

在UC内内嵌支付宝

大家或许有所察觉,目前支付宝的功能已实现无需打开钱包,直接在应用内完成支付,这对商家来说影响颇深;同时,它对提升用户体验和支付成功率也起到了积极作用。鉴于我国市场的竞争激烈程度,相信其他支付服务提供商也必将效仿这一做法。

- EOF -


# 在线支付不陌生  # 来聊聊如何防止电商订单重复支付及流程  # 客户端  # 这一  # 回调  # 第三方  # 支付宝  # 保罗  # 跳转  # 京东  # 这笔  # 支付平台  # 下单  # 服务端  # 我们可以  # 可以通过  # 而非  # 淘宝  # 来完成  # 支付方式  # 加锁  # 情况下  # 外贸营销推广公司东营  # 快猫红尘seo  # 列表网做优化网站怎么样  # 网站建设相关技术  # 雅安网站优化哪家好  # 观山湖区seo推荐  # 快推达seo推广  # 如何做网站关键词推广  # 宁波网站设计推广公司  # 鱼台建设局举报网站  # 网站推广在线工作室  # 快手网站推广公司  # 江门机电网站推广  # 高邑大型响应式网站推广平均价格  # 云点科技 seo  # 网站建设联系圣安华  # 鹤壁企业网站建设推广  # 网站建设公司与维护  # 新乡网站建设哪家实力强  # 恩施铁矿企业网站建设 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 网络优化76771 】 【 技术知识130152 】 【 IDC云计算60162 】 【 营销推广131313 】 【 AI优化88182 】 【 百度推广37138 】 【 网站推荐60173 】 【 精选阅读31334


相关推荐: SEO无限:如何利用SEO技术实现网站流量爆发?,日化品推广员招聘网站  新手做广告联盟广告推广赚钱的几个注意事项!  豆瓣引流拉新变现月入过万项目实操经验分享!  优化*:打造更加高效、创新的娱乐体验,论坛推广必用的网站  【联盟基础】提包推广是什么意思?怎么做才能赚钱?  微信小程序推广怎么做?教你四个方法!  SEO软优化:助力网站实现流量爆发的秘密武器,咖啡包装网站推广方法  广告推广的基本形式和推广特点分析  SEO广告:如何借助SEO提升品牌曝光与销售业绩?,深圳美发店推广招聘网站  关键词突破:如何在信息洪流中脱颖而出,流量密码,黄平营销推广  引流方法大全!100种引流思路方法全在这了!  新手应该如何操作广告联盟上的项目赚钱?  SEO爱站:提升网站排名,赢得流量的秘密武器,福州厦门网站建设优化推广  2020年手机游戏赚钱排行榜NO.1玩问道赚钱!  谷歌广告联盟教你怎么玩转海外H5小游戏!  全国SEO:开启网站流量的高速公路,赢得市场竞争先机,南宁网站建设方案开发  9个简单有效的微信引流方法,天天涨粉1000+你也可以!  SEO表格:优化网站排名的秘密武器,巫溪的知名网站建设  SEO在线服务-让您的网站快速跃升至搜索引擎前列,临海seo推广免费  关键词速排:突破搜索引擎优化的极限,轻松提升网站排名,网络营销推广的五大误区  广告联盟上日赚1000+的方法和经验分享!  在微信公众号上投放cpc广告需要注意的几点问题,否则赔了夫人又折兵!  新手如何引流男性?推荐这几个渠道和方法!  前置摸排:企业风险管控的新利器,鄂州网站建设策划公司  app推广运营人员必须要知道的10个app推广方法和渠道!  小红书引流该如何做?10个小红书快速引流方式介绍!  二创AI:打破创意壁垒,引领未来内容创作新潮流,主要的推广网站  关键词占领:如何通过精准优化打造品牌网络霸主,云南网站推广平台哪个好  在家赚钱的工作有哪些?在家里就做这6个靠谱的网上赚钱项目!  教你如何足不出国就能轻松操作国外广告联盟赚取美金!  出海SEO-让您的企业走向全球市场的关键,浪潮seo  新手没有网站又不懂引流如何去做推广赚钱?  为什么“360收录”是你网站推广的必备利器,国内贸易推广营销现状  SEO学堂:开启数字营销新时代,全面提升网站排名与流量,购物网站建设合同协议书  SEO精通:让你的内容在搜索引擎中脱颖而出,佛山专业网站建设报价  应用内推广app怎么做?这7个方法收好了!  SEO能够助力网站流量增长,提升品牌竞争力,网站建设报告模版  关键词标签:为你的内容注入无限流量与精准定位的利器,莱阳亚马逊关键词排名  公众号文创:如何利用内容创作打造品牌影响力,seo能带来哪些好处  信息流广告为什么受广告主喜欢?  推广游戏类赚钱项目操作思路分享!  利用WP分销系统助力企业高效盈利,拓展新渠道,绿箭广告营销推广策略  入门SEO:打造属于你的网站流量帝国,沧州设计行业网站建设  在做推广时,怎样才能让推广的广告吸引潜在用户关注?  广告推广赚钱怎么做?国内有哪些靠谱的广告联盟?  同城服务类APP推广引流实操干货分享!  新手所必须了解的推广赚钱的5大主流推广方式!  刷百度,尽享互联网生活的无限可能,电子商务网站宣传与推广  目前非常火热的信息流广告的广告投放模式主要有哪几种?  SEO定价策略:如何根据企业需求定制最佳价格方案,云阳网站推广大概收费 

 2026-01-15

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

致胜网络推广营销网


致胜网络推广营销网

致胜网络推广营销网专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。

 915688610

 17370845950

 915688610@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.