php - Stripe s2Member Pro 插件在实时模式下返回 card_declined

标签 php wordpress ssl stripe-payments

我正在使用 s2Member Pro plugin安装 Wordpress 以接受订阅付款。

在所有测试中,Stripe 插件每次都能正常工作,当我将其切换到实时模式时,我的卡也能正常工作,所以我假设一切都很好,但是现在我看到大多数卡在提交时都返回了 card_declined 错误付款方式。

用户用名字、最后、电子邮件、密码、用户名填写表格,然后当用户点击“添加付款”时,Stripe 结帐叠加层弹出,我输入卡的详细信息,stripe 插件接受它们并带有绿色勾号但是当我点击提交时,我看到了错误。

站点是https://naturalbusinesstools.com/pricing它具有所有正确的 SSL 设置和所有 Stripe 帐户详细信息、网络 Hook 和验证都是正确的 [正如我提到的它只有某些卡,特别是来自联邦银行的卡]。我还应该提到,无论付款成功/失败,客户都是在 Stripe 帐户中创建的。

是否有某种安全层可以阻止这些通过?

*** 更新 好的,所以有一个发展。我已经尝试了 4 种不同的个人信用卡 [ friend 和家人],它们都运行良好。然后我尝试了几张商业信用卡/借记卡,但都失败了....

看起来 s2 或 stripe 名片交易失败了……这是一个常见问题吗?

*** 更新

好的,这个问题有了很大的发展。我终于找到了 s2 member pro plugin creator,他是这样说的:

“所以我在你的网站上重现了这个行为,我将其追溯到 s2Member 中发生的卡片更新。在最终提交时,s2Member 在卡片后面添加了客户的姓名、address_zip、address_state 和 address_country(又名: source) 已添加到您的 Stripe 客户。

您看到的 card_declined 错误来自 Stripe API,每当 s2Member 尝试使用这些基本详细信息更新卡时,它就会返回 card_declined 错误。我怀疑这是 Stripe API 中的错误,但我想先在此处发布信息,以防万一这些信息可能会让您了解为什么此特定更新可能会失败。

了解了哪个 Stripe API 调用导致了 Stripe 的 card_declined 错误,然后我在您的网站上设置了一个测试页面,我在其中返回更新调用并尝试一次更新一条信息。我能够毫无问题地更新名称、address_state 和 address_zip。但是,在这张特定的卡上,每当我尝试将 address_country 更新为 AU 的值时,Stripe API 都会说,card_declined 出于某种原因。”

在其 PHP SDK 中引用来自 Stripe 的意外 API 响应失败:

                [file] => .../wp-content/plugins/s2member-pro/includes/classes/gateways/stripe/stripe-sdk/lib/Stripe/ApiRequestor.php
                [line] => 109
                [function] => _interpretResponse
                [class] => Stripe_ApiRequestor
                [type] => ->
                [args] => Array
                    (
                        [0] => {
"error": {
"message": "Your card was declined.",
"type": "card_error",
"param": "",
"code": "card_declined"
}

原来这是 Stripe API 中的一个错误。不确定是否有人有解决方法?

最佳答案

短期解决方法

在您的 s2Member Pro 副本中找到这行代码:https://github.com/websharks/s2member-pro/blob/000000-dev/s2member-pro/includes/classes/gateways/stripe/stripe-utilities.inc.php#L166 文件:s2member-pro/includes/classes/gateways/stripe/stripe-utilities.inc.php

改变:

$source->save();

收件人:

// $source->save();

这将阻止进行额外的更新。无论如何,它仅用于税务报告目的,在我们查明真相之前,这应该会在短期内解决问题。

关于php - Stripe s2Member Pro 插件在实时模式下返回 card_declined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31420359/

相关文章:

php - 更新 wordpress 时解析错误 : syntax error, 意外 T_FUNCTION

html - 单选按钮可见性隐藏时所选图像周围的边框

amazon-web-services - 未创建 AWS 经典负载均衡器监听器,然后消失

php - PHP session 中的多次登录

java - 使用soap时出现java.lang.NullPointerException

wordpress - 如何在 WordPress 中检查 AMP 端点?

facebook - 从安全 Canvas 页面链接到不安全页面不再在 Chrome 中工作

java - 使用 OpenJDK 14 java 模块运行时时 TLS 1.3 握手失败

php - 升级到 CI 3.0.1

javascript - Yii加载动态添加(使用ajax)GridView TypeError : settings is undefined