银联冲正

本篇主要为定时任务冲正
冲正交易一般有两种发起途径,一是渠道发起,由服务中间方转发给三方或者核心;
二是服务方的定时调度发起冲正。
渠道发起的冲正是当笔交易异常,渠道未收到应答时对当笔交易进行发起冲正。
服务中间方发起冲正,当笔交易肯定没有正常返回给渠道【包括明确失败】,包括核心返回服务方通讯异常,三方返回服务方通讯异常,这种情况下,我们会明确返回给渠道超时,所以这种异常需要中间服务方发起。
下面主要讨论由服务方发起的冲正场景:
银联有卡交易中,冲正的顺序为先冲核心,核心成功后再冲正银联。
首先在正交易时,需要在通讯异常时将当笔交易信息登记起来,一般会单独建表。
在发起定时任务时,查询冲正表数据,根据业务规则,进行逐笔冲正,当然,为了避免对已经冲正的交易重复冲正浪费资源,可以去原正交易表中查询待冲正交易流水,判断原交易状态是否符合冲正标准。
如果符合冲正标准,接下来判断冲正方法,是冲核心还是冲银联,通常冲银联的交易说明此交易已经冲核心成功。
以冲核心为例:根据查询表数据已经核心接口,组请求核心报文,然后冲正核心,如果返回成功,需要更新冲正方向标识,然后继续冲正银联。当然,这种冲正交易是不需要再次登记冲正表的。当两者冲正结束后,除了更新冲正表外,还需要更新原正交易表。
当待冲正交易条数大于1时,可以在冲正第2条交易前加上休眠间隔,判断冲正交易总数,直到所剩交易数量为0.

猜你喜欢

转载自blog.csdn.net/tangmingxin0529/article/details/80100469