欺诈检测

前言

每一笔交易都需要经过风控,接入 Fraud Detection(欺诈管理)可以预防和减少欺诈率,让您的交易成功率大大提升。

与收银台组件一起使用

若您使用了我们的收银台组件,则不需要手动引入 SDK,组件本身已经集成了 SDK,您无需进行多余配置,组件内部已经帮您配置好环境。

收银台组件引入方式参考:PayKKa Checkout UI Component 使用文档

接入 API 支付

若您接入 API 支付,则需手动引入 SDK。

引入

通过 CDN 的形式单独引入 Fraud Detection SDK。

下面是香港和欧洲商户引入 SDK 的方式:

html
<script src="https://checkout.eu.paykka.com/cp/fraud-detection.js"></script>

使用

初始化 Fraud Detection 时,需要先设置环境。

环境设置

不同环境(香港/欧洲)下接入 Fraud Detection 的配置是不同的,因此您需要配置对应环境

目前支持的环境如下:

环境描述
eu默认值,欧洲商户可用
hk香港商户可用
us美国商户可用,目前暂未开通

在成功引入并加载 SDK 链接后,会暴露出变量 PayKKaFraudDetection,您需要在调用 PayKKaFraudDetection 的时候传入环境。

const paykkaFraudDetection = PayKKaFraudDetection('hk')

PayKKaFraudDetection 是单例,因此多次调用返回的是同一个实例,您无需担心会产生重复请求。

createFraudDetection

您需要调用 paykkaFraudDetection.createFraudDetection() 创建 Fraud Detection,此时内部会开始进行初始化并请求 fraudDetectionID,该方法会缓存请求到的结果,因此多次调用不会更新。

fraudDetectionID

您可以通过调用 paykkaFraudDetection.fraudDetectionID 获取到 fraudDetectionID

请求 fraudDetectionID 需要一些时间,不过您不需要等到请求完成也可以发起支付,无论拿到的 fraudDetectionID 是否为空,直接传递即可。

示例

html
<!-- 引入 Fraud Detection SDK -->
<script src="https://checkout-sandbox.aq.paykka.com/cp/fraud-detection.js"></script>
<!-- 支付按钮 -->
<button onclick="handleClickPay()">支付</button>
javascript
// 设置 Fraud Detection 环境(假设为香港)
const paykkaFraudDetection = PayKKaFraudDetection('hk')

paykkaFraudDetection.createFraudDetection()

// 点击支付按钮
const handleClickPay = () => {
  // 获取 fraudDetectionID
  const fraudDetectionID = paykkaFraudDetection.fraudDetectionID
  const requestParams = {
    browser: {
      // 传 fraudDetectionID,无论是否为空
      fraud_detection_id: fraudDetectionID,
      ...otherBrowserInfo
    },
    ...otherParams
  }

  // 发送请求
}

Sandbox 环境接入

如果你想在 Sandbox 环境下使用 Fraud Detection SDK,下面是例子:

html
<!-- 引入 Fraud Detection SDK -->
<script src="https://checkout-sandbox.aq.paykka.com/cp/fraud-detection.js"></script>
<!-- 支付按钮 -->
<button onclick="handleClickPay()">支付</button>
javascript
// 配置环境
const paykkaFraudDetection = PayKKaFraudDetection({
  SR: pk_test_51QaC2P5VarcojPHdg13yagk5TqrGkIkeK8I21BgQUZe8BzyRmbtmOg3dKsXjkxt6JlsjyjJMTvBH9dFMCZWRxOkt00tWQ1eHFU
})

// 创建 Fraud Detection
paykkaFraudDetection.createFraudDetection()

// 点击支付按钮
const handleClickPay = () => {
  const fraudDetectionID = paykkaFraudDetection.fraudDetectionID
  const paymentParams = {
    browser: {
      // 传 fraudDetectionID,无论是否为空
      fraud_detection_id: fraudDetectionID,
      ...otherBrowserInfo
    },
    ...otherPaymentParams
  }

  // 发送支付请求...
}