gpt4 book ai didi

php - Stripe Checkout - 收费金额

转载 作者:搜寻专家 更新时间:2023-10-31 22:00:18 24 4
gpt4 key购买 nike

我正在遵循 https://stripe.com/docs/checkout/guides/php 中的基本示例并且在了解如何确定金额并将其用于创建费用时遇到问题。

我本以为/希望使用我创建的 token 能够检索与其关联的金额并将该金额传递给\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 收到帖子并创建费用,但是指定数组“数量”索引的值(当前为 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>';
?>

所以,这里我可以想到两种方法

  1. 每个产品一个 PHP 页面,带有硬编码的数量 - 不,谢谢
  2. 将 key 和金额作为隐藏变量传递,这些似乎并不“正确”,因为它很容易更改,例如下面

    <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>

最佳答案

不, token 只是允许您进行收费的预检查,在 Javascript 中传递给 Stripe 的金额仅供 Stripe 用于显示目的。 Stripe_Charge::create 是你实际传递金额的地方。

关于php - Stripe Checkout - 收费金额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30190680/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com