爬虫与账单匹配

所属:Paisa 运营人员指南 · 第 6 篇
上一篇LOCAL 代付全流程 · 下一篇异常、重试与重认证

订单进入 审核中 或自动查账时,系统通过 爬虫服务 拉取App用户钱包的 交易历史,再与当前子单比对。本篇说明爬虫做什么、怎样算「对上了」。


1. 爬虫做什么、不做什么

不做
拉取钱包 历史交易(转入/转出) 选卡派单时 实时验卡(见 第 1 篇 自扫描免检)
把账单同步到 用户账单总表(便于补单直查) 对「账单待定」订单单独高频反复爬(代付待定靠定期全量同步)
命中后 自动确认 或进入人工审核分支
实时查账成功时,**顺带把该卡当作「在线」**续期免检、顺延下次自扫描(见 第 1 篇 把「账单总表直查命中、关单后只查总表」等 没真正访问钱包 的情况当作在线证明
  • 代收:匹配 转入(用户收款);退款入账不算收款
  • 代付:匹配 转出(用户付款)。

2. 匹配时间窗(通俗)

  • 默认:从 订单创建后几秒当前时间再放宽约 1 分钟
  • 代收关单后后台重试:上界锚在 关单时刻后再 1 分钟,避免越_retry 窗口越宽导致误匹配。
  • 有银行流水号(UTR)时:流水号精准匹配 优先于时间窗。只要同用户账单里 UTR + 金额(代收为转入成功;代付另校验收款末四位)对上,且该 UTR 未被其他成功单占用,即便交易时间略晚于关单窗口也可确认成功。
  • 代收误填流水号:流水号与账单不一致时 不会直接判失败,继续按 金额 + 时间窗 兜底(与未填流水号相同);命中真实账单后 以账单内流水号为准 覆盖用户误填值。时间窗主要用于无流水号/误填流水号的金额兜底,防止历史同额误配。
  • 代付 UTR 可复用:部分钱包(如 Mobikwik)可能把 同一流水号 用于不同真实付款。若该流水号 已被其他成功代付单占用,系统不会直接判失败,而是启用 第二道匹配:收款方末四位(或 Pocket UPI / IMPS 收款方校验)+ 金额 + 时间在窗内;确认成功时以 钱包侧该笔账单的唯一交易号 防重复入账,而不再因流水号占用拒绝。

2.1 关单后「HIS 已耗尽」

若某次查账 已成功拉到账单 但仍 对不上订单,且本次查账时刻 晚于关单后再 1 分钟,系统认定 实时爬虫窗口已用尽(HIS 已耗尽):

  • 商户补单、关单后 1009 重试:只查 用户账单总表(流水号一致则精准命中;未填或填错则回退金额+时间窗),不再 调钱包实时爬虫。
  • 管理端审核页手动爬虫重试 查用户账单总表(同上);HIS 未耗尽 时未命中可继续请求钱包实时爬虫;HIS 已耗尽 且总表未命中时,子单收敛为关单终态(pay_timeout 或 cancel),并解冻该单仍冻结的App资金。

3. 匹配规则速查

场景 怎么算对上
有银行流水号(代收/代付) 流水号一致 + 金额一致(代收转入成功;代付另要求收款账号 末四位);不强制时间在窗内;确认前校验流水号未被其他成功单占用。Mobikwik 银行账户代付且订单有 IFSC 时,末四位匹配后还会核对 IFSC
代付、流水号已被占用 同上流水号路径无法确认时,回退 收款方 + 金额 + 时间在窗内(含 Pocket UPI / IMPS 收款方校验);以该笔账单的 钱包交易号 防重复,允许同一流水号对应不同真实付款
代付、无流水号 收款方 + 金额 + 时间在窗内
代收、无流水号或流水号填错 金额完全一致 + 时间;排除退款入账;命中后系统可 自动补记/覆盖 流水号(Mobikwik 列表无流水号时,如「UPI 加钱入账」,会再拉该笔 账单详情 解析流水号后再写入子单)。填错流水号 不会 比不填更难匹配
代付多付 流水号对上但实付 多于 应付 → 仍按 成功(同样不强制时间窗)
代付少付 流水号对上但实付 不足:账单金额 ≥10 卢比 → 保持 审核中,Telegram 通知补足,24 小时 未处理则自动拒绝;账单金额 <10 卢比直接拒绝。补款可拆多笔:系统按收款方自动累加(最多 3 笔、单笔≥10 卢比),凑够订单金额后 自动通过,无需人工审核
代付账单还在处理 金额/流水号/收款方像但对上「处理中」状态 → 账单待定(见下节);含 Mobikwik Pocket UPI 转银行IMPS 两类无收款方字段账单的 pending 挂起

Mobikwik 银行账户代付补充说明:HIS 列表里的收款账号通常只有掩码末四位。若订单填写了 IFSC,系统在末四位对上后,会再拉取该笔账单的详情核对 收款方 IFSC。若暂时拿不到 IFSC(详情接口失败等),记为 IFSC 未知,与 IFSC 明确对不上走同一失败处理(用户提交等场景可彻底拒绝;审核中且已过支付超时宽限期也会自动拒绝),不再单独卡在审核中等待。

Mobikwik「Pocket UPI」代付补充说明:部分 Mobikwik 代付(钱包内 UPI 转银行卡)在 HIS 列表里 完全没有收款方信息,过去会直接判为对不上。现在系统会先用 金额 + 时间 锁定候选账单,再拉取该笔账单的 详情,从中解析出收款方账号与 IFSC,核对 收款账号末四位 + IFSC 是否与订单一致——一致才算 成功。只要详情拿不到、或账号/IFSC 对不上,一律按失败处理,绝不会只凭金额和时间就放行

Mobikwik「IMPS」代付补充说明:App用户通过 Mobikwik IMPS 银行转账 代付时,账单列表里通常 没有银行流水号,也 没有 收款方 UPI 字段。系统会先用 金额 + 时间 锁定候选账单,再从账单 描述 中读取括号内的收款账号掩码(末四位),从 重复转账链接 中读取 IFSC,与订单收款账号、IFSC 核对——末四位与 IFSC 均一致 才算 成功。描述或链接里解析不到收款信息、或 IFSC 对不上,一律按失败处理,不会只凭金额和时间就放行(与用户填写的流水号是否一致无关,填错流水号只要账单能对上仍可成功)。

代付误填流水号:App用户提交支付凭证时若 填错银行流水号,但系统通过 收款方 + 金额 + 时间(或 Pocket UPI / IMPS 兜底)已 匹配到真实账单,确认成功时会 以账单内的流水号为准,自动覆盖子单与主单上用户误填的值,便于后续对账与客服查询。流水号精准匹配(用户填对 UTR)的路径不受影响。

代收误填流水号:付款人或商户补单若 填错银行流水号,系统 不会因流水号不一致直接失败;在流水号精准路径未命中后,继续按 金额 + 时间窗 匹配(与未填流水号相同)。命中真实账单后 以账单内流水号为准 覆盖子单上的误填值。流水号填对时仍走精准匹配(可绕过时间窗上界)。

代付审核中超时宽限:子单已在 审核中 时,若某次查账 已成功拉到账单 但仍 对不上,且查账时刻已晚于抢单时 20 分钟支付倒计时结束后再 1 分钟,系统按 彻底拒绝 处理(主单回待处理);此规则优先于「卡未认证继续挂审核」的 hold,与代收「关单后 HIS 已耗尽」口径对齐。宽限截止后,平台约 每分钟 自动写入一次 兜底宽窗 HIS 爬虫(等同运营在审核页手动点「爬虫重试」:先查账单总表、再拉全量 HIS),由该次爬虫匹配结果判决成功或彻底拒绝,不再跳过爬虫直接关单(少付待补足、账单待定仍走各自专用兜底;24 小时 auto_reject_time 仍作最终兜底)。

代付截图 OCR 兜底(账单入账延迟保护):若App用户 已上传支付截图,且 OCR 识别出的 金额、交易时间、收款方账号末四位 与订单一致,但爬虫 暂时对不上账单(常见于钱包侧入账延迟),系统 不会立刻彻底拒绝,而是:

项目 说明
子单 保持 审核中
主单 保持 进行中(商户代付冻结不变)
自动重试 间隔 5 → 10 → 20 → 30 分钟(之后封顶 30 分钟),最多 12 次
最终兜底 120 小时 内仍未匹配 → 系统自动彻底拒绝
时间校验 OCR 截图通常只精确到分钟(如 Paid at 0753 PM → 19:53:00),系统按 整分钟区间 与订单时间窗求交集,不按 :00 秒做点对点比较
收款方识别 兼容 掩码银行账号(如 XXXX1315)、全明文账号UPI VPA,以及 Freecharge 的 xxxx@IFSC.ifsc.npci;Mobikwik 银行转账截图亦按 From 分节前掩码/明文账号解析

少付、账单待定、卡未认证等 专用 hold 优先于本规则;无截图或 OCR 三要素不一致时仍按原逻辑拒绝。


4. 代付:账单待定与少付(摘要)

4.1 账单待定

  • 何时:爬虫看到匹配交易,但钱包状态仍是「处理中」(含 UTR、VPA、Mobikwik Pocket UPI、Mobikwik IMPS 四类命中方式)。
  • 子单支付中命中时也会转入审核中并打待定标记;备注写明原因;不再单独狂爬 该单。
  • 如何出结果:平台约 每 4 小时 全量同步账单;状态变成功 → 自动成功,变失败 → 自动拒绝。
  • 兜底:默认 120 小时 仍无结果 → 系统自动拒绝(可配置,Freecharge 等可加长)。
  • 客服:审核页可手动通过/拒绝。

完整说明:附录:代付匹配与账单待定

4.2 少付待补足

  • 账单实付 ≥10 卢比 且不足订单金额:需用户在 24 小时 内补款或客服处理;与「账单待定」不同——前者要 用户行动,后者等 钱包系统
  • 账单实付 <10 卢比:视为无效少付,直接拒绝,不发补足通知、不等待 24 小时。

多笔账单累加自动通过

用户把差额拆成 第二笔(或第三笔)转账 补齐时,系统不再要求人工审核:

  1. 每 4 小时账单同步(或实时补拉)发现新的 出款成功 账单后,自动识别收款方是否与当前少付订单一致(账号末四位;Mobikwik 另校 IFSC,必要时拉账单详情补齐流水号与 IFSC)。
  2. 收款方一致且单笔金额 ≥10 卢比 时计入累加;同一订单最多累加 3 笔(含首次少付命中的那笔),超过则停止自动累加,改由人工审核。
  3. 各笔金额之和达到订单金额后,自动确认订单成功,并向用户发送 Telegram「已确认成功」通知。
  4. 部分补齐但尚未达标时,会刷新审核备注展示进度,并再发一次 Telegram 进度提醒(已收 / 还差)。
  5. 24 小时截止不顺延:始终以首次进入少付待补足的时刻起算;到期仍未凑够则自动彻底拒绝。
  6. 只认窗口内、未被占用的账单:仅计入 下单之后、24 小时截止之前 的账单;账单或其流水号 已被其它成功订单 占用时不予计入(避免同一笔真实付款被两个订单共用)。订单一旦转为「账单待定」,由待定链路接管,不再累加。

5. 代收:无流水号 / 误填流水号兜底

未填流水号,或已填但与账单不一致时,系统按 金额 + 时间 尝试匹配(见 第 4 篇 查账波次)。
不要因为流水号填错就直接判失败——填错时应与不填走同一套金额+时间窗兜底,命中后用账单真实流水号覆盖误填值。
部分钱包「Pocket UPI」类账单(如 Mobikwik 钱包内收款)在流水列表里 没有流水号字段,也拿不到对方信息。代收场景下用户是 收款方,没有可核对的「收款账号」,因此对这类账单 统一按金额 + 时间窗匹配:只要金额一致且在订单时间窗内即算 成功不再要求用户填写的流水号与账单一致(用户填错或漏填流水号都不影响判单)。

退款入账不算收款:钱包里的 退款 流水(如 Mobikwik UPI_REFUND_WALLET)虽然也是「转入」,但 不能 用来匹配代收订单。系统在实时爬虫匹配与账单总表直查时都会跳过退款类流水,避免把退款误当成商户到账。

说明:曾经短暂要求 Pocket UPI 代收必须额外拉账单详情核对流水号,导致部分真实到账被误判为「流水号不符」而关单(如客服反馈的相关工单),现已改回上述宽松规则。代付方向仍保留 收款账号末四位 + IFSC 的严格核对(见上文「Pocket UPI 代付补充说明」),因为代付的钱是平台付出去的,必须确认收款方正确。


6. 匹配成功之后

  1. 子单 → 成功(或代付少付/待定等例外保持审核中)。
  2. 主单按类型更新(见 第 4第 5 篇)。
  3. 资金按 第 3 篇 落地。
  4. 爬虫记录会标记「本次是否命中」,便于运营追溯。

7. 匹配失败之后

  • 是否立刻关单/拒绝,取决于 谁触发的查账(用户提交 vs 定时自动 vs 重认证补救)。详见 第 7 篇

7.1 用户上传凭证后(payComfirm)

用户确认已付款并上传凭证后,子单进入 审核中,系统按两波次拉账:

波次 时点 未匹配时
首轮 默认 5 秒(Freecharge 30 秒 立即关单/拒绝,等待补充波次
补充 支付确认后 120 秒 代收:仍保持审核中,等满 8 分钟兜底/关单前最后一查再判失败(避免延迟到账误关);代付:按用户提交规则拒绝

若首轮已匹配成功,补充波次会自动跳过。

爬虫返回账单

调用是否成功

见第7篇:掉线或繁忙或暂缓

能否对上订单

确认成功或进入少付/待定

按触发来源决定:立刻关单或等待兜底

7.2 LOCAL 代收:派单 UPI 已变更(hold)

App用户 掉线后重认证 可能把卡内收款 UPI 换成新号码,但订单 QR 仍对应 派单时刻的快照 UPI。此时爬虫拉的是 当前卡 账单,往往 对不上 付给旧 UPI 的流水。

若系统检测到 派单快照 UPI ≠ 当前卡 UPI(且快照非空):

处置 说明
子单 审核中保持 audit;支付中保持 paying(尚未超时),仅 8 分钟最后一搏 时 paying→audit
App用户余额 继续冻结,不解冻
自动关单/取消 不执行(含 8 分钟关单、用户提交未匹配、关单后补单收敛等)
爬虫记录 未匹配原因码为 派单 UPI 已变更,需 人工审核

存量订单无派单快照时,仍按原「未匹配即关单/取消」规则处理。


8. 恶意 ERRORED 账单占位(自动永久封号)

8.1 现象

个别用户会短时间内连续发起大量失败付款,在 PhonePe 账单里表现为 ERRORED 状态。爬虫默认只拉 首屏约 50 笔 交易;若这些错误账单把首屏占满,真实成功收款会被挤出列表,导致正常订单 无法自动匹配

订单查账(PhonePe):系统已改为按订单创建时间起、**从早到晚(ASC)**拉取账单,而不是一律拉「最新 50 笔」。这样用户事后刷新的错误账单不会挡在真实收款前面。定时账单蓄水池同步仍用原来的「最新 50 笔」方式。

8.2 系统自动处置

每次 HIS 爬取成功(含订单查账与约 4 小时一次的账单蓄水池同步)后,系统会统计本次列表中的 ERRORED 账单:

条件 处置
任意 3 分钟时间窗内 ERRORED 超过 10 笔 永久封号(系统自动,非人工)
未达阈值 不处置,按原流程继续匹配/同步

订单查账场景下,即使触发永久封号,系统仍会先完成本次账单的同步与订单匹配;若账单中已有合法收款,当前订单仍可自动确认成功,封号不阻断当次判单。

封号后会:强制下线、写入封号原因、并通过 Telegram 通知用户(已绑定则发)。

8.3 运营说明

  • 封号记录可在会员管理的 用户状态变更历史 中查看,操作方为 system
  • 与「卡风险 / 未认证降级」不同:此为 账号级永久封禁,需管理员解封后方可恢复。
  • 若遇误封争议,请核对同期爬虫记录中 ERRORED 笔数与时间分布后再处理。

下一篇第 7 篇:异常、重试与重认证