name : CurrencyAwareTrait.php
<?php
declare(strict_types=1);

namespace MyOnlineStore\Omnipay\KlarnaCheckout;

use Money\Currencies\ISOCurrencies;
use Money\Currency;
use Money\Exception\ParserException;
use Money\Money;
use Money\Parser\DecimalMoneyParser;

trait CurrencyAwareTrait
{
    /**
     * @param mixed $amount
     *
     * @return Money
     *
     * @throws ParserException
     */
    protected function convertToMoney($amount): Money
    {
        if ($amount instanceof Money) {
            return $amount;
        }

        try {
            $currency = new Currency($this->getCurrency());
        } catch (\InvalidArgumentException $exception) {
            $currency = new Currency('USD');
        }

        $moneyParser = new DecimalMoneyParser(new ISOCurrencies());

        return $moneyParser->parse((string) $amount, $currency);
    }

    /**
     * @param Money $money
     *
     * @return int
     *
     * @throws ParserException
     */
    protected function toCurrencyMinorUnits(Money $money): int
    {
        $moneyParser = new DecimalMoneyParser(new ISOCurrencies());

        return (int) $moneyParser->parse($money->getAmount(), $money->getCurrency())->getAmount();
    }
}

© 2025 UnknownSec
Courses | Anyleson - Learning Platform
INR (₹)
India Rupee
$
United States Dollar

Courses

17 Courses
Course
Web Design for Beginners

Web Design for Beginners

in Design
4.25
1:45 Hours
8 Jul 2021
₹11.80
40% Offer
The Future of Energy

The Future of Energy

in Science
2.50
1:10 Hours
8 Jul 2021
₹42.48 ₹70.80
20% Offer
Health And Fitness Masterclass

Health And Fitness Masterclass

in Health & Fitness
5.00
1:00 Hours
1 Jul 2021
₹18.88 ₹23.60
20% Offer
Learn and Understand AngularJS

Learn and Understand AngularJS

in Web Development
2.75
1:00 Hours
10 Dec 2023
₹18.88 ₹23.60
Finished
Effective Time Management

Effective Time Management

in Management
5.00
1:30 Hours
1 Aug 2023
₹35.40

Type

More options