jjzjj

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

coder 2024-01-02 原文

我正在使用 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 - Stripe s2Member Pro 插件在实时模式下返回 card_declined的更多相关文章

  1. ruby-on-rails - 活跃商家 : How to authorise cards when using gateways that do not support the void operation? - 2

    我正在使用ActiveMerchant开发RubyonRails应用程序的计费组件。我们选择的支付网关是PaymentExpress.我看到的代码示例如下所示,使用authorize()和void()来测试卡的有效性:deftest_card!auth_response=gateway.authorize(100,card)gateway.void(auth_response.authorization)ifauth_response.success?raiseAuthorizationFailed.new(auth_response)unlessauth_response.succe

  2. ruby - 编程技术 : How to create a simple card game - 2

    随着我学习Ruby语言,我离实际编程越来越近了。我正在考虑创建一个简单的纸牌游戏。我的问题不是面向Ruby的,但我确实想学习如何使用真正的OOP方法解决这个问题。在我的纸牌游戏中,我想有四名玩家,使用一副有52张牌的标准牌组,没有王牌/万能牌。在游戏中,我不会把A当成双牌,它永远是最高的牌。所以,我想知道的编程问题如下:如何对一副纸牌进行排序/随机化?有四种类型,每种类型有13个值。最终只能有唯一值,因此随机选择值可能会产生重复值。如何实现简单的AI?由于有大量的纸牌游戏,有人应该已经弄清楚了这部分,所以引用会很好。我是一个真正的Rubynuby,我的目标是学习解决问题,所以伪代码会很

  3. ruby-on-rails - ! [remote rejected] master -> master(pre-receive hook declined) - 2

    这个问题在这里已经有了答案:remoterejectedmaster->master(pre-receivehookdeclined)(29个答案)关闭8年前。Tasks:TOP=>assets:precompile(Seefulltracebyrunningtaskwith--trace)!!Precompilingassetsfailed.!!Pushrejected,failedtocompileRubyappTogit@heroku.com:tranquil-crag-9767.git![remoterejected]master->master(pre-receivehook

  4. javascript - typescript :找不到模块 'react-cards' 的声明文件 - 2

    我是ReactJS的新手,我发现自己陷入了下一件事。我已经像这样通过npm安装了react-cards:npminstall--savereact-cards安装没问题,我想像这样在我的代码中导入它:importCardfrom'react-cards';但后来我说这个时出错:Couldnotfindadeclarationfileformodule'react-cards':'path'implicitlyhasan'any'type.Try'npminstall@types/react-cards'ifitexistsoraddanewdeclaration(.d.ts)filec

  5. javascript - react native : How to make format card expiration with/using <TextInput/>? - 2

    在ReactNative中使用,我正在尝试制作/仅在时出现是焦点,如果输入另一个输入,它会留在那里。目前,格式是MM/YY,所以当用户键入第三个数字时,它将排在/之后。,如果用户按下返回键,它会删除/之前的数字。.那么实现前面提到的正确方法是什么?谢谢你,一定会接受答案。我尝试了以下但长度出错,这只是添加了/输入两位数字后:_changeCardExpiry(value){if(value.indexOf('.')>=0||value.length>5){return;}if(value.length===2&&this.state.cardExpiry.length===1){val

  6. javascript - Material-UI List 作为 Card 的子项,在主展开时触发所有 onClick - 2

    Material-UI、Meteor、React所以我想在卡片中嵌套一个带有onTouchTap(或onClick)函数的下拉列表。它似乎工作正常,不会造成任何麻烦-但是当您展开父卡时,列表中的所有内容都会同时触发onTouchTap。我已经厌倦了将其他Card元素相互嵌套以达到相同的效果。这只是代码的限制,还是有一些变通办法?}primaryTogglesNestedList={true}nestedItems={[}onTouchTap={this.handleAccept(userName,prtNo)}/>,}onTouchTap={this.handleReject(user

  7. git push解决办法: ! [remote rejected] master -> master (pre-receive hook declined) - 2

    项目经理远程创建了一个空项目,无任何内容,给我赋予的developer账号权限,本地改为后提交代码试了很多次都上传不上去,报错如下:![remoterejected]master->master(pre-receivehookdeclined)先说结果:gitpush不上去的原因在于所push的分支权限为protected,只有项目的管理员或具有相应权限的人才能进行push,要进行项目的push,有如下3种方法:1.将所要push的内容所在的分支的protected权限关闭(1)进入所在项目的settings(2)点击进入Protectedbranches,点击unprotected将mast

  8. javascript - Vuetify.js:如何在左侧和右侧的 v-card 中放置按钮操作? - 2

    在v-card的v-card-actions组件中,我想使用mr-将一个按钮放在左侧,另一个按钮放在右侧0(margin-right=0),但2个按钮始终彼此靠近。我尝试过的:按钮的left和right属性v-spacer按钮之间的组件代码:TtileLocatedtwohourssouthofSydneyintheSouthernHighlandsofNewSouthShareExploreCodepen.如何解决? 最佳答案 您的代码是正确的。只需使用这个:ShareExplore所以只需将v-spacer更改为非自封闭标签即可

  9. php - 授权 PHP API Charge Credit Card Example 返回空响应 - 2

    我正在使用来自authorize.net网站的php示例,但无法使其正常工作。我已经下载了所有供应商软件并更新了Composer。在phplog中,我不断收到相同的错误:E00045TherootnodedoesnotreferenceavalidXMLnamespace.更新Composer后不再记录错误。我的php:require("anetsdkphp/autoload.php");$logName="MYAUTHKEY";$transKey="MYTRANSKEY";usenet\authorize\api\contract\v1asAnetAPI;usenet\authori

  10. c# - 在 Smart Card Crypto Provider 的对话框中设置 PIN 提示 - 2

    我想更改在调用需要智能卡PIN的CryptoApi操作时显示的文本。当前提示非常通用(使用系统语言),“请输入您的身份验证PIN”:此对话框在COM对象中调用CryptSignMessage时显示,但调用是从C#WPF桌面应用程序(.NET4.5)进行的。如何自定义对话框?我找到了CryptSetProvParam函数的PP_PIN_PROMPT_STRING参数,但该函数需要HCRYPTPROV而我没有那个句柄。我只有读者姓名和签名证书。就是无法理解它。是否可以从C++或C#(最好是C#)自定义PIN对话框? 最佳答案 我相信以下

随机推荐