我在laravel中有这个代码,它将条目中的当前事务拉出来
$dateCurrent = strtotime(date('Y-m-d h:i:s'));
$this->transactions = \Stripe\BalanceTransaction::all([
'available_on' => [
'lte' => "{$dateCurrent}",
],
'currency' => 'USD'
]);
foreach ($this->transactions->data as $key => $value) {
if ($key == 0) {
$time = date('d', $value->available_on);
}
if ($time == date('d', $value->available_on)) {
$this->trans[] = $value;
$transactionCount = $key;
}
}
然后我试图为这样的每笔交易添加所有金额,
$total = 0;
foreach ($this->trans as $key => $value) {
if ($key == 0) {
$total = $value->amount;
} elseif ($value->status == 'available') {
$total = bcadd($value->amount, $total);
}
}
dump($total);
写完这段代码后,我得到了-94769
的结果。
我做得对吗?我如何将-94769
表示为实际货币价值,例如99.18 USD
?
我对此的引用基于以下链接中的条带API
https://stripe.com/docs/api?&lang=php#charge_object https://stripe.com/docs/currencies#zero-decimal
这是我第一次在Web应用程序上集成付款方式。所以我需要更深入地了解金钱。
Stripe API中的“Amount”始终表示默认货币的最小单位。因此,美元为美分,日元为美元。
假设您的货币是美元,您可以将任何金额转换为美元,只需除以100即可。