get_cached_account_data(); $account_country = isset( $account['country'] ) ? strtoupper( $account['country'] ) : ''; if ( Country_Code::UNITED_STATES === $account_country ) { return [ Currency_Code::UNITED_STATES_DOLLAR ]; } return [ Currency_Code::UNITED_STATES_DOLLAR, Currency_Code::AUSTRALIAN_DOLLAR, Currency_Code::POUND_STERLING, Currency_Code::DANISH_KRONE, Currency_Code::EURO, Currency_Code::HONG_KONG_DOLLAR, Currency_Code::JAPANESE_YEN, Currency_Code::NEW_ZEALAND_DOLLAR, Currency_Code::NORWEGIAN_KRONE, Currency_Code::SWEDISH_KRONA, Currency_Code::SWISS_FRANC, Currency_Code::SOUTH_AFRICAN_RAND, ]; } /** * Get the list of supported countries * * @param string|null $account_country Optional. The merchant's account country. * @return string[] Array of country codes */ public static function get_supported_countries( ?string $account_country = null ): array { return []; } /** * Get the payment method capabilities * * @return string[] */ public static function get_capabilities(): array { return [ PaymentMethodCapability::REFUNDS, PaymentMethodCapability::MULTI_CURRENCY, PaymentMethodCapability::TOKENIZATION, PaymentMethodCapability::CAPTURE_LATER, PaymentMethodCapability::EXPRESS_CHECKOUT, ]; } /** * Get the URL for the payment method's icon * * @param string|null $account_country Optional. The merchant's account country. * * @return string */ public static function get_icon_url( ?string $account_country = null ): string { return plugins_url( 'assets/images/payment-methods/amazon-pay.svg', WCPAY_PLUGIN_FILE ); } /** * Get the URL for the payment method's dark mode icon * * @param string|null $account_country Optional. The merchant's account country. * * @return string Returns regular icon URL if no dark mode icon exists */ public static function get_dark_icon_url( ?string $account_country = null ): string { return self::get_icon_url( $account_country ); } /** * Get the URL for the payment method's settings icon * * @param string|null $account_country Optional. The merchant's account country. * * @return string */ public static function get_settings_icon_url( ?string $account_country = null ): string { return self::get_icon_url( $account_country ); } /** * Get the testing instructions for the payment method * * @param string $account_country The merchant's account country. * @return string HTML string containing testing instructions */ public static function get_testing_instructions( string $account_country ): string { return ''; } /** * Get the currency limits for the payment method * * @return array> */ public static function get_limits_per_currency(): array { return []; } /** * Whether this payment method is available for the given currency and country * * @param string $currency The currency code to check. * @param string $account_country The merchant's account country. * * @return bool */ public static function is_available_for( string $currency, string $account_country ): bool { return PaymentMethodUtils::is_available_for( self::get_supported_currencies(), self::get_supported_countries( $account_country ), $currency, $account_country ); } /** * Get the minimum amount for this payment method for a given currency and country * * @param string $currency The currency code. * @param string $country The country code. * * @return int|null The minimum amount or null if no minimum. */ public static function get_minimum_amount( string $currency, string $country ): ?int { return null; } /** * Get the maximum amount for this payment method for a given currency and country * * @param string $currency The currency code. * @param string $country The country code. * * @return int|null The maximum amount or null if no maximum. */ public static function get_maximum_amount( string $currency, string $country ): ?int { return null; } }