PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.20
Booking for Appointments and Events Calendar – Amelia v1.2.20
2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / src / Infrastructure / Services / Payment / CurrencyService.php
ameliabooking / src / Infrastructure / Services / Payment Last commit date
CurrencyService.php 2 years ago SquareMiddlewareService.php 1 year ago SquareService.php 1 year ago StarterPaymentService.php 2 years ago
CurrencyService.php
54 lines
1 <?php
2 /**
3 * @copyright © TMS-Plugins. All rights reserved.
4 * @licence See LICENCE.md for license details.
5 */
6
7 namespace AmeliaBooking\Infrastructure\Services\Payment;
8
9 use AmeliaBooking\Domain\Services\Settings\SettingsService;
10 use AmeliaBooking\Domain\ValueObjects\Number\Float\Price;
11 use Money\Currencies\ISOCurrencies;
12 use Money\Exception\ParserException;
13 use Money\Parser\DecimalMoneyParser;
14
15 /**
16 * Class CurrencyService
17 */
18 class CurrencyService
19 {
20 /**
21 * @var SettingsService $settingsService
22 */
23 protected $settingsService;
24
25 /**
26 * CurrencyService constructor.
27 *
28 * @param SettingsService $settingsService
29 */
30 public function __construct(
31 SettingsService $settingsService
32 ) {
33 $this->settingsService = $settingsService;
34 }
35
36 /**
37 * @param Price $amount
38 *
39 * @return string
40 * @throws ParserException
41 */
42 public function getAmountInFractionalUnit($amount)
43 {
44 $currencies = new ISOCurrencies();
45
46 $moneyParser = new DecimalMoneyParser($currencies);
47
48 return $moneyParser->parse(
49 (string)$amount->getValue(),
50 $this->settingsService->getCategorySettings('payments')['currency']
51 )->getAmount();
52 }
53 }
54