- 集成指南
- PSD2 SCA 合规与豁免
- 针对 PSD2 SCA 的 3DS JavaScript API 集成
针对 PSD2 SCA 的 3DS JavaScript API 集成
此页介绍支持 3DS JavaScript API 集成的 PSD2 SCA 合规与豁免的集成工作。 在继续构建您的集成之前,建议您先熟悉一下 PSD2 SCA 合规与豁免。
支持的豁免
网关目前支持以下豁免:
- 低风险
- 低价值
- 白名单
- 定期付款
- 安全公司支付
先决条件
要遵守 PSD2 SCA 要求,您需要在网关集成中添加 3DS 支付验证。
要通过网关使用 PSD2 SCA 豁免功能:
- 您的 your payment service provider 必须为您要使用的 PSD2 豁免启用并配置您在网关上的商家配置文件。
- 您不能配置任何 3D 验证交易筛选规则。
- 您必须将一个 3DS JavaScript API 与网关集成以使用 3DS2。
- 您应在 发起身份验证时提交尽可能多的付款人和交易信息。 这会增加发卡机构准予或实施豁免的可能性。
请求付款人身份验证
您可以提交身份验证请求,而不申请豁免。 在这种情况下,您不需要对与网关的 3DS JavaScript API的集成进行任何更改。
如果 PSD2 SCA 适用于交易,发卡机构将向付款人呈现 3DS 质询,或实施发卡机构豁免,后一种情况下付款人将经历无障碍结账流。 在这两种情况下,所需的身份验证详细信息都包含在响应中,您可以按照标准方式继续付款。
请求付款人身份验证时申请豁免
如果 Initiate Authentication 响应指示卡可以使用 3DS,即带有值 3DS2 或 3DS1 的 data.authenticationVersion,您可以在调用 authenticatePayer() 方法时申请豁免。 将带有以下值之一的 authentication.psd2.exemption 字段添加到 optionalParams 请求字段中。 有关详细信息,请参见步骤 4: 对付款人进行身份验证。
- LOW_RISK
- LOW_VALUE_PAYMENT
- SECURE_CORPORATE_PAYMENT
如果您未启用申请的豁免,请求将像您未申请豁免一样处理。 发卡机构可以:
- 准予您申请的豁免,
- 实施发卡机构豁免,或
- 拒绝您申请的豁免,也不实施发卡机构豁免。
authentication.challengePreference=NO_CHALLENGE您可以为下列所有情况申请豁免:
- 卡可以使用 3DS2 或 3DS1,即 Initiate Authentication 响应返回带有值 3DS2 或 3DS1 的
data.authenticationVersion。- 如果 3DS2 可用,网关将在身份验证期间请求豁免。
- 如果 3DS1 可用,网关将绕过身份验证并建议您继续处理付款。 网关在将付款提交到收单行进行处理时会自动请求豁免。
- 您的收单行支持 PSD2 豁免。 如果收单行不支持豁免,网关将自动请求身份验证,不会要求豁免。
- 发卡机构支持身份验证的 PSD2 豁免。 如果发卡机构不支持 PSD2 豁免,网关将绕过身份验证并通知您继续处理付款。 网关在将付款提交到收单行进行处理时会自动请求豁免。
如果您未启用申请的豁免,请求将像您未申请豁免一样处理。 发卡机构可以:
- 准予您申请的豁免,
- 实施发卡机构豁免,或
- 拒绝您申请的豁免,也不实施发卡机构豁免。
如果您的收单行或组织不支持豁免,将进行特殊处理。
| 情景 | 描述 |
|---|---|
| 发卡机构准予收单行豁免 | 如果发卡机构批准您所请求的豁免:
|
| 发卡机构实施发卡机构豁免 | 如果发卡机构实施发卡机构豁免:
|
| 发卡机构不准予或实施豁免 | 如果发卡机构不准予您申请的豁免,也不实施发卡机构豁免:
|
| 收单行不支持 PSD2 豁免 | 如果收单行(后续将用于处理付款)不支持 PSD2 豁免,网关将像未申请豁免一样处理身份验证。
|
| 此组织不支持 PSD2 豁免 | 目前仅 Mastercard 和 Visa 支持在执行身份验证时申请豁免。 如果网关不支持为组织请求 PSD2 豁免,网关将继续,不会执行 3DS。
|
继续处理付款
如果响应不包含 data.gatewayRecommendation=PROCEED,我们不建议您继续处理付款。 应要求付款人提供另一组付款详细信息。
如果 Authenticate Payer 响应指示您可以继续处理付款 (response.gatewayRecommendation=PROCEED),通过提交 Authorize 或 Pay 请求来继续处理付款。 有关详细信息,请参阅 使用 3DS JavaScript API 实现 3DS 集成(步骤 5)。
回退到 3DS1
如果卡不支持 3DS2,网关可能会回退到 3DS1。 在这种情况下,如果您申请了豁免,网关行为取决于收单行是否支持 PSD2 豁免。 请参见下表了解详细信息。
| 情景 | 描述 |
|---|---|
| 收单行支持 PSD2 豁免 | 网关将继续,不执行 3DS。
响应不会包含任何 3DS 详细信息(指示未执行 3DS)。 如果您继续处理付款,网关在提交付款由收单行进行处理时会自动请求豁免。 |
| 收单行不支持 PSD2 豁免 | 如果收单行(后续将用于处理付款)不支持 PSD2 豁免,网关将像未申请豁免一样处理身份验证。
|
验证成功后继续付款
如果您成功执行了身份验证,即 Authenticate Payer 响应包含 data.gatewayRecommendation=PROCEED,通过提交 Authorize 或 Pay 请求来继续处理付款。
有关详细信息,请参阅 使用 3DS JavaScript API 实现 3DS 集成(步骤 5)。 网关会自动将 3DS 身份验证详细信息添加到提交给发卡机构的交易请求中。
常见问题
我已经与网关集成来使用 3DS1。 我是否符合 PSD2 SCA 要求?
如果您已经有使用网关适用于 3DS1 的旧版 API 与网关的现有集成,您需要升级到 EMV 3DS 支付验证,然后按照本页介绍的集成步骤操作。
当发卡机构在对付款人进行身份验证时向付款人手机发送一次性密码,3DS 1 仅在此时会被视为符合 PSD2 SCA 要求,如果发卡机构是向付款人分配静态密码,则不会。
由于并非所有发卡机构都使用一次性密码,因此如果要求您遵守 PSD2 SCA 要求,不建议您依靠 3DS1 来实现。
我现在已经有定期付款或其他商家发起付款的付款协议。 我是否需要针对所有协议再次执行付款人身份验证?
您不需要针对此类协议再次对付款人执行身份验证。 各组织有针对过渡期的规则。
如果我使用的是会话,会话中包含豁免,但付款由于不符合 PSD2 SCA 要求被发卡机构拒绝,接下来我该怎样做?
当订单的付款由于不符合 PSD2 SCA 要求而被发卡机构拒绝时,网关会忽略会话中包含的豁免。 因此,您无需在对订单进行 3DS 身份验证之前从会话中删除豁免并重新提交付款。
如何在 Merchant Administration 中搜索和查看订单和交易的 PSD2 豁免详细信息?
通过“订单和交易搜索”在 Merchant Administration 中搜索订单或交易时,可以使用搜索词:
- “付款人身份验证状态”:“身份验证成功”用来查找所有成功通过身份验证的订单
- “付款人身份验证状态”:“身份验证豁免”用来查找申请或实施豁免的所有订单
订单的身份验证状态显示在 Merchant Administration 中“订单和交易详细信息”页面“付款人身份验证详细信息”部分的“付款人身份验证状态”字段中。如果为订单申请或实施了豁免,此字段的值将为“身份验证豁免”。
交易的身份验证状态显示在 Merchant Administration 中“订单和交易详细信息”页面的“交易”部分。 选择您要查看的交易对应的“查看”。 如果为交易申请或实施了豁免,字段“付款人身份验证 - 身份验证状态”的值将为“身份验证豁免”。