我应该使用什么货币格式进行条纹付款


what money format should I use for stripe payments

这是我到目前为止的代码,价格是 100 美元,但它向我的用户收取 1 美元。

    <?php 
      $cost = "100.00";
    ?>
    <form action="" method="POST">
    <script                                      
    src="https://checkout.stripe.com/checkout.js" class="stripe-button"
    data-key="my key"
    data-image="/square-image.png"
    data-name="product name"
    data-description="some description"
    data-email="myemail@email.com"
    data-amount="<?php echo $cost; ?>">
    </script>
    </form>

美国的条纹接受以美分为单位的金额

https://support.stripe.com/questions/which-zero-decimal-currencies-does-stripe-support

所以 100 * 100(100 美元

* 100 美元中的 1 美分)= 10000

使用这个:-

<form action="/charge" method="POST">
  <script
    src="https://checkout.stripe.com/checkout.js" class="stripe-button"
    data-key="pk_test_6pRNASCoBOKtIshFeQd4XMUh"
    data-image="/img/documentation/checkout/marketplace.png"
    data-name="Stripe.com"
    data-description="2 widgets"
    data-amount="2000">
  </script>
</form>

点击这里获取更多信息

您要收取的金额需要以美分为单位,而不是美元。此外,需要删除 $ 符号,因为它被设置为 ISO 代码的数据货币(默认为 USD)。

 <form action="" method="POST">
    <script                                      
    src="https://checkout.stripe.com/checkout.js" class="stripe-button"
    data-key="my key"
    data-image="/square-image.png"
    data-name="product name"
    data-description="some description"
    data-currency="USD"
    data-email="myemail@email.com"
    data-amount="10000">
    </script>
    </form>

我想出了如何通过对金额值进行str_replace来修复它,这样我就可以在没有小数的情况下获得全部金额。