如何将条带交易金额(例如`-94769`)表示为实际货币值,例如“99.18 USD”

问题描述 投票:0回答:1

我在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-payments laravel-5.7
1个回答
0
投票

Stripe API中的“Amount”始终表示默认货币的最小单位。因此,美元为美分,日元为美元。

假设您的货币是美元,您可以将任何金额转换为美元,只需除以100即可。

© www.soinside.com 2019 - 2024. All rights reserved.