mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-09-03 08:37:53 +08:00
68 lines
1.6 KiB
PHP
68 lines
1.6 KiB
PHP
<?php
|
|
/**
|
|
* ApmApplies helper.
|
|
* Checks if GooglePay is available for a given country and currency.
|
|
*
|
|
* @package WooCommerce\PayPalCommerce\Googlepay\Helper
|
|
*/
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace WooCommerce\PayPalCommerce\Googlepay\Helper;
|
|
|
|
/**
|
|
* Class ApmApplies
|
|
*/
|
|
class ApmApplies {
|
|
|
|
/**
|
|
* The matrix which countries and currency combinations can be used for GooglePay.
|
|
*
|
|
* @var array
|
|
*/
|
|
private $allowed_country_currency_matrix;
|
|
|
|
/**
|
|
* 3-letter currency code of the shop.
|
|
*
|
|
* @var string
|
|
*/
|
|
private $currency;
|
|
|
|
/**
|
|
* 2-letter country code of the shop.
|
|
*
|
|
* @var string
|
|
*/
|
|
private $country;
|
|
|
|
/**
|
|
* DccApplies constructor.
|
|
*
|
|
* @param array $allowed_country_currency_matrix The matrix which countries and currency combinations can be used for GooglePay.
|
|
* @param string $currency 3-letter currency code of the shop.
|
|
* @param string $country 2-letter country code of the shop.
|
|
*/
|
|
public function __construct(
|
|
array $allowed_country_currency_matrix,
|
|
string $currency,
|
|
string $country
|
|
) {
|
|
$this->allowed_country_currency_matrix = $allowed_country_currency_matrix;
|
|
$this->currency = $currency;
|
|
$this->country = $country;
|
|
}
|
|
|
|
/**
|
|
* Returns whether GooglePay can be used in the current country and the current currency used.
|
|
*
|
|
* @return bool
|
|
*/
|
|
public function for_country_currency(): bool {
|
|
if ( ! in_array( $this->country, array_keys( $this->allowed_country_currency_matrix ), true ) ) {
|
|
return false;
|
|
}
|
|
return in_array( $this->currency, $this->allowed_country_currency_matrix[ $this->country ], true );
|
|
}
|
|
|
|
}
|