• 首页
  • 如何处理黑平台不出款
  • 黑平台怎么追回资金
  • 平台被黑不出款怎么办
  • 联系我们
  • 开通VIP发文章免审核

{{userData.name}}

个人中心
后台
{{item.count}}
{{textHint.loading}}
  • {{data.name}}({{data.count}}){{data.name}}
写文章
当前位置:首页-如何处理黑平台不出款-正文

第三方数据延迟不可以提款 支付项目中常见的难点

专业出黑 专业出黑 如何处理黑平台不出款11个月前0014.10M0
文章浏览阅读4.3k次,点赞13次,收藏59次。支付平台与银联存在互相回调延迟,造成双方数据库支付**不一致总的来说,这是一个本地服务与第三方服务之间的分布式事务问题。

支付平台与银联存在互相回调延迟,造成双方数据库支付**不一致

总的来说,这是一个本地服务与第三方服务之间的分布式事务问题。

因为根本就不是一个公司的,所以是没办法保证强一致性的。

只能遵循BASE理论,也就是保证两个系统的最终一致性,允许中间有部分时间是由于延迟或者系统挂掉造成的不一致。

总的解决方案就是重试+补偿。

先说一下和第三方系统对接调用的流程:

假设本地服务是支付平台,第三方系统是银联,支付平台会调用银联的支付接口进行支付操作。

1.第一步其实是将各种支付参数比如支付ID、金额、签名等,封装成了一个html发送给银联的接口。

2.银联进行验签后修改自己的数据库为支付成功并异步返回这条信息给支付平台,通常是一条状态码比如200表示成功。

3.支付平台接到状态码后,修改自己数据库的状态,并返回给银联ok。

4.银联收到ok也就放心了,否则还会重试发送支付成功的消息,这个过程有点类似tcp的三次握手。

总而言之,就是要保证双方支付状态的一致性。

但是这个过程由于过于复杂,会遭遇一系列的问题,下面进行一一分析。

如果将问题细分,会有以下几个问题:

1.第三方接口的幂等性和一致性问题

假设出现网络延迟,银联可能没有收到、或者已经收到并在他们的数据库支付成功了,但没能及时回调,也就是我们并不清楚支付成功没有,此时如果贸然重试,有可能造成支付两次的情况(幂等问题),或者银联根本就挂掉了,我们一直重试也没用。

针对这种情况,我们一定时间内接不到回调肯定是要重试的,但是不能直接重试。

重试之前要通过支付ID主动去银联查一下支付状态,如果已经支付成功了,我们就不再重试,未支付则可以重试。

如果根本查不到状态(超时)、或者已经重试多次(要增量重试,1分钟5分钟15分钟这种),返回的状态码都不正确,那说明银联服务挂掉了。

那就要抛异常,然后AOP写入日志,将来手动补偿(仍然要查询银联判断是否已支付成功,保证幂等性),或采用定时任务自动补偿。

具体怎么**日志,主要是通过AOP。

定义方法上的注解切(扫描)到我们的类上。

然后在的和After注解中**请求和响应的内容,封装成json保存到数据库中。

其实,以上方案只能尽量保证99%的一致性,如果你非要说,我查询银联接口显示未支付,结果我支付前的一瞬间银联已支付了,造成重复消费,产生幂等性问题,这种情况有没有可能发生?

有!有是有,但概率极低,但凡和支付相关的所有操作,我们都要通过日志保存到数据库,可以定期和银行进行对账,剿灭这最后的不一致问题。

2.本地服务接口的幂等性和一致性问题

假设出现网络延迟,银联支付成功了,也给我们返回了状态码,我们返回ok却延迟了,也就是银联不清楚我们支付成功没有,此时银联自己会重试(默认10秒接不到ok就重试),但,重试有5次上限,超过了银联就不再重试,这又引申出两个问题,一是如果网络第11秒突然恢复了,此时我们接到两次银联的请求,都代表银联通知我们支付成功,可是我们在银联通知后除了设置数据库状态为支付成功,有可能还要发放支付成功送优惠券什么的,那岂不是会多送?二是如果我们的支付平台根本就是挂掉了,银行重试超过5次就不重试了,两边支付状态就永久不一致了。

