问题标签 [3d-secure]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2058 浏览

swift - 如何在 Flutter 中实现 3D Secure(通过 Visa / MasterCard SecureCode 验证)?

现有的 3DS 实施是这样的,在结帐和支付阶段,它涉及将客户从您的应用程序重定向到银行/发卡机构网站,客户可以在其中输入他们之前设置的密码来验证他们确实是持卡人. 然后,该网站会将客户重定向回您的网站,并提供完成交易所需的信息。如何读取银行服务器对重定向的响应?我尝试通过 webview_flutter 执行此操作,但只能获取 URL 重定向。

有一个运行良好的快速代码:

我可以在纯颤振上得到这样的东西吗?

0 投票
1 回答
32 浏览

stripe-payments - 如果客户拒绝在会话中继续 3ds 身份验证怎么办

让我们来看一个客户拒绝为strip 文档中的汽车租赁示例支付杂费的情况。

如果客户的银行要求客户的认证,但客户拒绝这样做……(拒绝付款)怎么办?

以前,即使客户拒绝付款,我们也可以直接向客户收费。但是对于 3DS,我看不到这样做的方法

0 投票
2 回答
337 浏览

opayo - 直接协议 4.00 - ThreeDSRequestorPriorAuthenticationInfo.threeDSReqPriorRef - 我如何填充它?

我想知道如何填充字段。

直接集成规范的“A1.2 ThreeDSRequestorPriorAuthenticationInfoXML”部分指出

3DS 请求者先前交易身份验证信息包含有关在当前交易之前发生的 3DS 持卡人身份验证的可选信息。

该字段threeDSReqPriorRef具有描述:

该数据元素向 ACS 提供附加信息,以确定处理请求的最佳方法。它将包含先前已验证交易的 ACS 交易 ID(例如,与持卡人验证的第一笔重复交易)。此 ID 将在未来通过 My Sage Pay 和 Reporting and Admin API 提供。

显然提供事先参考会“更好”,但我想知道如何填充它?

所以我正在查看 CReq 的内容:

假设所需的数据是从 获得的acsTransID,我大概必须存储这些数据以备下次使用?但我在犹豫我是否应该打开 CRreq,因为这似乎是一种全能的气味?(另请注意,来自 SagePay 测试系统的上述内容也不是有效的 JSON)

SagePay 肯定应该在回复中给出这个参考吗?(我真的不想使用 Reporting API 来获取参考 TBH ......这有点像老鼠窝)

0 投票
1 回答
51 浏览

stripe-payments - 如何实现适用于 3dsecure 支持和不支持的卡的条带 3d 安全?

我已经实现了正常工作的 3D 安全条纹,但我想让它也适用于其他不受支持的卡。

3D 安全文档说 - 3D 安全的行为和支持可能因卡网络和类型而异。对于不支持的卡,请执行常规卡付款。

0 投票
3 回答
930 浏览

opayo - How to debug 3DSecureStatus

I am busy with implementing payments using Sage Pay direct protocol 3.0 (4,0 unavailable yet as I understand)

  1. I register transaction using vspdirect-register.vsp
  2. I redirect user to ACSURL with MD, PAReq and TermUrl using POST
  3. I catch user on TermUrl and check transaction status using direct3dcallback.vsp with MD and PARes

BUT on this stage I always get:

  • STATUS: 'OK'
  • AVSCV2: 'ALL MATCH',
  • StatusDetail: '0000 : The Authorisation was Successful.',
  • AddressResult: 'MATCHED',
  • PostCodeResult: 'MATCHED',
  • CV2Result: 'MATCHED',
  • '3DSecureStatus': 'ERROR'

Using MySagePay tools I get an explanation like :

3D secure status The authentication callback message was MALFORMED. No 3D-Authentication occurred! ERROR
Attempt 1
ECI result Unknown result type

How can I debug this error?

Is it normal that I get status OK even when 3DSecureStatus : ERROR ?

0 投票
4 回答
2278 浏览

opayo - 3DSv2 Sagepay 直接集成基础知识

协议 4.00 的文档可能会更有帮助。对于每个努力让 3DSV2 正常工作的人,我希望任何设法使其正常工作的人都能详细说明基础知识。

