业务时序

VCC 业务时序图

实线表示同步 HTTP 请求与响应,虚线表示 EasyCards 主动发送的异步 Webhook 通知。

VCC · 开卡流程

从产品选择到卡片创建

读取产品要求、准备客户资料、提交开卡申请,并通过 Webhook 和查询接口确认当前结果。

开卡主流程
sequenceDiagram
    autonumber
    participant M as 商户系统
    participant E as EasyCards API

    Note over M,E: 阶段一:读取开卡要求
        M->>E: 查询可用产品及开卡要求 · GET /payment/vcc/products
        E->>M: [同步响应] product_code、card_mode、费用、限额、required_customer_fields
        opt 产品字段要求上传文件
            M->>E: 上传客户文件并取得文件标识 · POST /payment/vcc/files
            E->>M: [同步响应] file_id
        end

    Note over M,E: 阶段二:创建客户并提交开卡申请
        M->>E: 创建持卡人资料 · POST /payment/vcc/customers
        E->>M: [同步响应] customer_id、customer_status
        M->>E: 为客户提交开卡申请 · POST /payment/vcc/card-applications
        E->>M: [同步受理响应] application_id、application_status

    Note over M,E: 阶段三:接收状态通知并查询最终结果
        opt application_status = PENDING
            E-->>M: [异步通知] vcc.application.updated · 状态或 next_action 变化
        end
        M->>E: 查询开卡申请当前结果 · GET /payment/vcc/card-applications/{application_id}
        E->>M: [同步响应] application_status;成功时包含 card_id
        opt application_status = SUCCESS
            M->>E: 查询卡片状态与基本信息 · GET /payment/vcc/cards/{card_id}
            E->>M: [同步响应] card_status、卡片基本信息
        end
同步受理开卡接口在当前 HTTP 请求内返回 application_id 和 application_status。
异步变化申请状态后续变化时,由 vcc.application.updated Webhook 通知。
主动查询使用申请详情和卡片详情接口读取资源的当前状态。
VCC · 卡片操作

余额、敏感数据、充值、提现与卡片状态

区分同步查询、同步受理响应,以及充值、共享卡提现和卡片状态变化的异步通知。

卡片后续操作
sequenceDiagram
    participant M as 商户系统
    participant E as EasyCards API

    opt 查询卡片资金信息
        M->>E: 查询单张卡片当前余额 · GET /payment/vcc/cards/{card_id}/balance
        E->>M: [同步响应] balance、available、frozen
    end
    opt 获取卡片敏感数据
        M->>E: 获取 RSA 加密卡数据 · POST /payment/vcc/cards/sensitive
        E->>M: [同步响应] encrypt_data
    end
    opt 卡片充值或共享卡额度调增
        M->>E: 通过统一充值接口提交金额 · POST /payment/vcc/cards/{card_id}/topups
        E->>M: [同步受理响应] topup_id、topup_status
        E-->>M: [异步通知] vcc.topup.updated · 充值状态变化
        M->>E: 查询充值当前结果 · GET /payment/vcc/topups/{topup_id}
        E->>M: [同步响应] topup_status、金额与费用
    end
    opt 撤回共享卡未使用额度
        M->>E: 提交共享卡提现 · POST /payment/vcc/cards/{card_id}/withdrawals
        E->>M: [同步受理响应] withdrawal_id、withdrawal_status
        E-->>M: [异步通知] vcc.withdrawal.updated · 提现状态变化
    end
    opt 冻结或解冻卡片
        M->>E: 提交卡片状态变更 · POST .../freeze 或 POST .../unfreeze
        E->>M: [同步受理响应] resource_status
        E-->>M: [异步通知] vcc.card.updated · 冻结或解冻终态
        M->>E: 查询卡片当前状态 · GET /payment/vcc/cards/{card_id}
        E->>M: [同步响应] card_status
    end
同步查询余额和加密敏感数据在当前 HTTP 请求内返回。
异步通知充值、共享卡提现及冻结、解冻的后续状态变化通过对应 Webhook 通知。
状态确认Webhook 到达后,使用对应查询接口读取当前资源状态;共享卡提现可通过提现详情接口再次确认。