问题标签 [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.
javascript - 带 3d 安全卡和 next_action 的条带订阅 null
我们正在努力准备我们的 Stripe 订阅工作流程,以符合 2019 年 9 月 14 日生效的在线支付的新 SCA 要求。在尝试调整 Javascript 和 PHP 代码以接受 3d 安全信用卡时,我们遇到了一些问题创建订阅。
我们已经尝试过这里指出的内容,但没有运气。我们在enable_incomplete_payments = true
从服务器端创建订阅时发送,但响应返回next_action = null
虽然订阅的状态是pending
.
这是我们一步一步做的:
(客户)我们开始元素
(客户)我们使用测试卡4000000000003220
(3d 安全)
(client) createToken() -> 发送令牌到服务器
(服务器)从客户端获取令牌并创建客户:
(服务器)创建订阅
在这里,我们应该有status=requires_action
作为响应,但我们收到的是status=null
。在下一步中:
这里失败(没有其他操作或弹出窗口),出现错误:
谢谢你,马可
opayo - 正确挑战后 3DSv2 Sagepay 直接集成“找不到页面”
我们已经为即将到来的 3DSv2 支付卡支票配置了一个测试。test.sagepay.co.uk
服务器以找不到“ https://test.sagepay.com/html_challenge_answer ”的页面作为响应,这是他们对正确质询的响应。
有没有其他人在他们的 4.00 版实现中成功测试过这个?
javascript - Stripe Subscriptions - Charing 一个 3D 安全卡号返回 subscription_payment_intent_requires_action
我们正在将 3D 安全结账与我们当前的订阅计费解决方案集成。我们提供 7 天免费试用的月度计划。对于集成,我们使用 SetupIntent 来确定客户的卡信息是否需要 3D 安全授权。使用需要 3D 安全的 Stripe 测试卡,我们handleCardSetup()
在结帐页面的 javascript 中调用该函数。然后在授权成功后,将客户的付款方式附加给客户。然后继续结帐,我们创建订阅。我们扩展latest_invoice.payment_intent
订阅。
根据 Stripe 的文档:
“SetupIntents 是为不需要初始付款的订阅自动创建的。如果需要身份验证和授权,它们也会被执行。如果两者都成功,或者不需要它们,则不需要任何操作,并且订阅.pending_setup_intent 字段为空。”
当我查看 call 的响应时Subscription.create(params)
,我看到该pending_setup_intent
字段等于null
。但是,当在 Stripe 的仪表板上查看订阅时,我看到尝试从卡中扣款返回了一个402
错误,并有以下响应:
是什么赋予了?我在某个地方错过了一步吗?我们目前正在使用最新版本的 Stripe API 2019-05-16
:. 我附上了我们用于创建SetupIntent
、附加PaymentMethod
到Customer
和创建 的代码Subscription
。如果我的代码中有任何错误,请告诉我。
设置意图:
Javascript:
付款方式:
订阅:
opayo - Sagepay 3D Secure 重定向到 acs url 返回一个空白页面
重定向到以下 url(使用 CRM 网络表单步骤)将返回一个空白页面。有什么解决办法吗?
提前致谢
预期:应加载相应银行的 3D 安全页面
c# - 3D Secure 2.0 与 Braintree 订阅的集成
我正在实现 3DS 2.0 与 Braintree 订阅的集成。Braintree 的文档不够清晰,无法回答我的问题,而且 Braintree 的支持根本没有帮助。以下是我的问题:
- 何时是执行卡验证的最佳时机:将卡添加到保险库时或创建订阅时?也许我应该在这两种情况下都这样做两次?
- 将卡添加到保险库时应使用多少金额来验证卡?它应该是 0 美元、1 美元,还是我应该依赖 Braintree 网关在我没有通过金额时选择的金额?
- 将卡添加到保险库时执行 3DS 2.0 验证是否保证以后(创建订阅时)我可以在没有 3DS 的情况下收取数百、数千美元的费用?
- 如果在创建订阅时要进行验证,这样做是否正确:
- 使用支付方式令牌从 Braintree 获取 PaymentMethodNoce
- 使用 nonce 验证卡并获得新的 nonce
- 将第二步中获得的 Nonce 用作 SubscriptionRequest 中的 PaymentMethodNonce 参数
- 如果我降低或提高订阅价格会怎样?我必须用 3DS 重新验证吗?我应该用更新的价格重新验证吗?
- 我正在使用按比例分配的机制。3DS 会以任何方式影响这一点吗?
- 当用于创建订阅的 3DS 验证卡更改为新卡时会发生什么情况?应该使用多少金额来验证新卡(就像第二个问题一样)?
- 如何在不需要 3DS 重新验证的情况下提高订阅价格?
- 是否有说明使用 3DS 和订阅的示例代码?
看起来 Braintree 不知道如何回答这些问题,或者出于某种原因不想这样做。很差的支持。我真的很感激任何反馈。
braintree - 如何在 Braintree 插件中启用 3D-Secure 2
我正在尝试使用"braintree-web-drop-in": "1.19.0"
. 我浏览了有关 3D 安全和 dropin-ui 的 Braintree 文档,但找不到指定要使用的 3D 安全版本的方法。
version:2
在创建 dropin 时,我尝试在不同级别传递。
1.
2.
3.
这些都不起作用。它始终使用版本 1。
/three_d_secure/lookup
通话有threeDSecureVersion:"1.0.2"
我也没有收到错误“THREEDS_NOT_ENABLED_FOR_V2”。因此,我的沙盒帐户必须已启用 3D 安全 2。
我是否必须在我的 Sandbox 和生产 Braintree 帐户中手动启用任何内容?是否将版本 1 作为默认值?我如何让它使用第 2 版?
opayo - Sagepay - 尽管 3dSecure 失败,但付款已授权
我们目前正在更新我们的 SagePay 集成,以根据即将生效的欧盟法规强制执行 3DSecure。
然而,我们的测试发现,即使 3DSecure 被标记为“失败”,付款仍然被授权。除了 3D Secure 检查,我们没有在管理系统中设置任何特定规则。(其他 3d 安全复选框均未选中,并且最小值/最大值字段中没有值)。
我们希望设置我们的系统,以便如果 3Dsecure 失败,它不会授权交易。我们如何做到这一点?
asp.net - ASP.NET 使用 iframe 进行 3ds - 如何返回到托管页面
我通过将 iframe 添加到页面上的 div 来实现 3ds。3ds 流程完成后 - 银行使用我提供的重定向 url。我的问题 - 它是重定向 iframe 而不是我包含该 iframe 的原始页面 - 给了我网站的结果 - 在 iframe 内。
3ds 结束后关闭 iframe 并在主浏览器页面上进行重定向的技术是什么?
我无法控制银行实施 3ds 流程。
opayo - 直接协议 4.00:PDS2 - 5083:回调中提供的 VpsTxId 与 CRes 中的事务不匹配
尝试运行“挑战”流程时,我无法通过 SagePay 测试环境完成交易。我正在提供新的 PDS2 字段并使用 VPS Direct Protocol 4.00
我已经三次检查了 VPSTxId,以确保它是我在第一阶段交易的响应中收到的。CReq 也存在且有效(我已经对其进行了 Base64 解码,对我来说它看起来足够合理)。
测试系统的响应(第一阶段事务):
请求测试系统(第二阶段交易):
测试系统的响应(第二阶段事务):
我尝试使用 VPSProtocol(3.00 和 4.00)提交第二阶段事务,但不使用。没有不同。
有任何想法吗?我希望 SagePay 测试环境刚刚损坏,但也有可能我做错了什么..