美文网首页Java高级交流
20180118订单重复支付讨论

20180118订单重复支付讨论

作者: 六月星空2011 | 来源:发表于2018-01-19 13:42 被阅读128次

总摘要: 订单重复支付


2018-01-18

  • 摘要: 订单重复支付.
1. 问个问题,对于支付幂等的接口,当该订单已被退款后,再次支付返回什么结果?是已退款还是已支付? [北京-srtao]

广州-小护士<-> 9:01:23
再次支付肯定是支付失败啦。因为该订单已付过款了
成都-Sêiyǎ(-) 9:03:14
重新生成支付订单嘛
北京-srtao(-) 9:03:19
肯定都不成功的,但是幂等不是要求多次相同请求,会返回相同结果吗,这时应该返回什么状态呢
长沙-艾尔(-) 9:03:47
=。=如果0是下单 1是未支付 2是支付中 3是已支付 那已退款暂且作为4吧- -按理说状态到4了,肯定已经是最终结果了。。肯定不能逆向修改状态了。。
北京-w(-) 9:03:40
订单已退款, 最终一致性,把重复支付的做自动退款, 或者增加 人工审核阶段,把那些问题订单人工核对后 退款
深圳-令狐(-) 9:07:44
有些情况可能造成用户重复支付,比如很晚才收到支付回调
北京-w(-) 9:07:58
主动查询。 不能等客户找上门来 你才退款 ,那样离开除就不远了
北京-alex(-) 9:08:12
哦,支付中的订单也应该有标志的
杭州-东子(-) 9:08:39
第三方根据你传的信息就告诉你,重复支付了……
苏州-winylee(-) 9:10:25
自己系统系统支付中的状态还是知道的啊, 你订单支付 没有返回结果的时候 订单应该是支付中状态
北京-w(-) 9:10:27
你自己流量大的时候呢? 客户端网络原因的情况呢? 上游网络原因呢?
苏州-winylee(-) 9:11:16
你自己的订单状态自己是知道的 , 客服端不知道 你服务肯定知道, 你支付的时候 难道都不做校验的吗?都交给第三方? 1、2订单合并支付 1、2订单就是支付中,1、2、3在合并支付,你自己应该校验啊 肯定不通过啊
北京-w(-) 9:12:55
我们公司小,没遇到你那种情况. 假设,你送上游返回超时了,条码支付,这时候你状态应该更新成什么?
苏州-winylee(-) 9:14:28
你只要支付了 就是支付中 ,然后是支付完成支付失败
深圳-rubin(-) 9:15:56
支付回调有一定延迟,,多渠道支付可能会重复支付, 可以在回调处做处理
杭州-东子(-) 9:16:19
你在购物车里面勾选了俩个产品,然后点击购买,首先出来一个确认页面,你点击去下单,这时候产生了订单号,你点击去付款这时候产生了支付流水号
深圳-rubin(-) 9:17:18
同一支付号只能支付一次,其余需要退款
北京-alex(-) 9:18:13
你们的订单号和流水号都是要生成器生成的吗?发号机是第三方支付给的?
深圳-rubin(-) 9:19:13
有专门的发号机的, 系统制定的规则
杭州-东子(-) 9:19:24
然后你不去付款,你就可以在我的订单里面看到俩个待付款的,你可以合并付款,也可以单独付款,
这俩个订单号和支付流水号都不同的, 其实在后台是俩个交易, 给用户看是合并的, 所以一个失败了,不影响另一个的
深圳-令狐(-) 9:22:40
接着说下去。比如这时候产生了支付流水号A,用户最终是否支付,要以支付宝或者微信的回调为准。 接下来有两种可能:1:用户并没有支付,订单当前状态是“待付款”。用户在订单列表查到了这笔订单,再次点击了“立即付款”,此时需要重新生成支付流水号B;2:用户对支付流水号A支付了,但是并未收到微信或者支付宝的回调结果。用户在订单列表查到了这笔订单并再次点击“立即付款”,又重新生成了支付流水号。第一种情况是正常的,第二种情况就会造成重复支付
杭州-东子(-) 9:23:46
不会生成b的, a又没失败,状态还是待支付,你一个支付流水信息在你的系统中最终状态只有失败成功, 待支付的一直不支付,一定时间之后,你也要定时任务跑批改成失败
深圳-rubin(-) 9:24:51
是的,需要等待A的回调,,当然你也可以主动去轮训第三方获取结果, 如果你要把A设置为支付失败,你需要去轮训第三方的
杭州-东子(-) 9:25:51
你用用户不支付他就不会用新的, 你如果点了支付,密码也输入了,那这个支付状态就是支付中,或者叫做去支付,他的下一个状态就是失败或者成功
北京-空城(-) 9:27:10
卡死呢
深圳-rubin(-) 9:27:25
其实不用怕的,上几个月,出问题再找补救方案
杭州-东子(-) 9:27:30
这个状态只能查询第三方支付信息得知,支付中的讲道理页面就没有支付按钮了
深圳-令狐(-) 9:28:37
问题就在这里。业务系统和第三方支付的超时未支付自动关闭时间是不一致的。这就是为什么每次点击“立即付款”的时候,都需要重新生成
杭州-东子(-) 9:28:57
你要想重新就要在发起新的订单了
北京-w(-) 9:29:29
先取消原订单吧。
杭州-东子(-) 9:30:31
你用第三方的东西,他没办法迁就你的,你就迁就他一下,超时比他晚点,关闭之前拿着信息再去查一遍他, 毕竟第三方提供了查询支付成功失败的接口
深圳-rubin(-) 9:31:07
如果是在支付中-->轮训第三方-->获取第三方结果为处理中-->该支付单还是为支付中
如果是在支付中-->轮训第三方-->获取第三方结果为支付成功-->该支付单还是为支付成功
如果是在支付中-->轮训第三方-->获取第三方结果为支付失败-->该支付单还是为支付失败
北京-w(-) 9:31:16
有一种好像是,超多多长时间轮询之后,掉取消接口,取消成功 则订单关闭 设定支付失败
北京-alex(-) 9:35:45
@杭州-东子 支付流水号是自己生成还是支付机构给的
杭州-东子(-) 9:35:59
你自己系统的,你服务拆分,你有个订单服务,根据你们自己规则生成了订单号,你还有个支付服务,也是一个模块,专门做各种对接第三方支付的,这个系统自己的规则生成的流水号
深圳-令狐(-) 9:37:18
@杭州-东子 你倒是提醒我了,这个接口我们都没用过。 仔细想了一下,用上这个接口,业务系统会更加完善
杭州-东子(-) 9:37:28
第三方支付的那个号他也有个流水号
北京-alex(-) 9:39:12
哦,那订单里面的支付流水号显示的应该是自己生成的,不是银行的流水号, 接支付宝的流程和银行有啥区别?
杭州-东子(-) 9:40:47
接口api不同,数据库字段不同,能共用的少一些,流程上都差不多
北京-w(-) 9:41:04
支付机构不允许直接接入支付宝 只允许银行间联,商城可以自己接入支付宝
北京-alex(-) 9:42:22
回调流程和查询功能在设计上大同小异?【是的】
杭州-东子(-) 9:42:59
一般你的订单号做的有意义一些,可以包括订单时间,类型,支付方式,配送方式,每几位代表不同的
杭州-东子(-) 9:43:11
退款啥的都差不多的感觉
深圳-rubin(-) 9:43:52
退款的不一样。。。很多支付渠道的退款流程 查询第三方的退款情况都不准确