针对第一种情况,我们要在自己本地服务的操作中保证幂等性。

通过某个全局唯一的东东,可以是这条支付链路的唯一ID比如订单ID,可以是Redis的唯一key,可以是数据库的唯一key,可以是zk的唯一节点……

总之在发放优惠券前进行判断,如果已经送过了,就不再送了。

针对第二种情况,本地服务出错肯定要**日志了。

然后通过手动补偿(先查询银联支付状态,保证幂等),或者定时任务自动补偿,保证双方数据库支付状态的一致性。

亦或者通过定期对账保证最后1%的不一致的可能性。

3.和第三方接口对接时的数据安全问题

很简单,我们提交的表单有可能被黑客截获并篡改,然后发给银联。

这种情况通过签名解决,也就是RSA算法,银联有私钥,发给我们公钥,公钥签名,只有私钥才能验签,如果黑客对提交的表单数据进行了篡改,是通不过验签的。

但是万一黑客就是很牛逼,篡改了金额,本来1000块的东西,提交给银联,他给篡改成1分钱,银联也没验出来,怎么办?

为了防止这种情况,我们必须要在银联回调我们后,我们设置自己的数据库支付状态为成功之前,先对银联实际支付金额进行判断,如果和我们提交的不一致,则不能设置为支付成功,要设置成支付异常,然后报警。

但是万一黑客就是牛逼到跟上帝一样,银行回调的数据他又给改了,改回1000了咋办,我们也没法判断。

这时日志又派上用场了,我前面说过,所有支付流程必须记日志,所有操作步骤都是可查的,那么在每月一次的和银联的对账中,这种人是逃不了的,最终会被查出来,还是那句话,概率太小,所以也不用担心工作量的问题。

支付平台和订单平台、库存平台的分布式事务问题

这种属于内部系统各个微服务之间的分布式事务问题,如果要求强一致性,回滚迅速,自然要使用2PC/TCC之流。

只是2PC太消耗资源了。

一是事务连接巨慢,因为要统一被一个事务中间件管理,每次都要连接。

二是锁表,第一阶段等待应答过程中所有表都不能使用。

如果使用TCC补偿机制,对资源进行预锁定,失败了也能及时回滚,不失为一个好办法。

最适合的还是MQ+消息表实现最终一致性,具体又会产生以下一些细分问题。

4.消费者端事务失败了怎么办。

这个问题,生产者是不需要回滚的,因为MQ的本质就是把两端解耦了,没有任何关系。

只需要开启MQ的手动ACK,设置好重试次数。

首先说ACK+重试机制其实秘密就在@这个注解,原理是AOP。

当注解的方法没有执行成功,也就是没有发送ACK时,默认自动无限重试。

之所以要设置为手动,就是因为有可能是代码出了问题,这时候无限重试不是浪费资源嘛。

代码出了问题不需要重试,直接抛异常。

之所以设置重试次数,是为了补偿事务,如果超过重试次数,将消息发给死信队列。

让记日志的消费者消费死信队列,然后手动补偿或者定时任务补偿执行事务。

同时,补偿也好,重试也好,都要注意幂等性问题。

所有操作执行之前都要先查询对方是否已经执行过一次,执行过了就不能再次执行。

或者检查某个唯一ID,插入过了说明执行过了,不能再次重试。

5.生产者端事务失败了怎么办

问题比较复杂,就是说,如果生产者投递消息了,消费者也消费消息了,但是生产者事务这时候报错了。

为什么会发生这种情况?难道不是生产者事务成功后才发的消息?

其实是这样的,生产环境代码和业务极其复杂,提交事务也好,发送消息也好,设置返回也好,这几条关键代码中间不是原子性的,总会有可能出点差错……

万一偏偏就在修改了数据库订单,发送完消息后,方法结束之前,出了错,由于@是包裹整个方法的,还是会回滚的呦。

