图解拒付平台:如何应对用户的拒付

这是《百图解码支付系统设计与实现》专栏系列文章中的第(5)篇。

本章主要讲清楚支付系统中拒付涉及的基本概念,产品架构、系统架构,以及一些核心的流程和相关领域模型、状态机设计等。

1. 前言

拒付在中国比较少见,但是在海外非常普遍,只要做跨境收单支付系统,就无法绕开拒付。

拒付涉及到冻结收单单据,并扣减商户的结算款,所以拒付经常和收单、结算一起讲。下面这个图第三次出现,只是想强调三者之间的紧密关系。

三者的职能如下:

收单核心:主要负责处理商户订单的全生命周期管理:订单创建、支付推进、退款、撤销等。

结算核心:主要负责把商户应收账款算清楚,把结算款按合同约定结转给商户。

拒付核心:主要负责处理用户的拒付和对应的抗辩以及最后的判责。

2. 拒付基本概念

拒付在中国比较少见,但是在海外非常普遍,只要做跨境收单支付系统,就无法绕开拒付。

简单地说,拒付就是指用户在收到账单后,向发卡行申请对某笔交易拒绝付款。然后发卡行、卡组、收单行、第三方收单机构就开始正式进入拒付流程,中间会涉及到拒付举证、拒付判责等。

一旦拒付量大,卡组就会对收单机构的风控能力质疑,有一些惩罚措施,严重可能会影响收单资质,所以一般的收单机构对拒付率看得比较重,收单机构的风控能力也就显得尤为重要。

拒付的原因通常有以下3种:

  1. 用户的卡被盗。
  2. 对商品不满意并产生交易纠纷。
  3. 恶意拒付。

3. 拒付产品架构

拒付的业务相对比较简单,产品架构也比较简单。

4. 拒付核心流程

拒付发生一般有两种来源:1)外部渠道的清算文件,这种一般称为在线拒付。2)外部渠道通过邮件发送给收单机构,需要由收单机构人工录入到内部系统,这种一般称为离线拒付。

拒付发生后,需要通知商家,商家一般会举证。比如证明是用户亲自签收的,或者收货地址是用户常用地址等。

不过从实际情况看,大部分的拒付会判商家或收单机构的责任。所以对收单机构的风控能力要求比较高。

5. 拒付领域模型

拒付的领域模型是根据拒付处理承载的信息来设计的。首先是拒付主单,关联拒付的理由、明细、清算流水,判责等。一旦判断是商家责任,还需要记录赔付信息。

6. 拒付状态机

拒付初始化为等待拒付(WAIT_JUDEG),可以被关闭(CLOSE),如果进入判责流程,就推进到IN_JUDGE,最后判责完成后,推进到JUDGE_FINISH。

7. 风控系统与拒付关系

拒付除了和收单结算紧密相关外,还和风控系统紧密相关,因为交易是由风控系统来判断风险的,如果这个用户的卡被盗刷,那风控系统的实时风控就不应该通过。如果是正常的购买,那风控系统就应该收集证据去抗辩。

这里面涉及的东西会比较多,后面有机会再讲。

8. 结束语

本章主要讲了拒付的基本概念,以及对应的产品和系统架构图,一些核心的领域模型和状态机设计。

到现在为止,与商户业务强相关的收单、结算、拒付就讲完了,后面会进入收银支付的讲解。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/626173.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

教你用五步让千年的兵马俑跳上现代的科目三?

以下是一张我上月去西安拍的兵马俑照片: 使用通义千问,5步就能它舞动起来,跳上现在流行的“科目三”舞蹈。 千年兵马俑跳上科目三 全民舞王 第1步 打开通义千问App,我使用的是华为手机,苹果版的没试; 在…

【算法题】53. 最大子数组和

题目 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分 示例 1: 输入:nums [-2,1,-3,4,-1,2,1,-5,4] 输出&#x…

把握现货黄金的基本操作技巧

在投资市场这个大舞台上,有各种各样的投资产品供投资者选择,其中黄金作为一种重要的投资资产,一直受到广大投资者的青睐。然而,黄金交易并非易事,需要掌握一定的操作技巧。那么,如何才能把握住现货黄金的操…

vue3-条件渲染

条件渲染 v-if v-if 指令用于条件性地渲染一块内容。这块内容只会在指令的表达式返回真值时才被渲染。 <h1 v-if"awesome">Vue is awesome!</h1>v-else 你也可以使用 v-else 为 v-if 添加一个“else 区块”。 <button click"awesome !awesom…

YOLOv5改进 | 主干篇 | 12月份最新成果TransNeXt特征提取网络(全网首发)

一、本文介绍 本文给大家带来的改进机制是TransNeXt特征提取网络,其发表于2023年的12月份是一个最新最前沿的网络模型&#xff0c;将其应用在我们的特征提取网络来提取特征&#xff0c;同时本文给大家解决其自带的一个报错&#xff0c;通过结合聚合的像素聚焦注意力和卷积GLU&…

CSS-Flex布局

文章目录 一、Flex布局总结 一、Flex布局 Flex布局是一种弹性盒子布局&#xff0c;适用于构建响应式的页面布局 Flex布局是一种弹性盒子布局&#xff0c;适用于构建响应式的页面布局。以下是一些Flex布局的技巧&#xff1a; 使用flex属性设置弹性容器的布局方式&#xff0c;常…

《绝地求生》职业选手画面设置推荐 绝地求生画面怎么设置最好