相关文章

  • 20180118订单重复支付讨论

    总摘要: 订单重复支付点击查看技术分享链接 2018-01-18摘要: 订单重复支付. 1. 问个问题,对于支付...

  • 工作内容思考

    todo 如何防止重复支付1、业务订单和支付订单不是一个概念,我想讨论的是已经生成的支付单如何防止重复支付。一个业...

  • 微信支付

    问题:微信支付错误:201 商户订单号重复原因:修改了支付价格解决办法:待支付的订单号(即商户订单号,out_tr...

  • 在线支付——如何防止订单重复支付?

    看看订单支付流程 我们来看看,电商订单支付的简要流程: 订单钱包支付流程 从下单/计算开始: 下单/结算:这一步虽...

  • 下订单去支付服务:支付和提现逻辑设计

    支付和提现 支付 创建订单阶段 根据平台产品创建本地订单本地订单号(唯一) 创建支付订单(支付平台的订单)支付凭证...

  • 微信支付:调用支付jsapi缺少参数total_fee

    微信支付时,提示调用支付jsapi缺少参数total_fee,实际total_fee参数已传入 原因: 订单编号重复

  • 如何避免订单重复支付

    1,问:假设有这么一种情况: 订单已下单成功并且正处于支付页面,用户调起支付网关进行支付。支付成功了一次,但是由于...

  • 多渠道支付订单,如何避免重复支付

    2019年7月14日 简介: 有的时候电商的产品可以通过微信、支付宝、QQ等第三方产品下单支付,那么在没有完整支付...

  • 微信支付支付取消重新支付崩溃

    崩溃操作: 1、生成订单:支付-唤起微信支付-取消支付-回到APP-订单详情 2、订单详情:返回上个页面-生成订单...

  • PC 支付流程

    主后端操作支付 :创建订单->提交订单->获取支付的微信二维码或者支付宝链接 ->扫码支付 ->后端监听改变订单状...

网友评论

    本文标题:20180118订单重复支付讨论

    本文链接:https://www.haomeiwen.com/subject/fufooxtx.html