测试条纹购买超过1000美元,条纹显示$ 1.00充电

时间:2018-04-20 22:00:44

标签: php stripe-payments

每次低于1000美元的购买都显示正确的费用。只有当购买价格超过1000美元时才会出现条纹显示1.00美元的费用。据我所知,以美分为单位的条纹费用必须乘以100才能转换为美元。我不知道为什么会这样。

$charge_amount = number_format($grand_total, 2)*100;


// Charge the user's card
try {
$charge = \Stripe\Charge::create(array(
        "amount"        => $charge_amount,
        "currency"      => CURRENCY, //defined in another file
        "description"   => $description,
        "source"        => $token,
        "receipt_email" => $email,
        "metadata"      => $metadata)
);

1 个答案:

答案 0 :(得分:2)

number_format()用于格式化数字以显示给人类。它使用,个字符分隔每3个数字。 Stripe API需要一个实际的数字,当它试图解析它时,它会停在逗号处。

如果您只想获得包含2位小数的数字,请使用round(),而不是number_format()

$charge_amount = round($grand_total, 2) * 100;