欺诈检测
前言
每一笔交易都需要经过风控,接入 Fraud Detection(欺诈管理)可以预防和减少欺诈率,让您的交易成功率大大提升。
与收银台组件一起使用
若您使用了我们的收银台组件,则不需要手动引入 SDK,组件本身已经集成了 SDK,您无需进行多余配置,组件内部已经帮您配置好环境。
收银台组件引入方式参考:PayKKa Checkout UI Component 使用文档。
接入 API 支付
若您接入 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 是单例,因此多次调用返回的是同一个实例,您无需担心会产生重复请求。
createFraudDetection
您需要调用 paykkaFraudDetection.createFraudDetection()
创建 Fraud Detection,此时内部会开始进行初始化并请求 fraudDetectionID,该方法会缓存请求到的结果,因此多次调用不会更新。
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 环境接入
如果你想在 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
}
// 发送支付请求...
}