本人做支付行业时间不长,所学的东西都是些皮毛,但是能学以致用。 希望我的文章能够帮助到大家。文章分上、中、下三个部分。
这个需要运用到数据库的一些相关的技巧,我不是专业的数据维护人员,仅仅学了1周不到的时间(我去支付公司最开始的1个星期),可能有些命令让专业的人士看了会见笑,毕竟水平有限。 当年也是苦逼党1天看100万行交易数据,但命中率80%以上。不过这些工作程序化之后每天只需要1到2个小时所有的风险数据都能独立完成并加入报告模板,每天3个小时做几个人的工作轻轻松松。
言归正传 总体分为几大类反洗钱、二清商户、如何控制防止拒付、违反交易时间、伪卡测试商户、报表查询、路由规则、计算运营成本、统计类、其他总计10个板块
1. 反洗钱 这个是每个支付工都需要有的风控,有的支付公司的业务人员会告诉商户刷卡金额高于XXX就会被调单冻结,其实系统里是这样实现的。 首先是SQL命令 Select 商户编号 from 交易列表 Where 交易金额>=XXX 每日的日终即每天24时支付公司生成结算单,在数据库中跑交易,然后将交易列表中交易金额大于或等于XXX金额的交易统一拉出来的商户编号制表,然后再次日进行结算的时候将这些交易进行冻结结算,在系统里就是一个if和else的关系。 同样搜索反洗钱的商户也是规定超过某金额交易被列为反洗钱检查目标。 2. 二清商户筛选 当初我做风控报告的时候列举了一些情况: 1) 身份证查姓名数量 select count(*) as [2姓名] from (select distinct 总表.法人姓名,COUNT(b)as 次数2 from 总表group by a having COUNT(*)=2)a select count(*) as [3姓名] from (select distinct 总表.法人姓名,COUNT(b)as 次数3 from 总表group by a having COUNT(*)=3)b select count(*) as [4姓名] from (select distinct 总表.法人姓名,COUNT(b)as 次数4 from 总表group by a having COUNT(*)=4)c select count(*) as [5姓名] from (select distinct 总表.法人姓名,COUNT(b)as 次数5 from 总表group by a having COUNT(*)>=4)d 显示的结果为该法人身份证姓名出现的次数对应的表格 2) 身份证反查代理商 select distinct 总表.法人身份证号,总表.代理商名称 from 总表,(select 总表.a as 身份证,COUNT(b)as 次数from 总表 group by a havingCOUNT(*)>8)abc where 总表.法人身份证号 like replace (abc.身份证,' ' ,'_') 显示的结果为该身份证或类似身份证出现次数8的代理名称 3) 身份证排查报表 这个东西自己研究吧当时因为函数的问题头疼死了,也属于一点小小的隐私,因为咨询过好多同行(非风控)写代码的人士,很多写了之后反推结果都不是太理想,最后自己写的一个准确度100%也验证了好久,就不放出来了。 大概思路就是一张身份证不可能有俩名字。 4) 营业执照查名称和数量 原理同3 5) 营业执照反查代理商 原理同2 6) 营业执照排查报表 原理同3
今天先写到这里有点累了,下一期着重写一下怎么筛选拒付商户
|