Pyvio Open API Docs
首页
指南
收款
付款
换汇
收单
湃付卡
其它
首页
指南
收款
付款
换汇
收单
湃付卡
其它
  • 快速开始

    • 简介
    • 服务配置
    • 名词解释
    • 错误码
  • 对接流程

    • 接口对接
    • 交易状态
    • 风控风险订单审核
    • 风控插件
      • 3D Secure 认证集成-riskJS 组件
        • 引入 riskJs 组件
      • 初始化
        • 构造方法
        • 调用示例
        • 收集卡信息进行 3D Init
        • 调用方法
        • 调用示例
        • jsGeneratedData 格式
      • 3DS 验证处理
        • 如何处理
  • 收银台模式

    • 跳转式收银台
    • 内嵌式收银台
  • 端到端模式

    • 端到端模式
  • 验收流程

    • 验收流程
  • 建站插件

    • woocommerce
目录

风控插件

# 3D Secure 认证集成-riskJS 组件

# 引入 riskJs 组件

<script src="https://cdn.pyvio.com/plugins/risk-control-v1.js"></script>

# 初始化

# 构造方法

window.PyvioRiskPlugin(options);
属性 类型 必填(Y/N) 描述
options.env String(12) Y 沙箱-sandbox 生产-prod
options.websiteId String(64) Y Pyvio 店铺号
options.merchantUserId String(64) N 商户网站唯一标识
options.riskRequestId String(64) N 订单关联唯一标识
options.requestSource String(64) N 默认S2S

# 调用示例

//初始化参数
let options = {
  env: env, // 沙箱-sandbox 生产-prod
  websiteId: websiteId,
  merchantUserId: merchantUserId,
  riskRequestId: riskRequestId,
  requestSource:'CASHIER'
};

const myRiskPlugin = new window.PyvioRiskPlugin(options);

riskJs 组件初始化部分已经完成

# 收集卡信息进行 3D Init

  • 为了收集完整正确的卡号,该方法可在 卡号 和 卡有效期 input 失焦后进行触发。
  • 初始化完成之后,插件将 jsGeneratedData 注入回调函数-callback。
  • callback 是个异步方法,如当前交易需要 3DS 验证,则需要等 callback 方法将 jsGeneratedData 返回来才能进行验证。

# 调用方法

myRiskPlugin.pyvioRiskInit(options, callback);

cardInfo 和 cardToken,二者必须传送其中一项。

cardInfo

属性 类型 必填(Y/N) 描述
options.cardNumber String(32) N 国际信用卡卡号
options.cardExpireYear String(32) N 有效期-年,4 位数字
options.cardExpireMonth String(32) N 有效期-月,2 位数字

cardToken

属性 类型 必填(Y/N) 描述
options.cardToken String(32) N 可以用来替代 cardInfo

callback

属性 类型 必填(Y/N) 描述
callback Function N 回调函数,可以取到 jsGeneratedData

# 调用示例

/**
 * initOptions传参可以用下面2种方式传值
 */
let initOptions = {
  cardNumber: cardNumber,
  cardExpireMonth: cardExpireMonth,
  cardExpireYear: cardExpireYear,
};
let initOptions = {
  cardToken: cardToken,
};

myRiskPlugin.pyvioRiskInit(initOptions, callback);

function callback(jsGeneratedData) {
  // 自动注入jsGeneratedData
  console.log(jsGeneratedData);
}

# jsGeneratedData 格式

属性 类型 描述
channel_fingerprint_info Array 指纹信息
platform String(32) 设备类型

channel_fingerprint_info 属性

属性 类型 描述
channel_name String(32) 渠道名称
fingerprint_id String(32) 指纹

支付时需要把回调回来的 jsGeneratedData 数据作为risk_info传给创建订单接口。

# 3DS 验证处理

# 如何处理

  • 商户在调用接口-统一下单之后,根据响应的交易状态与 acs_url 处理标识判断是否需要 3DS 验证处理。
  • 如果支付状态 status 为 PENDING并且acs_url 有值,商户前端需要执行风控 JS 提供的pyvioRiskValid函数。
  • 将接口返回的 threeDUnionParams 作为入参调用 pyvioRiskValid 函数,风控 JS 会引导浏览器到 3D 挑战页,持卡人需要正确的完成 3D 验证,才能成功交易。

调用方法

myRiskPlugin.pyvioRiskValid(threeDUnionParams, callback);
属性 必填(Y/N) 描述
threeDUnionParams Y 调用创建订单接口后返回的数据
callback N 商户可在此处理正常支付流程。若该笔交易进入 3D 流程,则该回调不会执行,否则执行该回调函数,处理正常支付逻辑
风控风险订单审核
跳转式收银台

← 风控风险订单审核 跳转式收银台→

© PYVIO Rights Reserved
  • 浅色模式
  • 阅读模式