我将按照我的理解总结流程,请大家帮忙,在必要时更正并添加任何问题,例如从 VPSTx_Id 中删除 {} 大括号。

  1. 向 SagePay 提出请求以注册交易,包括 ThreeDSNotificationURL,这是 ACS 将在成功与否时重定向您的客户的 URL。
  2. 如果 SagePay 的响应是 3DAUTH,则构建一个向客户显示的表单,其中包含一个 iFrame,其中包含必填字段“acsUrl”、“creq”和“threeDSSessionData”,这些字段是从 SagePay 响应中填写的。(Protocal 4 指南中的第 16 页)。笔记 *

    文档说要使其成为自动提交表单,但最好告知客户他们为什么要向银行进行身份验证并让他们单击按钮继续。YMMV

  3. 客户在 iFrame 中填写身份验证表。
  4. 发卡行向您的 ThreeDSNotificationURL 发送成功或不响应
  5. 根据 3DSv2 或 (3DSv1) 响应,在此响应中发回三个 DSSessionData 或 (MD) 和 CRes 或 (PARes)。
  6. 然后,您的 ThreeDSNotificationURL 代码必须再次发布到 SagePay 回调页面 VPSTxId 和 Cres 或 MD 和 PARes,具体取决于 3DSv2 或 3DSv1
  7. 如果 3DS 验证成功,SagePay 将请求卡授权。
  8. 如果授权获得批准,SagePay 然后会以 VPSTxId 和 10 位数的 SecurityKey 进行响应。
  9. 显示完成页面并告知客户交易成功与否。
  10. 需要澄清一下,“在后备方案中,The Sage Pay MPI 将执行 3DSv1 注册请求”,从响应中确定正在使用 3DSV1 的最佳方法是什么,即 iFrame 表单必须包含 PaReq、MD 和 TermUrl creq 和 threeDSSessionData 根据上面的第 2.) 点。

测试时将 CHALLENGE 放在卡座字段中以测试 3D 方面。

在 MySagePay 上设置 3DSv2 帐户时是否有任何需要注意的问题?

很抱歉,这篇文章很长,但我敢肯定有很多人试图在截止日期之前完成这项工作。

0 投票
1 回答
1319 浏览

php - 如何在订阅类型为尾随时使用 Stripe 3d Secure 进行授权

我想要订阅类型 = 试用的 3d 安全模式授权检查。

我正在按照此链接设置条带订阅。当我创建没有“trial_period_days”的订阅时,3d 安全授权模式会弹出,因为订阅状态变为“不完整”。

但是当我通过 >trial_period_days 和 'payment_behavior' => 'allow_incomplete' 时,模式不起作用,因为订阅状态变为“活动”。

订阅试用时如何显示授权模式?我也看过这个链接https://stripe.com/docs/payments/3d-secure#manual-three-ds,但没有进展。

建议我一种方法来实现这一点。

这是我的代码:

当我将订阅设置为试用时,我也期望 3d 安全授权检查模式。

0 投票
1 回答
1430 浏览

javascript - 如何让 3DSecure 模式与 Stripe Payment 意图一起使用?

我可以为不需要 3DSecure 身份验证的测试卡付款。对于需要它的卡片,不会弹出模式。在仪表板中,付款将显示“客户必须完成额外的身份验证步骤”状态。在这些情况下,我什至达不到

代码部分。使用非 3ds 测试卡,这部分工作正常。调试 javascript 将向我展示来自条带 js 脚本的一些无意义的异常。

鉴于它适用于某些卡,可以排除支付意图的服务器站点初始化和客户端密码的传递,该部分有效。

0 投票
1 回答
683 浏览

php - 即使尝试强制 3D-Secure,3DSv2 也始终返回 Status=OK

我正在尝试设置 3DSv2,目前处于测试环境中。

客户端 URL (cURL)

$postData的包括以下项目:

回复

我现在的状态不应该恢复3DAUTH吗?我需要继续构建我们的 3D-Secure 系统,但此付款不应OK在此处显示状态。

我们在 Sage Pay 中设置了一条规则,要求对超过 500 英镑的付款进行 3D-Secure。这个是。

这是我正在处理的文档:直接集成和协议 4 指南

0 投票
1 回答
235 浏览

java - java.lang.NoClassDefFoundError:解析失败:Lcom/stripe/android/stripe3ds2/service/StripeThreeDs2ServiceImpl;

我正在将条带从 3D Secure 迁移到 3D Secure 2。

当我将库更新为

com.stripe:stripe-android:10.4.2@aar

我收到这个错误

java.lang.NoClassDefFoundError: Failed resolution of: Lcom/stripe/android/stripe3ds2/service/StripeThreeDs2ServiceImpl;

当我使用此命令初始化条带时 Stripe(app,KR.strings.stripe_key)

如果有人可以帮助我,将不胜感激。