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 アプリケーションに統合するのはこれが初めてです。ですから、お金についてもっと深く理解する必要があります。

4

1 に答える 1