> ## Documentation Index
> Fetch the complete documentation index at: https://developers.uqpay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Card

> 创建一张卡片并将其签发给持卡人。

支持两种调用模式：

- **传统模式** —— 传入 `cardholder_id`，将卡片签发给已存在的持卡人。可选传入 `cardholder_required_fields`，补充该卡产品所需但缺失的持卡人数据。
- **一步模式** —— 省略 `cardholder_id`，并传入完整的 `cardholder_required_fields` 块。系统在单次请求中同时创建持卡人和卡片。完整对接流程参见 [一步开卡](/zh/card-issuance/v1.6/guide/one-step-card-issuance)。




## OpenAPI

````yaml /zh/card-issuance/v1.6/issuing.yaml post /v1/issuing/cards
openapi: 3.0.2
info:
  title: Issuing API
  version: 0.0.1
  x-source-en-commit: fdf4a2b
  x-source-en-path: card-issuance/v1.6/issuing.yaml
  description: >
    UQPAY Issuing API 让你签发虚拟卡、管理持卡人，并监控卡交易。


    ## 功能概览

    - 创建并管理虚拟卡（签发、激活、冻结、注销）

    - 通过 KYC 完成持卡人入驻与验证

    - 设置消费限额与卡控制

    - 为卡余额充值与提现

    - 查询卡交易与账户余额

    - 在发卡账户之间转账

    - 生成并下载报表


    ## 身份认证

    所有请求都需要携带有效的鉴权 Token，Token 通过 [Access
    Token](/zh/account-center/v1.6/api-reference/access-token) 接口获取。请在
    `x-auth-token` 请求头中携带该 Token。


    ## 幂等性

    POST 请求支持 `x-idempotency-key` 请求头，可安全重试而不会创建重复资源。
  contact:
    name: UQPAY Support Team
    url: https://www.uqpay.com/support
    email: support@uqpay.com
  license:
    name: Proprietary
    url: https://www.uqpay.com/legal/api-terms
  termsOfService: https://www.uqpay.com/legal/terms
  x-api-id: uqpay-issuing-api-v1.6.0
  x-categories:
    - Card Issuing
    - Transaction Processing
  x-features:
    - Virtual Card Issuance
    - Real-time Processing
    - Webhook Notifications
    - Comprehensive Reporting
    - Transaction Monitoring
servers:
  - url: https://api-sandbox.uqpaytech.com/api
    description: 沙盒环境基础 URL。
  - url: https://api.uqpay.com/api
    description: 生产环境基础 URL。
security: []
tags:
  - name: Card Lifecycle
    description: 创建卡片并管理其完整生命周期——签发、查询、更新、激活、绑定与变更状态。
  - name: Card Secure Data
    description: 通过 PCI 合规接口或令牌化 iframe 访问敏感卡数据（PAN、CVV）。是否可用取决于你的 PCI 状态，而非卡产品。
  - name: Card Funding
    description: 为预付类卡片充值或提取其卡内储值余额。
  - name: Card PIN
    description: 设置并管理卡片 PIN 码。`reset-pin` 用于实体卡，`manage-card-pin` 用于虚拟卡。
  - name: Card Add-ons
    description: >-
      产品专属的卡功能。每个操作仅适用于特定卡产品——参见
      [卡产品](/zh/card-issuance/v1.6/guide/card-products)。
  - name: Card Arts
    description: >-
      管理发卡账户可用的视觉设计（卡面）。可设置账户级默认卡面，或在签发/更新卡片时传入 `card_art_id` 以按卡覆盖。仅 Personal
      Visa 支持。
  - name: Cardholders
    description: 你可以创建持卡人。持卡人是你企业的授权代表，可被签发卡片。
  - name: Transactions
    description: 这些接口用于查询在你用户卡片上发生的交易信息。
  - name: Products
    description: 通过这组接口，你可以为客户创建卡订单。
  - name: Balances
    description: 各币种的可用金额与待处理金额会进一步按资金来源类型细分。你可以查询它，查看发卡账户当前的余额。
  - name: Transfers
    description: 在发卡账户之间转账。
  - name: Reports
    description: 生成并下载发卡报表。
  - name: Simulator
    description: 在沙盒环境中模拟卡交易。
