Skip to main content

模拟交易

无论您是刚接通授权回调、还是准备上线前做最后回归,都可以在沙盒里用一个接口完整验证「刷卡—授权—退货—冲正」流程,验证您的 authUrl 决策逻辑与 webhookUrl 入账逻辑是否正确,全程不动用真实资金、不触碰真实卡组织。DCS 是持牌发卡机构,沙盒环境与生产环境共享同一套授权转发流程,您在沙盒里跑通的对接逻辑可平滑迁移到生产。 在合作伙伴自管方案中,额度由接入机构掌握、授权由接入机构决策。因此沙盒模拟的核心价值,在于驱动一次真实的授权转发:DCS 收到模拟交易后,会像处理真实刷卡一样,把授权请求转发到您配置的 authUrl,等待您返回放行/拒绝,再据此回调 webhookUrl
谁做什么
  • DCS:接收模拟请求 → 生成交易 → 向 authUrl 发起授权转发 → 按您的决策回调 webhookUrl
  • 接入机构:发起模拟请求 → 在 authUrl 返回授权决策 → 在 webhookUrl 接收并入账。

接口:模拟授权请求

POST /open-api/simulation/v1/fund-auth 模拟一笔授权请求(消费 / 退货 / 消费冲正),用于在沙盒中触发完整的授权转发与 Webhook 通知流程。
此接口为沙盒(QA/DEV)专用。在生产环境调用会被拦截并返回 OPERATION_NOT_SUPPORT

鉴权与请求头

与所有 /open-api/ 接口一致,需携带鉴权头并设置 Content-Type: application/json。完整规则见 接入鉴权

请求参数

本接口(POST /open-api/simulation/v1/fund-auth)当前不支持指定商户名(merchantName)、商户类别码(MCC)或主动指定拒绝原因(declineReason)等参数;如后续有相关需求请联系 DCS 团队。

请求示例(消费)

响应示例

成功调用返回统一响应结构,授权结果在 data 中:
授权被拒(例如您的 authUrl 返回拒绝)时:

响应字段

关于统一响应结构 {code, message, messageDetail, data}code 为系统级状态(如 SYS_SUCCESS),message/messageDetail 为提示信息。
请注意:HTTP 调用成功 + code=SYS_SUCCESS 并不代表授权通过。本接口的「授权是否通过」以 data.approved 为准——approved=false 时,code 同样可能返回 SYS_SUCCESS。请勿仅凭响应状态判断业务结果。错误码归类见错误码字典

模拟能驱动哪些场景

DCS 沙盒以 authType 区分三类授权方向,覆盖授权转发的核心回路:

推荐的回归顺序

  1. 建一张可用卡:先在沙盒走完开卡流程(见 虚拟卡申请),拿到 cardId
  2. 配好回调地址:确认 authUrlwebhookUrl 已配置并能接收(见 Webhook 配置)。
  3. 模拟一笔消费authType=EXPEND 发起 → 在 authUrl 返回放行 → 检查 data.approved=truewebhookUrl 收到对应事件。
  4. 模拟拒绝:在 authUrl 返回拒绝 → 检查 data.approved=falseerrorCode
  5. 模拟退货 / 冲正:分别用 REFUND / REVERSAL 验证 INCOMING 方向的回调与对账。
模拟交易会生成真实的交易/授权记录并触发真实的 Webhook,与生产同构,因此可直接用于端到端验证。授权/交易记录字段与 Webhook 事件结构见 事件与数据结构授权与清算全场景

暂不支持的独立模拟场景

DCS 当前沙盒仅提供 fund-auth 一个模拟入口,覆盖消费 / 退货 / 冲正。以下场景尚无独立模拟接口,对接时请用文档约定的回调结构进行联调,或联系 DCS 团队协助构造:
DCS 当前以单一 fund-auth 接口 + 三种 authType 覆盖授权转发主回路。如需上表中尚未提供独立模拟入口的场景联调,请联系 DCS 团队协助。

下一步

模拟跑通后,建议对照 授权与清算全场景 核对每种 authType 在您系统中的入账方向,并在 上线前检查 完成最终回归。