首页 > 财经 >

第三方支付接口超时响应、银行原生支付时可能出现的情况分析

2019-12-11 03:12:32 暂无 阅读:863 评论:0

为什么出款一般都不是实时的?因为入款不是实时的,银行等第三方支付机构之间的资金清算有时间差,一般都是T+1才到账,如果想做到实时的出款就有垫资的风险,一般支付公司都不愿意垫资,但支付宝这个大型除外。

对于第三方支付机构而言,银行通知了它支付成功,但是资金实际上还要T+1日才能结算到它的银行账户,也就是说目前只是承诺付款,但实际是在途资金尚未抵达,也就是信息流到了,资金流还没有过来。

第三方支付接口超时响应、银行原生支付时可能出现的情况分析

所以对于支付系统的账务而言,这时的资金还没有在自己的银行存款账户上体现出来,所以不能记入银行存款日记账中,而是应该记入“其他应收款--在途货币资金账户”这一科目,而且这一账户需要银行为其提供清算文件来进行账实核对。

对于银行而言,它是交易银行清算信息的提供者和最终解释者。它不但向第三方支付提供对账服务,还要向个人用户提供对账服务。

关于延时任务

在开发中,往往会遇到一些关于延时任务的需求。例如,生成订单30分钟未支付,则自动取消;生成订单60秒后,给用户发短信。

对上述的任务,我们给一个专业的名字来形容,那就是延时任务。那么这里就会产生一个问题,这个延时任务和定时任务的区别究竟在哪里呢?一共有如下几点区别:

1、定时任务有明确的触发时间,延时任务没有;

2、定时任务有执行周期,而延时任务在某事件触发后一段时间内执行,没有执行周期;

3、定时任务一般执行的是批处理操作是多个任务,而延时任务一般是单个任务。

银行原生通道在支付时可能会出现以下情况

一个支付订单,回调了两次,第一次是失败提示说用户的账户余额不足,过了9分钟,第二次通知说支付成功了。

场景分析:用户第一次支付,发现钱不够,页面没有关,换了一张卡,或者转了足够的钱,继续支付。当第一次通知时,支付状态就已经被设置为支付失败了,第二次通知时,发现已经是最终状态就不再处理了。结果就是客户钱被扣了,订单也没有成功。

解决方案:把失败映射成处理中,只有得到明确的结果说成功了,才修改成成功,这样就不会影响到对账等后续操作,因为对账只对成功的。

相关文章