支付安全与风控
「支付安全」分组只管支付域的安全:开放支付接口的防重放校验,和支付发起前的 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 的精度有限,可能误判。