![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
第三方支付
小布的世界
追逐猎物仅仅靠猛跑是不够的,尤其在对付大群猎物的时候,必要的准备和步骤是获得成功的基础。而谋划是实现这一切的唯一保障。
展开
-
一个关于第三方支付接口的面试题
因为我从事的工作跟要么是第三方支付清结算系统,或者跟第三方支付,或者银行接口相关的工作 前段时间面试的时候,遇到个问题,现在想想还是面试官思路是错误的。 他问我:对接第三方平台的支付接口,对方返回了一个页面怎么办。 我说:不可能啊,都是我们组装个form表单然后,后台组装好,直接丢到前台一个页面,页面加载的时 候直接让他提交,这样用户是无感知的. 他说:不是这样的,现在就是反回了个原创 2016-12-26 18:22:54 · 10416 阅读 · 2 评论 -
第三方支付接口响应超时处理方法
问题:调用第三方支付接口响应时间超过10秒,导致大量线上订单因为超时失败,该接口是实时返回结果的,而且不是一直都慢,是偶尔慢。 解决方法:增加接口调用监控,预定超时时间9秒(为了安全起见),当接口超过9秒未返回结果,自动将改订单设置为处理中,然后后由定时任务调用查询接口。 这样就把,一个实时返回结果的接口,当成一个异步的接口来用了,总比一大堆失败订单等着财务来找好。这类问题应该很多,因原创 2016-12-30 15:39:48 · 25124 阅读 · 0 评论 -
银行支付回调接口通知失败后,过段时间又通知成功
支付订单状态一般情况下分为三大类,待支付,处理中,最终状态(成功或失败)。待支付:支付订单初始化创建处理中:已经组装好支付数据或已经发送至支付机构,还未返回结果最终状态:最终状态就是支付订单的最后状态,是不允许在修改了的。我们是直连的工行,出现了这样一个现象,一个支付订单,回调了两次,第一次是失败提示说用户的账户余额不足,过了有9分钟,第二次通知说支付成功了。 场景分析:用户第一次支付,发原创 2017-01-12 09:54:24 · 5813 阅读 · 0 评论 -
第三方支付退款结果无法实时返回
一般情况下对接银行,或者第三方支付的时候,退款要么是实时返回结果的(到账),要么就是到账之后异步回调的。前段时间接了个第三方支付,退款接口不是实时的,也没有异步回调,只有个退款查询接口。这就相当于,我告诉他我要退款,他告诉我他知道了,然后就没有然后了。那么这就相当尴尬了,如果他接收到我的退款请求,我就把退款单设置为成功,客户肯定会投诉,成功了为啥还没有到账,那要设置成处理中,财务又找来了,账不平!!原创 2017-01-11 15:49:35 · 4391 阅读 · 0 评论 -
第三方支付为何不能实时出款
退款是针对已经支付的订单,进行退款,一般都是原路退的,也就是从什么地方扣得钱,再退到什么地方, 但是红包,或者优惠券例外,这些是不退的,最起码我现在这家公司是不退的。出款跟退款是两码事,出款对应的场景是提现,一般涉及到出款的,都是要经过风控的严格审核才能通过的,而且都不是实时的。为什么出款一般都不是实时的,因为入款不是实时的,银行等支付机构之间的资金清算是有时间差的,一般都是T+1才到账,如果想做原创 2017-01-11 16:02:09 · 3205 阅读 · 0 评论 -
接口幂等的重要性
接口幂等是说,用相同的参数,调用一次和调用多次,其返回的结果应该是一样的。比如一个接口时用来保存数据的,那如果用户在页面上,连续两次点击提交(点击提交后,页面加遮罩层除外),那势必会发送2次请求,如果接口没有做幂等,数据库肯定被插入了2条相同数据如何把接口做成幂等的,如果没有状态的改变和数据库相关的,都设置成单例基本上不用处理就幂等了,如果有状态改变或者数据库操作的话要做一些额外的处理,首先在接口接原创 2017-01-04 16:01:22 · 4371 阅读 · 0 评论