【发布时间】:2015-02-15 08:59:00
【问题描述】:
我在让 Stripe 为我工作时遇到了很多麻烦,并且在谷歌上搜索了很多示例,但似乎无法让它收费。
我正在使用 Stripes,简单的结帐表单,它肯定会生成一个条带令牌,因为我可以在条带日志中看到它。然后我让表单执行charge.php,它接收条带令牌作为 POST 变量,这是 def 工作,因为我可以回显令牌。
问题是它什么都不做,不抛出任何错误也不给卡充电。
代码如下: 结帐页面:
<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>
实际收费的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 代码在他们的最后工作并检查库是否被正确调用。 error_log 中没有任何警告,也没有任何内容。
有人有什么想法吗?它应该是世界上最简单的东西,我在上面扯头发却看不到它。
【问题讨论】:
-
您是否尝试过在您的服务器上使用 Fiddler 或 Wireshark 之类的东西来查看该库是否实际上正在向 Stripe 的服务器发出 REST 请求?由于一些奇怪的配置问题,它甚至没有尝试过。
-
再次检查到站点/lib/Stripe.php 的绝对链接是否正确,如果charge 与lib 在同一个文件夹中,则应该是./lib/Stripe.php
标签: php stripe-payments