每一笔交易都需要经过风控,接入 Fraud Detection(欺诈管理)可以预防和减少欺诈率,让您的交易成功率大大提升。
若您使用了我们的收银台组件,则不需要手动引入 SDK,组件本身已经集成了 SDK,您无需进行多余配置,组件内部已经帮您配置好环境。
收银台组件引入方式参考:PayKKa Checkout UI Component 使用文档。
若您接入 API 支付,则需手动引入 SDK。
通过 CDN 的形式单独引入 Fraud Detection SDK。
下面是香港和欧洲商户引入 SDK 的方式:
<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 是单例,因此多次调用返回的是同一个实例,您无需担心会产生重复请求。
您需要调用 paykkaFraudDetection.createFraudDetection() 创建 Fraud Detection,此时内部会开始进行初始化并请求 fraudDetectionID,该方法会缓存请求到的结果,因此多次调用不会更新。
您可以通过调用 paykkaFraudDetection.fraudDetectionID 获取到 fraudDetectionID。
请求 fraudDetectionID 需要一些时间,不过您不需要等到请求完成也可以发起支付,无论拿到的 fraudDetectionID 是否为空,直接传递即可。
<!-- 引入 Fraud Detection SDK -->
<script src="https://checkout-sandbox.aq.paykka.com/cp/fraud-detection.js"></script>
<!-- 支付按钮 -->
<button onclick="handleClickPay()">支付</button>// 设置 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 环境下使用 Fraud Detection SDK,下面是例子:
<!-- 引入 Fraud Detection SDK -->
<script src="https://checkout-sandbox.aq.paykka.com/cp/fraud-detection.js"></script>
<!-- 支付按钮 -->
<button onclick="handleClickPay()">支付</button>// 配置环境
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
}
// 发送支付请求...
}