所以你说想要保证订单事务没问题了,再去发送消息,不存在的,没这么简单。

针对这个问题,我们需要再创建一个补偿队列,连接同一个生产者。

消费者发送消息的时候,补偿队列也收到生产者的信息了。

然后通过定时任务去判断生产者事务情况,如果事务回滚了,那么补偿队列去尝试重试生产者的事务。

比如订单调库存,补偿队列通过订单ID查到订单事务回滚了,没有创建,则再创建一次订单。

当然,这里仍然要做幂等性判断,如果订单已经存在了,是不能重复创建的。

相关文章

  • 平台不给出款到底要怎么解决 外汇平台不给出金怎么办?

    平台不给出款到底要怎么解决 外汇平台不给出金怎么办?

    那么外汇出金绝对是每个交易者都非常关心的一个问题,如果出不了金,那么外汇交易显得毫无意义。1.出金时仍有未平仓的订单,而出金数额可能占到保证金的…
    专业出黑 专业出黑 如何处理黑平台不出款8个月前0017.65M0
  • 钱被黑平台黑了怎么办能取出来吗 征信黑了信用卡还能用吗

    钱被黑平台黑了怎么办能取出来吗 征信黑了信用卡还能用吗

    用户征信黑了,信用卡还能不能继续使用,主要看征信黑了的原因。如果是因为逾期导致的征信黑了,那么一般是不会影响信用卡的使用的,最多信用卡的额度不能…
    专业出黑 专业出黑 如何处理黑平台不出款1年前0020.12M0
  • 出黑平台 黑平台出款-到底要怎么办好

    出黑平台 黑平台出款-到底要怎么办好

    四:自己找到我们这些chu黑的人,担心账号密码给了钱会被骗,这个证明你对网上平台平台模式其实严格的组织框架,多级的管理,注意服务器都是设置在国外…
    专业出黑 专业出黑 如何处理黑平台不出款1年前0021.20M0
  • 被黑平台不给提款如何转换额度 2、网上平台营前被黑财务部不给出啥回事?

    被黑平台不给提款如何转换额度 2、网上平台营前被黑财务部不给出啥回事?

    1、阅读心得在黑平台上财务清算显示提款失败,财务清算显示提款失败,真实的解决办法在这里,专业解决的团队,真实快速的办法,非常熟知黑平台的一些套…
    专业出黑 专业出黑 如何处理黑平台不出款9个月前0013.81M0
  • 网上平台被黑不给取款 平台被黑取款提不了怎么办?2023年最新出黑藏分攻略

    网上平台被黑不给取款 平台被黑取款提不了怎么办?2023年最新出黑藏分攻略

    平台被黑取款提不了怎么办?…
    专业出黑 专业出黑 如何处理黑平台不出款1年前0031.95M0
  • 网站提款一直提不出来怎么办 遇到提现就显示通道维护中_提款失败怎么办

    网站提款一直提不出来怎么办 遇到提现就显示通道维护中_提款失败怎么办

    1、文章导语其实凡是去找人解决问题的,一般钱的金额都比较高,最低也是上万了,所以你找人也一定要去找专业的人才可以,因为不专业的人他们多次的登录你…
    专业出黑 专业出黑 如何处理黑平台不出款9个月前0016.57M0
  • 平台系统维护不给出款怎么办 秒杀系统设计套路,一套带走

    平台系统维护不给出款怎么办 秒杀系统设计套路,一套带走

    就是这套路…
    专业出黑 专业出黑 如何处理黑平台不出款9个月前0012.13M0
  • 网上不给提款解决 网络彩不给提款怎么办 诈骗罪的认定

    网上不给提款解决 网络彩不给提款怎么办 诈骗罪的认定

    在日常生活中会有人希望自己成为彩票中大奖的幸运儿,也会买几张彩票试试运气,但是长期买彩票且涉及金额较大的,可能涉嫌违法犯罪。…
    专业出黑 专业出黑 如何处理黑平台不出款8个月前0011.05M0
  • 网上赢钱被黑不给提款怎么办可以拿回 网络赢钱被黑不给提款怎么办	怎么应对平台

    网上赢钱被黑不给提款怎么办可以拿回 网络赢钱被黑不给提款怎么办 怎么应对平台

    网上好好的在网上为什么会被黑的,这其中想必大家都知道是什么原因,如果你还不知道,那么你肯定不了解你玩的…
    专业出黑 专业出黑 如何处理黑平台不出款11个月前0014.20M0
  • 未回传不给下款 在网上平台未回传导致不能提款好几天不能出

    未回传不给下款 在网上平台未回传导致不能提款好几天不能出

    ...…
    专业出黑 专业出黑 如何处理黑平台不出款10个月前0017.46M0
  • 黑平台打不开了是跑路了吗 ATFX:认清黑平台特征,避免投资被骗

    黑平台打不开了是跑路了吗 ATFX:认清黑平台特征,避免投资被骗

    ATFX:认清黑平台特征,避免投资被骗,传销,黑平台,骗局,atfx…
    专业出黑 专业出黑 如何处理黑平台不出款1年前0019.03M0
  • 取款取不出 ATM取款机“吐”不出50元纸币?

    取款取不出 ATM取款机“吐”不出50元纸币?

    ATM取款机“吐”不出50元纸币?2004年02月16日11:17桂龙新闻网-柳州日报近日,自桂林某高校来柳的王同学向本报反映…
    专业出黑 专业出黑 如何处理黑平台不出款11个月前0014.10M0

