'USD']); return Arr::get($globalPaymentSettings, 'currency', 'USD'); } public static function getGlobalCurrencySign() { $currency = static::getGlobalCurrency(); return static::getCurrencySign($currency); } public static function getFormattedCurrencies() { $currencies = static::getCurrencies(); $formatted = array(); foreach ($currencies as $code => $name) { $formatted[] = array( "label" => $name, "value" => $code, ); } return $formatted; } /** * https://support.stripe.com/questions/which-currencies-does-stripe-support */ public static function getCurrencies($code = null) { $currencies = apply_filters('fluent_booking/accepted_currencies', array( 'AED' => 'United Arab Emirates Dirham', 'AFN' => 'Afghan Afghani', 'ALL' => 'Albanian Lek', 'AMD' => 'Armenian Dram', 'ANG' => 'Netherlands Antillean Gulden', 'AOA' => 'Angolan Kwanza', 'ARS' => 'Argentine Peso', // non amex 'AUD' => 'Australian Dollar', 'AWG' => 'Aruban Florin', 'AZN' => 'Azerbaijani Manat', 'BAM' => 'Bosnia & Herzegovina Convertible Mark', 'BBD' => 'Barbadian Dollar', 'BDT' => 'Bangladeshi Taka', 'BIF' => 'Burundian Franc', 'BGN' => 'Bulgarian Lev', 'BMD' => 'Bermudian Dollar', 'BND' => 'Brunei Dollar', 'BOB' => 'Bolivian Boliviano', 'BRL' => 'Brazilian Real', 'BSD' => 'Bahamian Dollar', 'BWP' => 'Botswana Pula', 'BZD' => 'Belize Dollar', 'CAD' => 'Canadian Dollar', 'CDF' => 'Congolese Franc', 'CHF' => 'Swiss Franc', 'CLP' => 'Chilean Peso', 'CNY' => 'Chinese Renminbi Yuan', 'COP' => 'Colombian Peso', 'CRC' => 'Costa Rican Colón', 'CVE' => 'Cape Verdean Escudo', 'CZK' => 'Czech Koruna', 'DJF' => 'Djiboutian Franc', 'DKK' => 'Danish Krone', 'DOP' => 'Dominican Peso', 'DZD' => 'Algerian Dinar', 'EGP' => 'Egyptian Pound', 'ETB' => 'Ethiopian Birr', 'EUR' => 'Euro', 'FJD' => 'Fijian Dollar', 'FKP' => 'Falkland Islands Pound', 'GBP' => 'British Pound', 'GEL' => 'Georgian Lari', 'GIP' => 'Gibraltar Pound', 'GMD' => 'Gambian Dalasi', 'GNF' => 'Guinean Franc', 'GTQ' => 'Guatemalan Quetzal', 'GYD' => 'Guyanese Dollar', 'HKD' => 'Hong Kong Dollar', 'HNL' => 'Honduran Lempira', 'HRK' => 'Croatian Kuna', 'HTG' => 'Haitian Gourde', 'HUF' => 'Hungarian Forint', 'IDR' => 'Indonesian Rupiah', 'ILS' => 'Israeli New Sheqel', 'INR' => 'Indian Rupee', 'ISK' => 'Icelandic Króna', 'JMD' => 'Jamaican Dollar', 'JPY' => 'Japanese Yen', 'KES' => 'Kenyan Shilling', 'KGS' => 'Kyrgyzstani Som', 'KHR' => 'Cambodian Riel', 'KMF' => 'Comorian Franc', 'KRW' => 'South Korean Won', 'KYD' => 'Cayman Islands Dollar', 'KZT' => 'Kazakhstani Tenge', 'LAK' => 'Lao Kip', 'LBP' => 'Lebanese Pound', 'LKR' => 'Sri Lankan Rupee', 'LRD' => 'Liberian Dollar', 'LSL' => 'Lesotho Loti', 'MAD' => 'Moroccan Dirham', 'MDL' => 'Moldovan Leu', 'MGA' => 'Malagasy Ariary', 'MKD' => 'Macedonian Denar', 'MNT' => 'Mongolian Tögrög', 'MOP' => 'Macanese Pataca', 'MRO' => 'Mauritanian Ouguiya', 'MUR' => 'Mauritian Rupee', 'MVR' => 'Maldivian Rufiyaa', 'MWK' => 'Malawian Kwacha', 'MXN' => 'Mexican Peso', 'MYR' => 'Malaysian Ringgit', 'MZN' => 'Mozambican Metical', 'NAD' => 'Namibian Dollar', 'NGN' => 'Nigerian Naira', 'NIO' => 'Nicaraguan Córdoba', 'NOK' => 'Norwegian Krone', 'NPR' => 'Nepalese Rupee', 'NZD' => 'New Zealand Dollar', 'PAB' => 'Panamanian Balboa', 'PEN' => 'Peruvian Nuevo Sol', 'PGK' => 'Papua New Guinean Kina', 'PHP' => 'Philippine Peso', 'PKR' => 'Pakistani Rupee', 'PLN' => 'Polish Złoty', 'PYG' => 'Paraguayan Guaraní', 'QAR' => 'Qatari Riyal', 'RON' => 'Romanian Leu', 'RSD' => 'Serbian Dinar', 'RUB' => 'Russian Ruble', 'RWF' => 'Rwandan Franc', 'SAR' => 'Saudi Riyal', 'SBD' => 'Solomon Islands Dollar', 'SCR' => 'Seychellois Rupee', 'SEK' => 'Swedish Krona', 'SGD' => 'Singapore Dollar', 'SHP' => 'Saint Helenian Pound', 'SLL' => 'Sierra Leonean Leone', 'SOS' => 'Somali Shilling', 'SRD' => 'Surinamese Dollar', 'STD' => 'São Tomé and Príncipe Dobra', 'SVC' => 'Salvadoran Colón', 'SZL' => 'Swazi Lilangeni', 'THB' => 'Thai Baht', 'TJS' => 'Tajikistani Somoni', 'TOP' => 'Tongan Paʻanga', 'TRY' => 'Turkish Lira', 'TTD' => 'Trinidad and Tobago Dollar', 'TWD' => 'New Taiwan Dollar', 'TZS' => 'Tanzanian Shilling', 'UAH' => 'Ukrainian Hryvnia', 'UGX' => 'Ugandan Shilling', 'USD' => 'United States Dollar', 'UYU' => 'Uruguayan Peso', 'UZS' => 'Uzbekistani Som', 'VND' => 'Vietnamese Đồng', 'VUV' => 'Vanuatu Vatu', 'WST' => 'Samoan Tala', 'XAF' => 'Central African Cfa Franc', 'XCD' => 'East Caribbean Dollar', 'XOF' => 'West African Cfa Franc', 'XPF' => 'Cfp Franc', 'YER' => 'Yemeni Rial', 'ZAR' => 'South African Rand', 'ZMW' => 'Zambian Kwacha', )); if ($code) { return isset($currencies[$code]) ? $currencies[$code] : ''; } return $currencies; } /** * Get the available locales that Stripe can use * * @return array */ public static function getLocales() { return array( '' => 'English (en) (default)', 'auto' => 'Auto-detect locale', 'zh' => 'Simplified Chinese (zh)', 'da' => 'Danish (da)', 'nl' => 'Dutch (nl)', 'fi' => 'Finnish (fi)', 'fr' => 'French (fr)', 'de' => 'German (de)', 'it' => 'Italian (it)', 'ja' => 'Japanese (ja)', 'no' => 'Norwegian (no)', 'es' => 'Spanish (es)', 'sv' => 'Swedish (sv)', ); } public static function getCurrencySign($currency = 'USD') { $currency = strtoupper($currency); $symbols = apply_filters('fluent_booking/global_currency_symbols', array( 'AED' => 'د.إ', 'AFN' => '؋', 'ALL' => 'L', 'AMD' => 'AMD', 'ANG' => 'ƒ', 'AOA' => 'Kz', 'ARS' => '$', 'AUD' => '$', 'AWG' => 'ƒ', 'AZN' => 'AZN', 'BAM' => 'KM', 'BBD' => '$', 'BDT' => '৳ ', 'BGN' => 'лв.', 'BHD' => '.د.ب', 'BIF' => 'Fr', 'BMD' => '$', 'BND' => '$', 'BOB' => 'Bs.', 'BRL' => 'R$', 'BSD' => '$', 'BTC' => '฿', 'BTN' => 'Nu.', 'BWP' => 'P', 'BYR' => 'Br', 'BZD' => '$', 'CAD' => '$', 'CDF' => 'Fr', 'CHF' => 'CHF', 'CLP' => '$', 'CNY' => '¥', 'COP' => '$', 'CRC' => '₡', 'CUC' => '$', 'CUP' => '$', 'CVE' => '$', 'CZK' => 'Kč', 'DJF' => 'Fr', 'DKK' => 'DKK', 'DOP' => 'RD$', 'DZD' => 'د.ج', 'EGP' => 'EGP', 'ERN' => 'Nfk', 'ETB' => 'Br', 'EUR' => '€', 'FJD' => '$', 'FKP' => '£', 'GBP' => '£', 'GEL' => 'ლ', 'GGP' => '£', 'GHS' => '₵', 'GIP' => '£', 'GMD' => 'D', 'GNF' => 'Fr', 'GTQ' => 'Q', 'GYD' => '$', 'HKD' => '$', 'HNL' => 'L', 'HRK' => 'Kn', 'HTG' => 'G', 'HUF' => 'Ft', 'IDR' => 'Rp', 'ILS' => '₪', 'IMP' => '£', 'INR' => '₹', 'IQD' => 'ع.د', 'IRR' => '﷼', 'ISK' => 'Kr.', 'JEP' => '£', 'JMD' => '$', 'JOD' => 'د.ا', 'JPY' => '¥', 'KES' => 'KSh', 'KGS' => 'лв', 'KHR' => '៛', 'KMF' => 'Fr', 'KPW' => '₩', 'KRW' => '₩', 'KWD' => 'د.ك', 'KYD' => '$', 'KZT' => 'KZT', 'LAK' => '₭', 'LBP' => 'ل.ل', 'LKR' => 'රු', 'LRD' => '$', 'LSL' => 'L', 'LYD' => 'ل.د', 'MAD' => 'د. م.', 'MDL' => 'L', 'MGA' => 'Ar', 'MKD' => 'ден', 'MMK' => 'Ks', 'MNT' => '₮', 'MOP' => 'P', 'MRO' => 'UM', 'MUR' => '₨', 'MVR' => '.ރ', 'MWK' => 'MK', 'MXN' => '$', 'MYR' => 'RM', 'MZN' => 'MT', 'NAD' => '$', 'NGN' => '₦', 'NIO' => 'C$', 'NOK' => 'kr', 'NPR' => '₨', 'NZD' => '$', 'OMR' => 'ر.ع.', 'PAB' => 'B/.', 'PEN' => 'S/.', 'PGK' => 'K', 'PHP' => '₱', 'PKR' => '₨', 'PLN' => 'zł', 'PRB' => 'р.', 'PYG' => '₲', 'QAR' => 'ر.ق', 'RMB' => '¥', 'RON' => 'lei', 'RSD' => 'дин.', 'RUB' => '₽', 'RWF' => 'Fr', 'SAR' => 'ر.س', 'SBD' => '$', 'SCR' => '₨', 'SDG' => 'ج.س.', 'SEK' => 'kr', 'SGD' => '$', 'SHP' => '£', 'SLL' => 'Le', 'SOS' => 'Sh', 'SRD' => '$', 'SSP' => '£', 'STD' => 'Db', 'SYP' => 'ل.س', 'SZL' => 'L', 'THB' => '฿', 'TJS' => 'ЅМ', 'TMT' => 'm', 'TND' => 'د.ت', 'TOP' => 'T$', 'TRY' => '₺', 'TTD' => '$', 'TWD' => 'NT$', 'TZS' => 'Sh', 'UAH' => '₴', 'UGX' => 'UGX', 'USD' => '$', 'UYU' => '$', 'UZS' => 'UZS', 'VEF' => 'Bs F', 'VND' => '₫', 'VUV' => 'Vt', 'WST' => 'T', 'XAF' => 'Fr', 'XCD' => '$', 'XOF' => 'Fr', 'XPF' => 'Fr', 'YER' => '﷼', 'ZAR' => 'R', 'ZMW' => 'ZK', )); return isset($symbols[$currency]) ? $symbols[$currency] : ''; } public static function zeroDecimalCurrencies() { return apply_filters('fluent_booking/zero_decimal_currencies', array( 'BIF' => esc_html__('Burundian Franc', 'fluent-booking'), 'CLP' => esc_html__('Chilean Peso', 'fluent-booking'), 'DJF' => esc_html__('Djiboutian Franc', 'fluent-booking'), 'GNF' => esc_html__('Guinean Franc', 'fluent-booking'), 'JPY' => esc_html__('Japanese Yen', 'fluent-booking'), 'KMF' => esc_html__('Comorian Franc', 'fluent-booking'), 'KRW' => esc_html__('South Korean Won', 'fluent-booking'), 'MGA' => esc_html__('Malagasy Ariary', 'fluent-booking'), 'PYG' => esc_html__('Paraguayan Guaraní', 'fluent-booking'), 'RWF' => esc_html__('Rwandan Franc', 'fluent-booking'), 'VND' => esc_html__('Vietnamese Dong', 'fluent-booking'), 'VUV' => esc_html__('Vanuatu Vatu', 'fluent-booking'), 'XAF' => esc_html__('Central African Cfa Franc', 'fluent-booking'), 'XOF' => esc_html__('West African Cfa Franc', 'fluent-booking'), 'XPF' => esc_html__('Cfp Franc', 'fluent-booking'), )); } public static function isZeroDecimal($currencyCode) { $currencyCode = strtoupper($currencyCode); $zeroDecimals = self::zeroDecimalCurrencies(); return isset($zeroDecimals[$currencyCode]); } }