paths:
  /v1/issuing/cards:
    post:
      tags:
        - Card Lifecycle
      summary: Create Card
      description: >
        创建一张卡片并将其签发给持卡人。


        支持两种调用模式：


        - **传统模式** —— 传入 `cardholder_id`，将卡片签发给已存在的持卡人。可选传入
        `cardholder_required_fields`，补充该卡产品所需但缺失的持卡人数据。

        - **一步模式** —— 省略 `cardholder_id`，并传入完整的 `cardholder_required_fields`
        块。系统在单次请求中同时创建持卡人和卡片。完整对接流程参见
        [一步开卡](/zh/card-issuance/v1.6/guide/one-step-card-issuance)。
      operationId: create-card
      parameters:
        - $ref: '#/components/parameters/XOnBehalfOf'
        - $ref: '#/components/parameters/XIdempotencyKey'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CardCreationRequest'
      responses:
        '200':
          headers:
            x-response-id:
              $ref: '#/components/headers/XResponseId'
          description: 成功创建卡片。
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardCreationResponse'
                title: CardCreationResponse
      security:
        - XAuthToken: []
components:
  parameters:
    XOnBehalfOf:
      in: header
      name: x-on-behalf-of
      schema:
        type: string
      required: false
      description: >
        指定代表哪个子账户发起请求。应设置为 `account_id`，该值可通过 [List Connected
        Accounts](/zh/account-center/v1.6/api-reference/list-connected-accounts)
        接口获取。若省略或为空，则请求以主账户身份执行。

        更多信息参见 [关联账户](/zh/account-center/v1.6/guide/connected-accounts)。
      example: 18523f72-f4de-4f9c-bb8e-ec7d1c4f32be
    XIdempotencyKey:
      in: header
      name: x-idempotency-key
      schema:
        type: string
        format: uuid
      required: true
      description: 用于维持操作幂等性的唯一标识符（UUID），确保同一操作的重复执行不会产生意外影响或重复。它有助于在网络错误、重试或失败的情况下保持数据一致性。
      example: 18523f72-f4de-4f9c-bb8e-ec7d1c4f32be
  schemas:
    CardCreationRequest:
      type: object
      required:
        - card_currency
        - card_product_id
      properties:
        card_limit:
          $ref: '#/components/schemas/CardLimit'
        card_currency:
          $ref: '#/components/schemas/CardCurrency'
        name_on_card:
          $ref: '#/components/schemas/NameOnCard'
        cardholder_id:
          $ref: '#/components/schemas/CardholderId'
          description: >
            要签发卡片的持卡人的唯一标识符。


            必须提供 `cardholder_id` 或完整的 `cardholder_required_fields` 块之一。当省略
            `cardholder_id` 时，系统使用 `cardholder_required_fields` 中的值内联创建新持卡人。参见
            [一步开卡](/zh/card-issuance/v1.6/guide/one-step-card-issuance)。
        card_product_id:
          type: string
          description: 卡产品的唯一标识符。
          example: 7c4ff2cd-1bf6-4aaa-bf16-266771425011
        card_art_id:
          $ref: '#/components/schemas/CardArtId'
          description: >
            应用到新卡片的卡面。当省略时，卡片使用发卡账户的默认卡面——默认值的解析方式参见
            [卡面](/zh/card-issuance/v1.6/guide/card-art)。


            该值必须是发卡账户可用的卡面。可通过
            [列出卡面](/zh/card-issuance/v1.6/api-reference/list-card-arts) 查询可用卡面。
        spending_controls:
          $ref: '#/components/schemas/SpendingControls'
        risk_controls:
          $ref: '#/components/schemas/RiskControls'
        metadata:
          $ref: '#/components/schemas/Metadata'
        usage_type:
          type: string
          description: |
            表示卡片是标准可复用卡还是一次性卡。

              * `NORMAL` - 可用于多笔交易的标准卡。
              * `ONE_TIME` - 一次性卡，在 `auto_cancel_trigger` 定义的首次交易事件后自动注销。
          default: NORMAL
          enum:
            - NORMAL
            - ONE_TIME
          example: NORMAL
        auto_cancel_trigger:
          type: string
          description: |
            定义触发 `ONE_TIME` 卡自动注销的交易事件。当 `usage_type` 为 `ONE_TIME` 时必填。

              * `ON_AUTH` - 卡片在首次授权通过后立即注销。该卡上后续的授权请求都将被拒绝。
              * `ON_CAPTURE` - 卡片在首笔交易请款（结算）成功后注销，允许完成一个完整的授权与请款周期。
          enum:
            - ON_AUTH
            - ON_CAPTURE
          example: ON_AUTH
        expiry_at:
          type: string
          format: date-time
          description: 卡片的绝对过期日期和时间。如果在此时间之前卡片未因首次交易事件被注销，则会自动注销，任何未使用的余额都会被释放。
          example: '2026-03-19T18:46:43+08:00'
        cardholder_required_fields:
          $ref: '#/components/schemas/CardholderRequiredFields'
          description: >
            创建卡片时提供的持卡人信息。


            - **传统模式**（提供 `cardholder_id`）：可选；此处提供的字段用于在签发卡片前补全缺失的持卡人数据。

            - **一步模式**（省略
            `cardholder_id`）：必填，且必须包含完整的持卡人创建字段（`email`、`first_name`、`last_name`、`country_code`、`phone_number`）。系统会内联创建持卡人。
    CardCreationResponse:
      type: object
      required:
        - card_id
        - card_order_id
        - create_time
        - card_status
        - order_status
      properties:
        card_id:
          $ref: '#/components/schemas/CardId'
        card_order_id:
          $ref: '#/components/schemas/CardOrderId'
        create_time:
          $ref: '#/components/schemas/CreateTime'
        card_status:
          $ref: '#/components/schemas/CardStatus'
        order_status:
          $ref: '#/components/schemas/OrderStatus'
        risk_controls:
          $ref: '#/components/schemas/RiskControls'
          description: 应用到卡片的风控设置。回显自请求；若未提供，则填充为卡产品的默认值。
        cardholder_id:
          $ref: '#/components/schemas/CardholderId'
          description: |
            持卡人的唯一标识符。在一步模式下，这是新创建的持卡人——请保存此值以便后续引用该持卡人。
        cardholder_created:
          type: boolean
          description: |
            当本次请求内联创建了新持卡人时为 `true`。否则省略。
          example: true
        cardholder_status:
          $ref: '#/components/schemas/CardholderStatus'
        verification_status:
          $ref: '#/components/schemas/VerificationStatus'
          description: |
            持卡人的 KYC 验证结果。当补充字段触发了 KYC 处理时返回。
        kyc_method:
          type: string
          description: >
            回显已应用的 KYC 验证方式。当请求中提供了
            `cardholder_required_fields.kyc_verification` 时返回。

              * `THIRD_PARTY` - 使用了商户提供的 KYC 凭证。
              * `SUMSUB_REDIRECT` - 持卡人被重定向到 Sumsub 完成 IDV。
          enum:
            - THIRD_PARTY
            - SUMSUB_REDIRECT
          example: SUMSUB_REDIRECT
        idv_verification_url:
          type: string
          format: uri
          description: |
            持卡人必须访问以完成身份验证的 IDV 验证 URL。仅当 `kyc_method` 为 `SUMSUB_REDIRECT` 时返回。
          example: https://in.sumsub.com/websdk/p/sbx_4dwsbDuDbpJsMgou
        idv_url_expires_at:
          type: string
          format: date-time
          description: >-
            `idv_verification_url` 的过期时间。仅当 `kyc_method` 为 `SUMSUB_REDIRECT`
            时返回。
          example: '2026-04-25T17:26:50+08:00'
        message:
          type: string
          description: 当因 KYC 要求导致创建卡片被阻止或挂起时的提示信息（如 KYC 不足、字段缺失）。
    CardLimit:
      type: number
      example: 2100.02
      minimum: 0
      description: >
        分配给该卡片的总信用额度，币种参见 `card_currency`。这**不是累计余额**，而是类似信用卡的固定信用额度。


        ##### 各卡产品的字段行为：

        - **Business Mastercard** 和 **Personal Visa**：创建卡片时 `card_limit`
        为**必填**，且必须**大于或等于 0.01**。

        - **Business Visa**：`card_limit` 为**可选**。
          - 若省略，系统默认 `card_limit` 为 0。
          - 若提供，取值必须**大于或等于 0**，最多两位小数。**不允许负值。**

        完整能力矩阵参见 [卡产品](/zh/card-issuance/v1.6/guide/card-products)。
    CardCurrency:
      type: string
      example: USD
      description: 卡币种。
      enum:
        - SGD
        - USD
        - XUSD
    NameOnCard:
      type: string
      maxLength: 26
      example: MARSHALL HU
      description: >
        卡片上显示的持卡人姓名。当 [Secure
        iFrame](/zh/card-issuance/v1.6/guide/secure-iframe-guide)
        渲染持卡人姓名（`cardholder_name=true`）时，此值作为默认值；若省略，iframe 回退到持卡人记录中的
        `first_name + last_name`。
    CardholderId:
      type: string
      description: 持卡人的唯一标识符。
      example: 7c4ff2cd-1bf6-4aaa-bf16-266771425011
      format: uuid
    CardArtId:
      type: string
      example: 01KD52BKQWDMFF63R1NNQN7A79
      description: 卡面的标识符。在不同卡产品间保持稳定；使用相同设计创建多张卡片时复用同一值。
    SpendingControls:
      type: array
      description: 控制该卡片消费的规则。
      items:
        type: object
        required:
          - amount
          - interval
        properties:
          amount:
            type: number
            description: 每个周期允许消费的最大金额，必须大于或等于零。
            example: 100.03
            minimum: 0
          interval:
            type: string
            example: PER_TRANSACTION
            enum:
              - PER_TRANSACTION
            description: |
              应用该金额的周期（或事件）。
              此字段为必填，且必须是以下之一：
                * `PER_TRANSACTION` - 不能超过最大授权金额
    RiskControls:
      type: object
      description: |
        用户自定义的风控设置。

        支持的配置取决于卡产品。能力矩阵参见 [卡产品](/zh/card-issuance/v1.6/guide/card-products)。
      properties:
        enable_3ds:
          $ref: '#/components/schemas/Enable3ds'
        allow_3ds_transactions:
          $ref: '#/components/schemas/Allow3dsTransactions'
        allowed_mcc:
          $ref: '#/components/schemas/AllowedMcc'
        blocked_mcc:
          $ref: '#/components/schemas/BlockedMcc'
    Metadata:
      additionalProperties:
        maxLength: 3200
        type: string
      example:
        key1: value1
        key2: value2
      description: 任意键值对象。最大长度 = 3200 字节。必须是有效的 JSON 数据。
      type: object
    CardholderRequiredFields:
      type: object
      description: >
        创建卡片时提供的持卡人信息。有两种用途：


        - **补充已有持卡人** —— 当提供 `cardholder_id`
        时，此处提供的字段会在签发卡片前补全已有持卡人记录中缺失的部分。此模式下所有属性均为可选。

        - **内联创建持卡人（一步开卡）** —— 当省略 `cardholder_id`
        时，此对象必须包含完整的持卡人创建字段：`email`、`first_name`、`last_name`、`country_code` 和
        `phone_number`。系统在单次请求中创建持卡人并签发卡片。参见
        [一步开卡](/zh/card-issuance/v1.6/guide/one-step-card-issuance)。
      properties:
        email:
          $ref: '#/components/schemas/CardholderEmail'
        first_name:
          $ref: '#/components/schemas/CardholderFirstName'
        last_name:
          $ref: '#/components/schemas/CardholderLastName'
        country_code:
          $ref: '#/components/schemas/CountryCode'
        phone_number:
          $ref: '#/components/schemas/CardholderPhoneNumber'
        date_of_birth:
          $ref: '#/components/schemas/CardholderDateOfBirth'
        gender:
          $ref: '#/components/schemas/Gender'
        nationality:
          $ref: '#/components/schemas/Nationality'
        residential_address:
          $ref: '#/components/schemas/ResidentialAddress'
        identity:
          $ref: '#/components/schemas/Identity'
        kyc_verification:
          $ref: '#/components/schemas/KycVerification'
    CardId:
      type: string
      example: c0cef051-29c5-4796-b86a-cd5b684bfad7
      description: 卡片的唯一标识符。
    CardOrderId:
      type: string
      example: c0cef051-29c5-4796-b86a-cd5ee34bfad7
      description: 卡订单的 ID。
    CreateTime:
      type: string
      description: 对象的创建时间。
      example: '2024-03-21T17:17:32+08:00'
    CardStatus:
      type: string
      description: >
        卡片状态枚举。更多信息参见卡生命周期与状态指南。


        - `PENDING`：创建卡片的请求已收到，正在审核中。

        - `ACTIVE`：创建卡片的请求成功，卡片可以使用。

        - `FROZEN`：所有进入的授权请求都将被拒绝。卡片可以重新激活以接受新的授权。

        - `BLOCKED`：因可疑活动，卡片被 UQPAY 锁定。

        - `PRE_CANCEL`：卡片已被安排注销，处于等待期，期间所有进入的授权请求都将被拒绝。等待期结束后转为 `CANCELLED`。

        - `CANCELLED`：卡片无法再从此状态重新激活，所有进入的授权请求都将被永久拒绝。

        - `LOST`：卡片已向 UQPAY 报失。

        - `STOLEN`：卡片已向 UQPAY 报被盗。

        - `FAILED`：使用 [创建卡片](/zh/card-issuance/v1.6/api-reference/create-card)
        创建卡片的请求失败。
      example: ACTIVE
      enum:
        - PENDING
        - ACTIVE
        - FROZEN
        - BLOCKED
        - PRE_CANCEL
        - CANCELLED
        - LOST
        - STOLEN
        - FAILED
    OrderStatus:
      type: string
      description: |
        此字段包含请求处理后的状态。

         * `PENDING` - 订单请求的初始状态。
         * `PROCESSING` - 此状态将通过 webhooks 通知。
         * `SUCCESS` - 订单请求的最终状态为成功。
         * `FAILED` - 订单请求的最终状态为失败。
      enum:
        - PENDING
        - PROCESSING
        - SUCCESS
        - FAILED
    CardholderStatus:
      description: 持卡人的状态。
      type: string
      default: SUCCESS
      enum:
        - FAILED
        - PENDING
        - SUCCESS
        - INCOMPLETE
    VerificationStatus:
      type: string
      description: |
        与本次创建卡片请求关联的持卡人的 KYC 验证结果。


          * `VERIFIED` - 持卡人的身份已验证。
          * `UNDER_REVIEW` - AML 或 KYC 审核进行中。
          * `ACTION_REQUIRED` - 持卡人必须完成某项操作（如 Sumsub IDV）后，卡片才能激活。
      enum:
        - VERIFIED
        - UNDER_REVIEW
        - ACTION_REQUIRED
      example: UNDER_REVIEW
    Enable3ds:
      type: string
      description: >
        控制是否为该卡片注册 [3D Secure](https://en.wikipedia.org/wiki/3-D_Secure)。


        - `Y` —— 注册 3DS。交易时的验证行为随后由 `allow_3ds_transactions` 决定。

        - `N` —— 不注册 3DS。线上交易完全跳过 3DS 验证。


        仅 **Business Visa** 和 **Personal Visa** 支持；Business Mastercard 上忽略此字段。参见
        [卡产品](/zh/card-issuance/v1.6/guide/card-products)。


        仅当卡片上显式设置时才返回。未设置时，卡片遵循账户级 3DS 配置。


        仅当卡片处于 `PENDING` 或 `ACTIVE` 状态时可修改。
      enum:
        - 'Y'
        - 'N'
      example: 'Y'
    Allow3dsTransactions:
      type: string
      description: >
        决定当交易触发 3DS 时，是否允许 [3D Secure](https://en.wikipedia.org/wiki/3-D_Secure)
        验证流程。


        - **创建卡片时：** 未提供则默认为 `Y`。

        - **更新卡片时：** 无默认值。未提供则保持现有值不变。


        仅 **Business Visa** 支持。参见
        [卡产品](/zh/card-issuance/v1.6/guide/card-products)。


        > **注意：** 此字段仅在 `enable_3ds` 为 `Y` 时生效。若 `enable_3ds` 为 `N`，卡片完全跳过
        3DS，此字段不起作用。


        > **重要：** 当设为 `N` 时，你的卡片使用无摩擦 3DS 验证机制——交易无需输入 OTP
        即可完成，并被视为已通过持卡人验证。因此，此类交易无法基于欺诈或未授权使用发起争议。为增强安全性，建议保持设为 `Y`。


        - `Y`：可能需要 OTP 验证。

        - `N`：不需要 OTP。
      enum:
        - 'Y'
        - 'N'
      example: 'Y'
    AllowedMcc:
      type: array
      items:
        type: string
      description: |
        指定允许交易的商户类别代码（MCC）白名单。
        所有不在此列表中的 MCC 下的交易都将被拒绝。

        **注意：** 每张卡只能配置 `allowed_mcc` 或 `blocked_mcc` 之一。若两者都未提供，交易将遵循默认风控逻辑。
      example: null
    BlockedMcc:
      type: array
      items:
        type: string
      description: |
        指定限制交易的商户类别代码（MCC）黑名单。
        这些 MCC 下的交易将被拒绝，其他所有交易则按 UQPAY 标准风控评估流程处理。

        **注意：** 每张卡只能配置 `allowed_mcc` 或 `blocked_mcc` 之一。若两者都未提供，交易将遵循默认风控逻辑。
      example:
        - '5999'
        - '6011'
    CardholderEmail:
      type: string
      description: 持卡人的电子邮箱地址。
      example: demo@example.com
    CardholderFirstName:
      description: 持卡人的名字。长度必须在 1 到 40 个字符之间，只能包含字母和空格。名字开头或结尾不允许有空格。
      type: string
      example: Emily
    CardholderLastName:
      description: 持卡人的姓氏。长度必须在 1 到 40 个字符之间，只能包含字母和空格。姓氏开头或结尾不允许有空格。
      type: string
      example: Toy
    CountryCode:
      type: string
      description: >-
        两位国家代码 [ISO 3166-1
        alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)。
      maxLength: 2
      example: SG
    CardholderPhoneNumber:
      description: >
        持卡人的电话号码。


        长度校验详情参见
        [电话号码校验规则](/zh/card-issuance/v1.6/guide/phone-number-validation-rules-for-cardholder)。
      type: string
      example: '86683306'
    CardholderDateOfBirth:
      description: 持卡人的出生日期，格式为 `yyyy-mm-dd`。
      type: string
      example: '1990-01-01'
    Gender:
      type: string
      description: |
        持卡人的性别。

          * `MALE` - 男。
          * `FEMALE` - 女。
      enum:
        - MALE
        - FEMALE
      example: MALE
    Nationality:
      type: string
      description: 持卡人的国籍，采用 ISO 3166-1 alpha-2 格式。STANDARD 和 ENHANCED KYC 等级必填。
      minLength: 2
      maxLength: 2
      example: SG
    ResidentialAddress:
      type: object
      description: >
        持卡人的居住地址。


        所有字段只接受字母（A-Z、a-z）、数字（0-9）、空格，以及以下标点：`, . ' / # ( ) -
        &`。包含其他任何字符的请求都会被拒绝——请修正后重新提交。为空的可选字段不做校验。
      required:
        - country
        - city
        - line1
      properties:
        country:
          $ref: '#/components/schemas/Country'
        state:
          type: string
          description: 州/县/省/地区。
          maxLength: 128
          example: Singapore
        city:
          type: string
          description: 城市/区/郊区/镇/村。
          maxLength: 128
          example: Singapore
        district:
          type: string
          description: 城市内的区或子区域。
          maxLength: 128
          example: Buona Vista
        line1:
          type: string
          description: 地址行 1（如街道、邮政信箱或公司名称）。
          maxLength: 255
          example: 9 N Buona Vista Dr
        line2:
          type: string
          description: 地址行 2（如公寓、套房、单元或楼宇）。
          maxLength: 255
          example: THE METROPOLIS
        line_en:
          type: string
          description: 英文地址。
          maxLength: 255
          example: 9 N Buona Vista Dr, THE METROPOLIS
        postal_code:
          type: string
          description: 邮编或邮政编码。如果你打算签发 Enhanced 卡，此字段长度必须为 4-10 个字符。
          maxLength: 16
          example: '138666'
    Identity:
      type: object
      description: 持卡人的身份证件信息。STANDARD 和 ENHANCED KYC 等级必填。
      required:
        - type
        - number
        - front_file
      properties:
        type:
          type: string
          description: |
            身份证件类型。

              * `ID_CARD` - 身份证。
              * `PASSPORT` - 护照。
          enum:
            - ID_CARD
            - PASSPORT
          example: PASSPORT
        number:
          type: string
          description: 身份证件号码。
          example: E12345678
        front_file:
          type: string
          description: Base64 编码的身份证件正面图像。
        back_file:
          type: string
          description: Base64 编码的身份证件背面图像。当 `type` 为 `ID_CARD` 时必填。
        hand_file:
          type: string
          description: Base64 编码的手持身份证件照片。
    KycVerification:
      type: object
      description: KYC 验证信息。ENHANCED KYC 等级必填。
      required:
        - method
      properties:
        method:
          type: string
          description: |
            KYC 验证方式。

              * `THIRD_PARTY` - 商户已通过第三方提供商完成验证并提交凭证。
              * `SUMSUB_REDIRECT` - 将持卡人重定向到 Sumsub 进行 IDV 验证。
          enum:
            - THIRD_PARTY
            - SUMSUB_REDIRECT
          example: THIRD_PARTY
        kyc_proof:
          $ref: '#/components/schemas/KycProof'
    Country:
      type: string
      description: >-
        两位国家代码 [ISO 3166-1
        alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)。
      maxLength: 2
      example: SG
    KycProof:
      type: object
      description: 第三方 KYC 验证凭证。当 `method` 为 `THIRD_PARTY` 时必填。
      required:
        - provider
        - reference_id
        - documents
      properties:
        provider:
          type: string
          description: 第三方 KYC 提供商名称（如 `SUMSUB`）。
          example: SUMSUB
        reference_id:
          type: string
          description: 来自第三方提供商的引用 ID。长度至少 10 个字符，且全局唯一。
          minLength: 10
          example: sumsub_ref_1234567890
        documents:
          type: array
          description: >
            支撑第三方验证的合规报告文件。每一项都指向此前通过
            [上传文件](/zh/account-center/v1.6/api-reference/upload-file) 上传得到的文件。


            必须提供身份验证报告——可以是单独的 `IDV` 报告，也可以是合并的 `IDV_AML` 报告；反洗钱
            （`AML`）报告为可选。报告既可拆成两份文件分开上送（`IDV` 加 `AML`），也可用一份合并文件 （`IDV_AML`）上送。
          minItems: 1
          items:
            $ref: '#/components/schemas/KycProofDocument'
    KycProofDocument:
      type: object
      required:
        - file_id
        - report_type
      properties:
        file_id:
          type: string
          description: >-
            已上传文件的 ID，由
            [上传文件](/zh/account-center/v1.6/api-reference/upload-file) 返回。
          example: b3d9d2d5-4c12-4946-a09d-953e82sed2b0
        report_type:
          $ref: '#/components/schemas/KycReportType'
    KycReportType:
      type: string
      description: |
        文件所含的合规报告类型。

          * `IDV` - 仅身份验证报告。
          * `AML` - 仅反洗钱筛查报告。
          * `IDV_AML` - 一份文件同时覆盖身份验证与反洗钱。
      enum:
        - IDV
        - AML
        - IDV_AML
      example: IDV
  headers:
    XResponseId:
      description: 响应的全局唯一标识符（UUID v4）。在联系 UQPAY 支持团队时有助于定位某次请求。
      schema:
        type: string
        format: uuid
        example: 2adba88e-9d63-44bc-b975-9b6ae3440dde
  securitySchemes:
    XAuthToken:
      type: apiKey
      in: header
      name: x-auth-token
      description: 由 UQPay 提供的登录 API Token。

````