Как отобразить сумму транзакции в полоску, например, `-94769`, к фактической стоимости денег, например,` 99,18 USD` - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть этот код в 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

Впервые я включу способ оплаты в веб-приложение.Мне нужно более глубокое понимание денег.

1 Ответ

0 голосов
/ 28 сентября 2018

«Сумма» в Stripe API всегда представляет наименьшую единицу вашей валюты по умолчанию.Таким образом, это центы для доллара США или йены для йены.

Если ваша валюта равна доллару США, вы можете конвертировать любую сумму в доллары, просто разделив ее на 100.

...