去中心化集成
为了便于去中心化服务的集成,Legend-SDK 扩展了以下参数,改变预设的中心化服务的交互功能。
- 使用去中心化服务的集成方式时,不需要传入中心化服务集成方式中用到的安全参数和签名。
- 验证依赖
payment-intent-id和external-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 - 跳过验证(绿色路径)
条件:本地存在该钱包地址的有效授权令牌
流程:
- 系统直接读取本地存储的令牌
- 用户无需重复验证
- 直接进入 KYC 或交易流程
🔵 情况2 - 验证邮箱(蓝色路径)
条件:钱包地址已关联邮箱,但本地无有效令牌
流程:
- 用户需要验证已绑定的邮箱
- 获取授权令牌
- 令牌持久化存储至本地
- 进入 KYC 或交易流程
🟠 情况3 - 绑定新邮箱(橙色路径)
条件:当前钱包地址没有关联过任何邮箱
流程:
- 进入新增邮箱绑定流程
- 完成邮箱绑定
- 进行邮箱验证获取授权令牌
- 令牌持久化存储至本地
- 进入 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
Updated 3 months ago
