Banners
2 years ago
DataTransferObjects
4 years ago
Exceptions
3 years ago
Migrations
2 years ago
Models
2 years ago
PayPalCheckoutSdk
2 years ago
Repositories
2 years ago
Webhooks
2 years ago
AccountAdminNotices.php
4 years ago
AdminSettingFields.php
1 year ago
AdvancedCardFields.php
4 years ago
AjaxRequestHandler.php
1 year ago
DonationDetailsPage.php
4 years ago
DonationFormPaymentMethod.php
2 years ago
PayPalClient.php
2 years ago
PayPalCommerce.php
2 years ago
RefreshToken.php
2 years ago
RefundPaymentHandler.php
4 years ago
ScriptLoader.php
2 years ago
Utils.php
2 years ago
onBoardingRedirectHandler.php
1 year ago
Utils.php
180 lines
| 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 |