让Stripe为我工作时我遇到了一些麻烦,并且用谷歌搜索了一些例子,但似乎无法让它收费 .
我正在使用Stripes,简单的结帐表单,它肯定会生成条带令牌,因为我可以在条带日志中看到它 . 然后,我将表单执行charge.php,它接收条带令牌作为POST变量,这是def工作,因为我可以回显令牌 .
问题是它什么都不做,不会抛出任何错误,也不会对卡充电 .
代码如下:Checkout页面:
<form action="charge.php" method="POST">
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="test key"
data-amount="2000"
data-name="Demo Site"
data-description="2 widgets ($20.00)"
data-image="/128x128.png">
</script>
</form>
收费的Actual PHP脚本:charge.php
<?php
require('Absolute Link to site /lib/Stripe.php');
// Set your secret key: remember to change this to your live secret key in production
// See your keys here https://dashboard.stripe.com/account
Stripe::setApiKey("test key");
// Get the credit card details submitted by the form
$token = $_POST['stripeToken'];
// Create the charge on Stripe's servers - this will charge the user's card
try {
$charge = Stripe_Charge::create(array(
"amount" => 1000, // amount in cents, again
"currency" => "aud",
"card" => $token,
"description" => "VIP Basic"
));
} catch(Stripe_CardError $e) {
// The card has been declined
}
?>
我通过电子邮件发送了条带支持,他们说 charge.php
代码在他们的结尾工作,并检查是否正确调用了lib . error_log中没有任何警告和任何内容 .
有没有人有任何想法?它应该是世界上最简单的东西,我把它的头发撕掉,只是看不到它 .
2 回答
问题可能是卡不接受审计,你应该尝试签证或万事达卡 . 如果您在仪表板中看到生成的令牌,请尝试以下ajax方法 . 包括stripe.js和jquery .
您的代码看起来是正确的并且应该有效,因此问题很可能是卡被拒绝,但您没有处理错误 . 在此部分添加一些代码:
回应错误等,你可能会发现问题 .