在所有测试中,Stripe插件每次都工作,当我将其切换到实时模式时,我的卡工作也很好,所以我认为一切都很好,但是现在我看到大多数卡在提交付款表单时都会收到card_declined错误.
用户使用第一个,最后一个,电子邮件,密码,用户名填写表单,然后当用户点击“添加付款”弹出条纹结帐重叠时,我输入卡片详细信息条带插件接受绿色勾选但是当我点击时提交我看到错误.
该网站是https://naturalbusinesstools.com/pricing,它具有所有正确的SSL设置和所有Stripe帐户详细信息,网络挂钩和验证是正确的[因为我提到它只有某些卡,特别是来自联邦银行的卡].我还要提一下,无论付款成功/失败,都会在Stripe帐户中创建客户.
是否有一些安全层可以阻止它们通过?
***更新
好的,这是一个发展.我尝试了4张独立的个人信用卡[朋友和家人],他们都完美无缺.然后我尝试了几张商业信用卡/借记卡,他们都失败了….
所以它看起来像s2或条带失败的名片交易……这是一个常见的问题吗?
***更新
好的,这个问题有了很大的发展.我终于找到了s2成员pro插件创建者,他有这样说:
“所以我在你的网站上重现了这种行为,并将其追溯到在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" }
在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();
这将阻止额外的更新发生.无论如何,它只是用于税务报告目的,这应该在短期内解决问题,直到我们能够深入了解这个问题.