Skip to content

支付安全与风控 ​

更新时间:2026/10/15 17:44:21

「支付安全」分组只管支付域的安全:开放支付接口的防重放校验,和支付发起前的 IP 级风控拦截。账号密码策略、登录安全、两步验证属于系统域的「系统安全配置」(系统管理 → 系统配置),两者是分开的,不要混淆。菜单:支付管理 → 支付安全。

防线总览 ​

开源版的支付防线由两部分组成,对应四个页面:

页面角色
API安全配置开放接口的防重放参数(签名校验始终强制启用,不在此页开关)
风控策略IP 级风控的总开关与各维度开关、命中后拦截还是仅记录
黑名单管理手动维护 IP / 省份 / 城市 黑名单
风险命中记录只读的风控命中台账,用于观察与排查

四个页面的关系:策略与名单是因,命中记录是果。命中记录不会自动变成黑名单(开源版无自动拉黑),处置靠人工回到黑名单管理补录。

API安全配置 ​

开放支付接口的请求签名校验始终启用(见签名机制),本页配置的是额外的两道防重放防线:

配置项默认作用
Nonce 防重放校验关每个请求的随机数在有效期内只能消费一次,重复提交被拦截
请求时间窗口校验关请求时间与服务器时间差超过容差即拒绝(防过期/未来请求)
时间窗口容差300 秒双向允许的最大时间偏差
Nonce 有效期300 秒随机数的去重保留时长

启用后要求商户请求时携带随机数与请求时间字段;两层都关闭时直接放行。只对开放支付接口生效,不影响管理端页面。

风控策略 ​

开源版为 IP 级风控,策略页的开关:

开关默认作用
风控总开关开关闭后所有风控检查跳过,也不再产生命中记录;其余开关随之置灰
黑名单拦截开按 IP 黑名单精确匹配
海外 IP 拦截关拦截中国大陆以外 IP 发起的支付
地区拦截关按 IP 归属的省、市匹配黑名单(省级命中后不再查市级)
IPv6 地区匹配关开启后省/市/海外检查对 IPv6 生效;关闭时 IPv6 直接放行。离线 IP 库精度有限,建议谨慎开启
命中阻断下单开开=命中任一规则即拒绝下单;关=仅记录命中,交易照常(适合上线观察期)

「仅记录」模式

风控刚上线时可以先把「命中阻断下单」关掉:命中记录照常落库供观察,交易不受影响;观察一段时间确认无误判后再打开拦截。

黑名单管理 ​

黑名单有三种类型,全部手动维护:

类型名单值说明
IP具体 IP 地址精确匹配,不支持网段;平台全局生效,不区分商户/应用
省份行政区划(下拉选择)按 IP 归属省份匹配
城市市(省市级联选择)直辖市无独立市级,选省即可

表单字段:类型(创建后不可改)、名单值、状态(启用/禁用)、拉黑原因、过期时间(留空即永久有效,过期自动失效)、备注。同一类型下名单值不可重复。

名单存在 ≠ 会拦截

名单只是数据,拦截还需要开关配合:IP 名单要开「黑名单拦截」、省/市名单要开「地区拦截」,且「风控总开关」必须开着。加了名单没生效时,先回风控策略页核对开关。

风险命中记录 ​

命中记录是只读台账,记录每次风控命中的:阶段(开源版只有支付前)、命中类型(IP / 海外 IP / 省份 / 城市)、命中值、IP 归属城市、交易号、商户、时间;点开可看应用、订单号、支付方式等完整信息。

页面本身没有放行/拉黑按钮。运营的闭环是:在命中记录里观察可疑来源 → 到黑名单管理补录对应 IP 或省/市 → 确认风控策略对应开关已开启。

命中后会发生什么 ​

  • 风控检查发生在下单时(普通支付、网关支付、码牌收款都覆盖;退款、转账不经过风控);
  • 命中且开启「命中阻断下单」:订单被拒绝、不建单,商户侧收到的统一是「交易被限制」的模糊提示(刻意不暴露命中细节,防止探测);
  • 命中但关闭阻断:交易照常,只在命中记录里留一条;
  • 内网地址、解析失败的 IP 等无法判定的情况会放行,属预期行为。

常见问题 ​

商户反馈「交易被限制」怎么排查? 按顺序查:风险命中记录里有没有该笔的命中 → 有则看命中类型与命中值 → 到黑名单管理看是否误加(比如误加了整个省市)→ 确认是否真要拦截。

加了黑名单为什么没拦住? 依次核对:风控总开关是否开启 → 对应维度开关(IP→黑名单拦截;省/市→地区拦截)是否开启 → 名单是否处于启用状态且未过期 → 请求方 IP 是否与名单值精确一致。

IPv6 请求全部放行? 默认如此。需要覆盖 IPv6 时开启「IPv6 地区匹配」,注意离线 IP 库对 IPv6 的精度有限,可能误判。

相关链接 ​