事件

我们的可选事件功能允许您监听我们的 SDK 的内部状态,以定制客户的使用体验。

legend:kyc-manual


触发时机

当用户手动完成 KYC 流程后,会触发对应的自定义事件。

事件数据结构

自定义事件通过 detail 属性传递数据,其结构如下:

event.detail: Array<{
  status: string;
}>
  • detail 为数组
  • 数组第一个元素 (detail[0]) 的 status 字段表示当前状态

状态说明(status)

状态值说明
ApprovedKYC 审核通过
RejectedKYC 审核被拒绝
Submitted提交后超过 1 分钟仍未自动审核
start-polling用户进入人脸识别轮询页面

<legend-trade class="legend-trade"></legend-trade>

<script>
  (() => {
    const $legend = document.querySelector("legend-trade");
    $legend.addEventListener("legend:kyc-manual", (e) => {
      console.log(e.type); // "legend:kyc-manual"
      console.log(e.detail);  // [{ status: "Approved" }]
    });
  })();
</script>

legend:kyc-connect

  • 当 KYC Connect 流程完成时触发。
  • 自定义事件的 detail 属性为数组,数组首个元素中的 status 属性表示 KYC Connect 的结果。
  • 当连接成功审核通过时,status 的值为 Approved
<legend-trade class="legend-trade"></legend-trade>

<script>
  (() => {
    const $legend = document.querySelector("legend-trade");
    $legend.addEventListener("legend:kyc-connect", (e) => {
      console.log(e.type); // "legend:kyc-connect"
      console.log(e.detail);  // [{ status: "Approved" }]
    });
  })();
</script>

legend:add-payment-method

  • 当用户添加支付方式成功时触发。
  • 自定义事件的 detail 属性为数组,数组首个元素中的 type 属性表示支付方式的类型,entry 属性表示访问 SaaS 的路由入口。
  • type 可以是 WIRE, ACH, CREDIT
  • 当用户通过 custom-route-entry 设置的 /payment,直接访问添加支付方式的入口时,entry 的值为 /payment
<legend-trade class="legend-trade"></legend-trade>

<script>
  (() => {
    const $legend = document.querySelector("legend-trade");
    $legend.addEventListener("legend:add-payment-method", (e) => {
      console.log(e.type); // "legend:add-payment-method"
      console.log(e.detail);  // [{ type: "ACH", entry: "" }]
    });
  })();
</script>
<legend-trade class="legend-trade" custom-route-entry="/payment"></legend-trade>

<script>
  (() => {
    const $legend = document.querySelector("legend-trade");
    $legend.addEventListener("legend:add-payment-method", (e) => {
      console.log(e.type); // "legend:add-payment-method"
      console.log(e.detail);  // [{ type: "WIRE", entry: "/payment" }]
    });
  })();
</script>

legend:intent-payment

  • 当用户通过预交易流程进入交互时触发。
  • 自定义事件的 detail 属性为数组,数组首个元素中的 type 属性表示支付流程的交互状态,data属性包含 paymentIntentIdexternalOrderId
<legend-trade
  class="legend-trade"
  payment-intent-id="78597e00-56dc-4c16-bc49-6270fba240b9"
  external-order-id="7cd23260-d172-41e9-896b-149b12d053d5"
></legend-trade>

<script>
  (() => {
    const $legend = document.querySelector("legend-trade");
    $legend.addEventListener("legend:intent-payment", (e) => {
      console.log(e.type); // "legend:intent-payment"
      console.log(e.detail); // success | fail | pending | cancel | complete
      // [{ 
      //   type: "success", 
      //   data: { 
      //     paymentIntentId: "78597e00-56dc-4c16-bc49-6270fba240b9",
      //     externalOrderId: "7cd23260-d172-41e9-896b-149b12d053d5",
      //   } 
      //  }]
    });
  })();
</script>