最新文章

  • 平台系统维护提不了款怎么办 曝某借贷平台涉高利贷陷阱用户权益难维护
  • 在线ai绘画生成软件 4款国内免费ai绘画软件,无限制无审核,巨好玩! - 哔哩哔哩
  • 利用chatgpt进行高考志愿填报 选择计算机专业,后悔莫及?大学老师:高考志愿填报慎选!
  • 在线ai绘画生成软件 7款免费的ai绘画生成器推荐,ai自动生成绘画 - 哔哩哔哩
  • 互联网流量怎么挣钱 流量变现的又一暴利项目,新手可做每天赚500
  • 在线ai绘画生成软件 收藏这18款免费ai绘画软件,轻松掌握ai绘画在线生成图片! - 哔哩哔哩
  • 网上被黑不给提怎么解决 在网上的平台说数据延时提现不了
  • 阿里版chatgpt怎么申请 中国版ChatGPT会是谁?ChatGPT本尊回应了
  • 网上被黑不给提怎么解决 网上提款审核失败,网上被黑提款风控审核失败不给提款怎么解决?可以这样操作
  • 人工智能chatgpt4.0能打游戏吗 超星尔雅《人工智能》章节测验答案
  • 被平台黑了不能取款怎么办 网上被黑平台不让提现困扰您?正确解决方法来帮您一臂之力
  • 如何让chatgpt写完完整代码 用DeepSeek全自动写代码
  • 被平台黑了不能取款怎么办 网上遇到被黑了不能提款怎么办(以下几点教你解决)
  • 如何让chatgpt对文档内容进行整理 原来 ChatGPT 可以这样用:根据个人需求订做一周健康菜单
  • 如何让chatgpt写完完整代码 ChatGPT史诗级大更新!Canvas来了,可辅助完成编程、写作
  • 赢钱被黑网站一直不给提款怎么解决 “警醒”streamingapp是新型诈骗软件,违规操作错为不给提现怎么办
  • 如何让chatgpt对文档内容进行整理 ChatGPT“成人模式”:AI新世界的潘多拉魔盒?
  • 人民币 特别提款权 人民币SDR权重上调至12.28%,有什么作用?专家解读
  • 发货软件哪个好 发货单软件免费版

没有相关内容

Copyright © 2022-至今 被平台黑了取不了款怎么出黑•现在最火的免费发帖推广平台网站 陕ICP备2023010157号
42 次查询在 1.580 秒, 使用 41.38MB 内存