$url ); $logger = self::get_logger(); $response = wp_remote_get( add_query_arg( '_locale', get_user_locale(), $url ) ); if ( is_wp_error( $response ) || ! isset( $response['body'] ) ) { $logger->error( 'Error getting remote payment method data feed', $logger_context ); // phpcs:ignore $logger->error( print_r( $response, true ), $logger_context ); return []; } $body = $response['body']; $specs = json_decode( $body ); if ( null === $specs ) { $logger->error( 'Empty response in remote payment method data feed', $logger_context ); return []; } if ( ! is_array( $specs ) ) { $logger->error( 'Remote payment method data feed is not an array', $logger_context ); return []; } return $specs; } /** * Merge the specs. * * @param Array $specs_to_merge_in The specs to merge in to $specs. * @param Array $specs The list of specs being merged into. */ private static function merge_specs( $specs_to_merge_in, &$specs ) { foreach ( $specs_to_merge_in as $spec ) { $id = $spec->id; $specs[ $id ] = $spec; } } }