我遵循https://stripe.com/docs/checkout/guides/php的基本示例,并且在查看金额如何确定并用于创建费用时遇到问题。
我原以为/希望使用我创建的令牌,我能够检索与之关联的金额并将此金额传递给\ Stripe \ Charge :: create()?
例如,我有一些PHP /模板代码,可以为一系列产品生成表单
# index.php
<?php require_once('./config.php'); ?>
<form action="charge.php" method="post">
<script src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="<?php echo $stripe['publishable_key']; ?>"
data-amount="{$MY_AMOUNT}" data-description="One year's subscription"></script>
</form>
$ MY_AMOUNT将根据正在显示的产品进行更改
现在charge.php接收帖子并创建一个费用,但是指定&#39;金额的值(目前为5000)的正确方法是什么?数组的索引?
<?php
require_once('./config.php');
$token = $_POST['stripeToken'];
$customer = \Stripe\Customer::create(array(
'email' => 'customer@example.com',
'card' => $token
));
$charge = \Stripe\Charge::create(array(
'customer' => $customer->id,
'amount' => 5000,
'currency' => 'usd'
));
echo '<h1>Successfully charged $50.00!</h1>';
?>
所以,我可以在这里想到两种方法
将密钥和金额作为隐藏变量传递,这些看起来并不像#34;对&#34;因为它可以很容易地改变,例如,以下
<form action="charge.php" method="POST">
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="{$key}"
data-amount="{$amount}"
data-currency="GBP"
data-address="true"
data-name="{$name}"
data-description="{$description}"
data-image="logo.png">
</script>
<input name="myHiddenKey" type="hidden" value="{$amount}" />
<input name="myHiddenName" type="hidden" value="{$name}" />
</form>
答案 0 :(得分:0)
没有令牌只是允许您收费的预先检查,在Javascript中传递给Stripe的金额仅供Stripe用于显示目的。 Stripe_Charge::create
是您实际通过金额的地方。