DianDianPay JS SDK 接入指南
DianDianPay JS SDK 用于在商户页面中 安全获取 Stripe Radar Session ID。商户只需引入一行脚本、传入商户 ID,即可拿到 sessionId,用于后续支付风控校验。
快速开始
1. 引入 SDK
在 HTML 页面底部加入:
html
<script src="https://js.diandianpay.com/sdk/v1/session.js"></script>2. 初始化并获取 sessionId
在 DianDianPay({env, mid}) 初始化后会自动挂载到 window 对象中
html
<script>
const env = 'test'; // 环境:'test' 或 'prod'
const mid = 'acct_wo0DnjcKAgtTjmmh'; // 您的商户 ID(必填)
(async () => {
try {
// const sessionId = await window.DianDianPay({env, mid}).getSessionId();
const sessionId = await DianDianPay({env, mid}).getSessionId();
console.log('会话 ID:', sessionId); // 示例输出: rse_1TfxAmD82ANvaKvDkIEcgNN3
// 将 sessionId 传给后端
} catch (err) {
// 如果获取失败,传 null 给后端
console.error('获取 sessionId 失败:', err.message);
}
})();
</script>3. 完整使用示例
html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>Radar Session 测试</title>
</head>
<body>
<!-- 引入点点支付 SDK -->
<script src="https://js.diandianpay.com/sdk/v1/session.js"></script>
<script>
const env = 'test';
const mid = 'acct_wo0DnjcKAgtTjmmh';
(async () => {
try {
const sessionId = await new DianDianPay({ env, mid }).getSessionId();
console.log('当前环境:', env);
console.log('会话 ID:', sessionId);
} catch (err) {
console.error('获取 sessionId 失败:', err.message);
}
})();
</script>
</body>
</html>JS API 说明
new DianDianPay(options)
创建 SDK 实例。
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
env | string | 否 | 'test' | 运行环境,可选 'test' 或 'prod' |
mid | string | 是 | — | 商户 ID,不能为空 |
示例:
js
const pay = new DianDianPay({ env: 'prod', mid: 'acct_xxx' });若未传 mid,会立即抛出错误:商户 ID 不能为空。
getSessionId()
异步获取 Stripe Radar Session ID。
- 返回值:
Promise<string>,成功时resolve为sessionId - 失败时:
Promise reject,错误信息为字符串
示例:
js
const sessionId = await pay.getSessionId();后端 API 说明
商户后端在向 DianDianPay 发起支付下单请求时,请在请求体中带上前端采集到的风控令牌。
若前端由于超时、网络拦截、广告插件阻断等原因未能成功获取到值,此处请务必传递 null,避免阻塞用户支付。
json
{
"merchant_id": "1",
"env": {
"risk_token": "rse_1TfxAmD82ANvaKvDkIEcgNN3"
}
}
risk_token允许为null。
