【发布时间】:2018-09-07 20:59:30
【问题描述】:
我已将 Stripe 集成到我的网站中。下面的代码直接从 Stripe 的文档中复制而来。尽管此代码和我的实现之间存在细微差别,但这些差异与问题无关,因为我的代码和代码都显示正常工作
首先我安装相关文件。
composer.json
{
"require": {
"stripe/stripe-php": "*"
}
}
然后我用 JavaScript 进行结帐。 (这个“示例收费”收费 9.99 美元,但您明白了。下面是一个简单的结帐,我的是自定义结帐,但这不应该对问题产生影响。)
<form action="nextpage.php" method="POST">
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="<test key here>"
data-amount="999"
data-name="<myName>"
data-description="Example charge"
data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
data-locale="auto"
data-currency="aud">
</script>
</form>
这个结帐非常擅长捕捉大多数错误,如果它找不到任何错误,它会传递一个令牌让我收费。
最后,我添加了一个页面来创建费用
require 'vendor/autoload.php';
\Stripe\Stripe::setApiKey("<test key here>");
$token = $_POST['stripeToken'];
$charge = \Stripe\Charge::create([
'amount' => 999,
'currency' => 'aud',
'description' => 'Example charge',
'source' => $token,
]);
到目前为止还不错。在测试环境中,这总是成功的。或者,如果我测试了一张不应该成功的卡,它总是在结帐时失败。
但是,假设令牌创建成功,但问题发生在服务器端。 如何检测到这一点?
更具体地说,如果我有像 alert("Your payment has been successful") 或 echo "Your payment has been successful" 这样的函数,从哪里调用它?
【问题讨论】:
标签: javascript php stripe-payments