拉卡拉分账系统接入前要测试什么?沙箱联调测试清单
拉卡拉分账系统沙箱联调测试环境示意图
一、为什么接入前必须做沙箱测试
分账系统涉及资金的多方流转,一旦上线后出现分账金额错误、分账失败、资金丢失等问题,不仅会造成经济损失,还可能引发商户纠纷和合规风险。因此,在正式接入拉卡拉分账系统(分账通/钱账通)之前,必须在沙箱环境中完成全面的联调测试,确保每一个业务场景都能正确处理。
拉卡拉为开发者提供了完整的沙箱测试环境,与生产环境接口完全一致,但使用模拟资金,不会产生真实交易。沙箱环境支持全功能测试,包括分账创建、分账执行、分账查询、分账回退、回调通知等所有API接口。企业技术团队应在沙箱中跑通所有业务场景后,再切换到生产环境。
|
沙箱获取方式:企业在拉卡拉开放平台(open.lakala.com)注册开发者账号,创建应用后即可自动获取沙箱环境的AppID、AppSecret和测试商户号。沙箱环境完全免费,不限测试次数和测试时长。 |
二、测试前的准备工作
(一)账号与密钥准备
• 注册拉卡拉开放平台开发者账号,完成企业实名认证。
• 创建应用,获取沙箱环境的AppID和AppSecret。
• 配置沙箱环境的回调通知地址(Notify URL),确保公网可访问。
• 下载对应语言的SDK(Java/Python/Go/PHP),或参考API文档自行封装。
• 准备测试用的商户号、分账接收方账号(沙箱环境提供模拟账号)。
(二)测试环境搭建
• 部署测试服务,配置沙箱环境的API网关地址。
• 确保测试服务器可以访问外网(调用拉卡拉API)。
• 配置回调接收端点,能够接收并验证拉卡拉的异步通知签名。
• 准备测试数据库,用于记录分账订单和对账数据。
• 搭建日志系统,便于排查接口调用问题。
(三)测试数据准备
• 准备多个测试商户号,模拟平台方和分账接收方。
• 准备不同金额的测试订单(小额、中额、大额、边界金额)。
• 准备不同分账比例的测试场景(等额、不等额、比例+固定混合)。
• 准备异常测试数据(超额分账、无效账号、金额为零等)。
三、核心功能测试清单
(一)分账创建接口测试
|
测试项 |
测试内容 |
预期结果 |
|
正常创建 |
传入合法的商户号、订单号、分账明细 |
返回分账单号,状态为"待分账" |
|
比例分账 |
分账接收方按比例分配(如A 70%、B 30%) |
各接收方分账金额=订单金额×比例,精确到分 |
|
固定金额分账 |
分账接收方按固定金额分配 |
各接收方分账金额=指定固定金额 |
|
混合分账 |
部分接收方按比例,部分按固定金额 |
固定金额优先扣除,剩余按比例分配 |
|
多方分账 |
分账接收方数量≥5个 |
所有接收方金额正确,总和不超过订单金额 |
|
订单号重复 |
使用相同商户订单号重复创建 |
返回幂等成功,不重复创建分账单 |
|
金额精度 |
分账金额含多位小数(如33.333元) |
系统按四舍五入或截断规则处理,需确认具体规则 |
(二)分账执行接口测试
|
测试项 |
测试内容 |
预期结果 |
|
正常执行 |
对"待分账"状态的分账单执行分账 |
分账成功,各接收方余额增加,状态变为"已分账" |
|
重复执行 |
对同一分账单重复执行 |
幂等处理,不重复分账 |
|
部分执行 |
指定部分接收方执行分账 |
仅指定接收方分账成功,其余保持待分账 |
|
余额不足 |
订单可用余额不足分账金额 |
返回余额不足错误,分账失败 |
|
超时执行 |
分账单超过有效期后执行 |
返回分账单已过期,需重新创建 |
(三)分账查询接口测试
• 按分账单号查询:返回正确的分账状态和明细。
• 按商户订单号查询:返回该订单关联的所有分账单。
• 按接收方查询:返回该接收方的分账记录列表。
• 分页查询:分页参数正确,数据不重复不遗漏。
• 查询不存在的分账单:返回明确的"记录不存在"错误。
(四)分账回退接口测试
|
测试项 |
测试内容 |
预期结果 |
|
全额回退 |
对已分账的订单全额回退 |
所有接收方金额扣回,订单恢复原状态 |
|
部分回退 |
指定部分金额或部分接收方回退 |
仅指定部分回退,其余保持不变 |
|
回退金额超限 |
回退金额大于已分账金额 |
返回金额超限错误 |
|
重复回退 |
对同一笔分账重复回退 |
幂等处理,不重复扣减 |
(五)回调通知测试
• 分账成功通知:分账执行成功后,回调地址收到通知,包含分账单号、状态、明细。
• 分账失败通知:分账失败时收到通知,包含失败原因。
• 签名验证:回调通知的签名验证通过,防止伪造通知。
• 通知重试:回调地址不可用时,系统按策略重试(通常重试3-5次,间隔递增)。
• 通知幂等:同一通知多次送达时,业务系统幂等处理。
四、异常场景测试清单
(一)参数异常
• 必填参数为空:返回明确的参数缺失错误。
• 参数格式错误(如金额为负数、账号格式不对):返回参数校验失败。
• 分账比例总和超过100%:返回分账比例超限错误。
• 分账金额总和超过订单金额:返回分账金额超限错误。
• 分账接收方账号不存在或未绑定:返回接收方无效错误。
(二)业务异常
• 订单未支付就分账:返回订单状态异常。
• 订单已全额分账后再次分账:返回可分账余额不足。
• 分账接收方账户被冻结:返回接收方状态异常。
• 跨商户分账(平台A分给平台B的商户):根据权限配置返回相应结果。
(三)网络与系统异常
• API请求超时:业务系统应有超时重试机制,注意幂等。
• 网络中断后恢复:未完成的分账如何处理,需确认是否需要手动补偿。
• 并发请求:同一订单同时发起多个分账请求,确保不重复分账。
• 系统维护期间:API返回维护提示,业务系统有降级处理。
五、多级分账专项测试
钱账通支持A→B→C多级分账,需要额外测试以下场景:
• 二级分账:A分账给B后,B再分账给C,验证C的到账金额和分账手续费。
• 三级及以上分账:验证多级分账的层级限制和手续费累计。
• 多级分账回退:C回退给B,B回退给A,验证逐级回退的正确性。
• 多级分账查询:按层级查询分账关系,确保链路完整可追溯。
• 中间方手续费:验证B作为中间方收取的手续费或分润是否正确。
六、性能与安全测试
(一)性能测试
• 单接口响应时间:分账创建、执行、查询接口的响应时间应在200ms以内。
• 并发处理能力:模拟100/500/1000并发请求,验证系统稳定性。
• 大批量分账:单次分账接收方数量达到上限(如50个)时的处理性能。
• 长时间运行:连续24小时跑测试,验证无内存泄漏和连接泄漏。
(二)安全测试
• 签名验证:篡改请求参数后签名验证失败,请求被拒绝。
• 重放攻击:使用相同请求重复发送,幂等机制生效。
• 权限控制:A商户不能查询或操作B商户的分账单。
• 敏感数据:接口返回中不暴露AppSecret等敏感信息。
• HTTPS加密:所有API调用强制HTTPS,不允许明文传输。
七、对账与财务测试
• 交易对账:分账订单金额=各接收方分账金额之和+平台留存金额+手续费。
• 日终对账:拉卡拉提供的日对账文件与业务系统数据一致。
• 手续费核算:每笔分账的手续费计算正确,与签约费率一致。
• 退款对账:分账后退款,各方金额回退正确,手续费处理符合约定。
• 跨月对账:月末最后一天的分账数据正确归属到对应月份。
八、测试通过标准与上线条件
|
验收项 |
通过标准 |
|
核心功能测试 |
所有测试用例100%通过,无P0/P1级缺陷 |
|
异常场景测试 |
异常处理正确,错误码清晰,业务系统有对应处理逻辑 |
|
回调通知 |
通知接收率100%,签名验证通过,幂等处理正确 |
|
多级分账 |
A→B→C全链路分账金额正确,手续费核算无误 |
|
性能指标 |
接口响应≤200ms,并发测试无异常 |
|
安全测试 |
签名、权限、加密均通过 |
|
对账测试 |
连续3天日对账数据一致,差异率为0 |
|
文档与运维 |
接口文档完整,运维监控告警配置完成 |
|
上线建议:沙箱测试全部通过后,建议先在生产环境使用小额真实交易进行灰度验证(如每笔1元),跑通完整的分账→到账→对账流程后,再逐步放大交易量。上线后前两周安排专人监控分账成功率和对账差异,确保系统稳定运行。 |
总结:分账系统接入前的沙箱测试是保障资金安全和业务稳定的关键环节。测试范围应覆盖核心功能、异常场景、多级分账、性能安全、对账财务五大维度,确保每一个业务场景都经过验证。拉卡拉提供免费的沙箱环境和多语言SDK,企业技术团队应充分利用,完成全面测试后再上线,避免因接口问题导致资金风险。


