去中心化集成

为了便于去中心化服务的集成,Legend-SDK 扩展了以下参数,改变预设的中心化服务的交互功能。

  • 使用去中心化服务的集成方式时,不需要传入中心化服务集成方式中用到的安全参数和签名。
  • 验证依赖 payment-intent-idexternal-order-id

✅ 必须传入的参数

参数名描述
user-flow固定为 "dex-wallet"
payment-intent-id用于支付意图验证
external-order-id外部订单号,用于关联交易

🚫 不需要的参数

参数名
app-id
app-key
app-url
app-uid
app-email
signature



user-flow(必填)

  • 控制Legend- SDK业务流程方案,默认值为 cex-email,在去中心化服务集成中需要设置为 dex-wallet
  • 可选:cex-email | dex-wallet
  • 设置为 dex-wallet时,用户会进入去中心化服务适配的交互流程,通过邮箱完成验证。

<legend-trade-full
  user-flow="dex-wallet"
></legend-trade-full>



payment-intent-id(必填)

  • 预先交易的支付订单号
  • 从服务端请求 /app/payment/intent 返回内容中获取。
  • 需要和 external-order-id正确关联,同时传入。校验成功后将直接进入确认交易的支付页面。
<legend-trade-full
  payment-intent-id="6c8683e9-acdb-4451-b1b8-c44363d102f4"
  external-order-id="0123456789"
></legend-trade-full>

external-order-id (必填)

  • 外部发起交易的订单号
  • 从服务端请求 /app/payment/intent 返回内容中获取。
  • 需要和 payment-intent-id正确关联,同时传入。校验成功后将直接进入确认交易的支付页面。
<legend-trade-full
  payment-intent-id="6c8683e9-acdb-4451-b1b8-c44363d102f4"
  external-order-id="0123456789"
></legend-trade>



交互流程简述

🟢 情况1 - 跳过验证(绿色路径)

条件:本地存在该钱包地址的有效授权令牌

流程

  1. 系统直接读取本地存储的令牌
  2. 用户无需重复验证
  3. 直接进入 KYC 或交易流程

🔵 情况2 - 验证邮箱(蓝色路径)

条件:钱包地址已关联邮箱,但本地无有效令牌

流程

  1. 用户需要验证已绑定的邮箱
  2. 获取授权令牌
  3. 令牌持久化存储至本地
  4. 进入 KYC 或交易流程

🟠 情况3 - 绑定新邮箱(橙色路径)

条件:当前钱包地址没有关联过任何邮箱

流程

  1. 进入新增邮箱绑定流程
  2. 完成邮箱绑定
  3. 进行邮箱验证获取授权令牌
  4. 令牌持久化存储至本地
  5. 进入 KYC 或交易流程
flowchart TD
    A[用户进入 LG-SDK] --> B[通过 payment-intent-id 获取钱包地址与关联邮箱]
    B --> C{本地是否存在该钱包地址的有效授权令牌?}
    C -- 有 --> D[读取本地授权令牌]
    D --> F[进入 KYC 或交易流程]
    C -- 无 --> E{当前钱包地址是否已关联邮箱?}
    E -- 是 --> G[用户验证邮箱 获取授权令牌]
    G --> H[令牌持久化存储至本地]
    H --> F
    E -- 否 --> I[进入新增邮箱绑定流程]
    I --> G

    style D fill:#e1f7e1,stroke:#333,stroke-width:1px
    style F fill:#e1f7e1,stroke:#333,stroke-width:1px
    style G fill:#e1f0ff,stroke:#333,stroke-width:1px
    style H fill:#e1f0ff,stroke:#333,stroke-width:1px
    style I fill:#fff0e1,stroke:#333,stroke-width:1px



在线示例

https://demo.legendtrading.com/?preset=jssdk-dex-wallet