| 1 |
<?php |
| 2 |
|
| 3 |
namespace Give\PaymentGateways\PayPalCommerce; |
| 4 |
|
| 5 |
use Give\PaymentGateways\PayPalCommerce\Models\MerchantDetail; |
| 6 |
|
| 7 |
/** |
| 8 |
* Class Utils |
| 9 |
* |
| 10 |
* @since 2.9.0 |
| 11 |
*/ |
| 12 |
class Utils |
| 13 |
{ |
| 14 |
/** |
| 15 |
* Returns whether or not the PayPal Commerce gateway is active |
| 16 |
* |
| 17 |
* @since 2.9.0 |
| 18 |
* |
| 19 |
* @return bool |
| 20 |
*/ |
| 21 |
public static function gatewayIsActive() |
| 22 |
{ |
| 23 |
return give_is_gateway_active(PayPalCommerce::GATEWAY_ID); |
| 24 |
} |
| 25 |
|
| 26 |
/** |
| 27 |
* Return whether or not payment gateway accept payment. |
| 28 |
* |
| 29 |
* @since 2.9.6 |
| 30 |
* @return bool |
| 31 |
*/ |
| 32 |
public static function isAccountReadyToAcceptPayment() |
| 33 |
{ |
| 34 |
/* @var MerchantDetail $merchantDetail */ |
| 35 |
$merchantDetail = give(MerchantDetail::class); |
| 36 |
|
| 37 |
return (bool)$merchantDetail->accountIsReady; |
| 38 |
} |
| 39 |
|
| 40 |
/** |
| 41 |
* this function should return true if country supports "Donation" transaction type. |
| 42 |
* |
| 43 |
* @since 3.0.0 |
| 44 |
*/ |
| 45 |
public static function isDonationTransactionTypeSupported(string $country): bool |
| 46 |
{ |
| 47 |
// Set fallback country. |
| 48 |
$country = $country ?: give_get_country(); |
| 49 |
|
| 50 |
$countries = [ |
| 51 |
'AD', // Andorra |
| 52 |
'AR', // Argentina |
| 53 |
'AW', // Aruba |
| 54 |
'AU', // Australia |
| 55 |
'AT', // Austria |
| 56 |
'AZ', // Azerbaijan |
| 57 |
'BY', // Belarus |
| 58 |
'BE', // Belgium |
| 59 |
'BM', // Bermuda |
| 60 |
'BT', // Bhutan |
| 61 |
'BR', // Brazil |
| 62 |
'BN', // Brunei |
| 63 |
'BG', // Bulgaria |
| 64 |
'BI', // Burundi |
| 65 |
'KH', // Cambodia |
| 66 |
'CM', // Cameroon |
| 67 |
'CA', // Canada |
| 68 |
'KY', // Cayman Islands |
| 69 |
'TD', // Chad |
| 70 |
'CL', // Chile |
| 71 |
'CO', // Colombia |
| 72 |
'KM', // Comoros |
| 73 |
'CK', // Cook Islands |
| 74 |
'CR', // Costa Rica |
| 75 |
'CI', // Cote D'Ivoire |
| 76 |
'CY', // Cyprus |
| 77 |
'CZ', // Czech Republic |
| 78 |
'CD', // Democratic Republic of the Congo |
| 79 |
'DK', // Denmark |
| 80 |
'DJ', // Djibouti |
| 81 |
'DO', // Dominican Republic |
| 82 |
'SV', // El Salvador |
| 83 |
'ER', // Eritrea |
| 84 |
'EE', // Estonia |
| 85 |
'FK', // Falkland Islands |
| 86 |
'FO', // Faroe Islands |
| 87 |
'FI', // Finland |
| 88 |
'FR', // France |
| 89 |
'GF', // French Guiana |
| 90 |
'GA', // Gabon Republic |
| 91 |
'DE', // Germany |
| 92 |
'GI', // Gibraltar |
| 93 |
'GR', // Greece |
| 94 |
'GL', // Greenland |
| 95 |
'GP', // Guadeloupe |
| 96 |
'GT', // Guatemala |
| 97 |
'GW', // Guinea Bissau |
| 98 |
'HU', // Hungary |
| 99 |
'IS', // Iceland |
| 100 |
'IE', // Ireland |
| 101 |
'IL', // Israel |
| 102 |
'IT', // Italy |
| 103 |
'JM', // Jamaica |
| 104 |
'KE', // Kenya |
| 105 |
'KI', // Kiribati |
| 106 |
'KW', // Kuwait |
| 107 |
'LA', // Laos |
| 108 |
'LV', // Latvia |
| 109 |
'LI', // Liechtenstein |
| 110 |
'LT', // Lithuania |
| 111 |
'LU', // Luxembourg |
| 112 |
'MK', // Macedonia |
| 113 |
'MV', // Maldives |
| 114 |
'MT', // Malta |
| 115 |
'MH', // Marshall Islands |
| 116 |
'MQ', // Martinique |
| 117 |
'MR', // Mauritania |
| 118 |
'YT', // Mayotte |
| 119 |
'MX', // Mexico |
| 120 |
'FM', // Micronesia |
| 121 |
'MN', // Mongolia |
| 122 |
'ME', // Montenegro |
| 123 |
'MS', // Montserrat |
| 124 |
'NR', // Nauru |
| 125 |
'NP', // Nepal |
| 126 |
'NL', // Netherlands |
| 127 |
'NZ', // New Zealand |
| 128 |
'NE', // Niger |
| 129 |
'NG', // Nigeria |
| 130 |
'NU', // Niue |
| 131 |
'NF', // Norfolk Island |
| 132 |
'NO', // Norway |
| 133 |
'PA', // Panama |
| 134 |
'PE', // Peru |
| 135 |
'PH', // Philippines |
| 136 |
'PN', // Pitcairn Islands |
| 137 |
'PL', // Poland |
| 138 |
'PT', // Portugal |
| 139 |
'QA', // Qatar |
| 140 |
'CG', // Republic of the Congo |
| 141 |
'RE', // Reunion |
| 142 |
'RO', // Romania |
| 143 |
'RW', // Rwanda |
| 144 |
'PM', // Saint Pierre and Miquelon |
| 145 |
'VC', // Saint Vincent and Grenadines |
| 146 |
'WS', // Samoa |
| 147 |
'SM', // San Marino |
| 148 |
'ST', // São Tomé and Príncipe |
| 149 |
'SL', // Sierra Leone |
| 150 |
'SG', // Singapore |
| 151 |
'SK', // Slovakia |
| 152 |
'SI', // Slovenia |
| 153 |
'SB', // Solomon Islands |
| 154 |
'SO', // Somalia |
| 155 |
'ZA', // South Africa |
| 156 |
'ES', // Spain |
| 157 |
'LK', // Sri Lanka |
| 158 |
'SH', // St Helena |
| 159 |
'SJ', // Svalbard and Jan Mayen Islands |
| 160 |
'SE', // Sweden |
| 161 |
'CH', // Switzerland |
| 162 |
'TO', // Tonga |
| 163 |
'TV', // Tuvalu |
| 164 |
'UA', // Ukraine |
| 165 |
'AE', // United Arab Emirates |
| 166 |
'GB', // United Kingdom (Great Britain) |
| 167 |
'US', // United States |
| 168 |
'UY', // Uruguay |
| 169 |
'VU', // Vanuatu |
| 170 |
'VA', // Vatican City |
| 171 |
'VG', // Virgin Islands British |
| 172 |
'WF', // Wallis and Futuna Islands |
| 173 |
'YE', // Yemen |
| 174 |
'ZW' // Zimbabwe |
| 175 |
]; |
| 176 |
|
| 177 |
return in_array($country, $countries, true); |
| 178 |
} |
| 179 |
} |
| 180 |
|