《绝地求生》画面怎么设置最好是很多玩家心中的疑问&#xff0c;如果性能不是问题无疑高特效显示效果更好&#xff0c;但并不是所有画面参数都利于战斗&#xff0c;今天闲游盒带来分享的《绝地求生》职业选手画面设置推荐&#xff0c;赶紧来看看吧。 当前PUBG的图像设置的重要性…

彝族民居一大特色——土掌房

彝族民居一大特色——土掌房在彝区&#xff0c;各地、各支系传承的居室建筑形式是多种多样的&#xff0c;并与当地的居住习俗有密切关联&#xff0c;从村寨的聚落到住宅的地址&#xff1b;从房间的分置到什物的堆放&#xff1b;从建筑结构到民居信仰和禁忌&#xff0c;都表现出…

Day 24 回溯算法 1

77. 组合 代码随想录 1. 思路 典型的回溯算法&#xff0c;分为以下几步&#xff1a; &#xff08;1&#xff09;确定递归函数 这里递归函数就是每一层的遍历&#xff0c;起名为backtrace。这里遍历需要用for循环的起始终止位置&#xff0c;因此参数为n和k &#xff08;2&am…

Linux知识(未完成)

一、Linux 1.1 Linux 的应用领域 1.1.1 个人桌面领域的应用 此领域是 Linux 比较薄弱的环节但是随着发展&#xff0c;近几年 linux 在个人桌面领域的占有率在逐渐提高 1.1.2 服务器领域 linux 在服务器领域的应用是最高的 linux 免费、稳定、高效等特点在这里得到了很好的…

2024年1月15日

1、桌面应用用到系统本身api 1. 文件系统&#xff08;File System&#xff09;&#xff1a; 使用 Node.js 的 fs 模块来进行文件系统操作&#xff0c;读写文件&#xff0c;创建文件夹等。 2. 操作系统信息&#xff08;Operating System Information&#xff09;&#xff1a; 使…

探寻爬虫世界01:HTML页面结构

文章目录 一、引言&#xff08;一&#xff09;背景介绍&#xff1a;选择爬取51job网站数据的原因&#xff08;二&#xff09;目标与需求明确&#xff1a;爬取51job网站数据的目的与用户需求 二、网页结构探索&#xff08;一&#xff09;51job网页结构分析1、页面组成&#xff1…

【Nuxt3】nuxt3目录文件详情描述:.nuxt、.output、assets、public、utils(一)

简言 nuxt3的中文网站 上次简单介绍了nuxt3创建项目的方法和目录文件大概用处。 这次详细说下.nuxt、.output、assets、public、utils五个文件夹的用处。 正文 .nuxt Nuxt在开发中使用.nuxt/目录来生成你的Vue应用程序。 为了避免将开发构建的输出推送到你的代码仓库中&…

如何在原型中实现继承和多态

在JavaScript中&#xff0c;我们可以通过原型链来实现继承。以下是如何在原型中实现继承的例子&#xff1a; // 定义一个动物原型 var Animal function() {}; Animal.prototype.move function() { console.log(‘This animal can move.’); }; // 定义一个狗的原型&#xf…

PageHelper分页功能的简单实现

PageHelper是一个开源的Java分页插件&#xff0c;可以帮助开发者在MyBatis、Hibernate等持久层框架中实现分页功能。它提供了一系列的静态方法&#xff0c;可以简化分页查询的操作。 使用PageHelper进行分页&#xff0c;首先需要在项目中引入PageHelper的依赖&#xff0c;然后…

opencv的SIFT样例(CPP/python)

Python代码的实现&#xff1a; import cv2 import numpy as np import time import os def main():images os.listdir(./images/)pre_image cv2.imread(./images/1.jpg, 0)print("images:",images)# 初始化 SIFT 和 SURFsift cv2.xfeatures2d.SIFT_create()# sur…

博客摘录「 性能优化:__builtin_expect详解」2024年1月15日

性能优化&#xff1a;__builtin_expect详解___builtin_expect对性能的影响-CSDN博客https://blog.csdn.net/chudongfang2015/article/details/75710848 #define LIKELY(x) __builtin_expect(!!(x), 1) __builtin_expect宏定义中为何写成!!(x)&#xff1f; 首先__buildin_expec…

从零开发短视频电商 PaddleOCR Java推理 (四)优化OCR工具类

从零开发短视频电商 PaddleOCR Java推理 &#xff08;四&#xff09;优化OCR工具类 参考&#xff1a;https://github.com/mymagicpower/AIAS/blob/9dc3c65d07568087ac71453de9070a416eb4e1d0/1_image_sdks/ocr_v4_sdk/src/main/java/top/aias/ocr/OcrV4RecExample.java import …

晶振线路匹配需要进哪一些测试

晶振线路匹配的测试对于确保晶振性能的稳定性和可靠性至关重要&#xff0c;那么晶振线路匹配需要进哪一些测试呢? 晶振线路匹配测试是确保晶振性能稳定性和可靠性的关键环节。为了全面评估晶振的性能&#xff0c;需要进行一系列的测试&#xff0c;包括负载电容测试、驱动电平…

Django命令模块

这篇文章我们主要来介绍一下关于 Django 的命令模块&#xff0c;我们经常会使用到&#xff0c;比如以下几个常用的命令&#xff0c;都属于 Django 的命令模块&#xff1a; python manage.py makemigrations python manage.py migrate python manage.py startapp python manage…