=begin #Payment Gateway API Specification. #Payment Gateway API for payment processing. Version 6.4.0.20181018.001 OpenAPI spec version: 6.4.0.20181018.001 Generated by: https://openapi-generator.tech OpenAPI Generator version: unset =end require 'uri' module OpenapiClient class CardInfoLookupApi attr_accessor :api_client def initialize(api_client = ApiClient.default) @api_client = api_client end # Card information lookUp # Use this to look up card related information such as issuer country, card function and card brand. # @param content_type content type # @param client_request_id A client-generated ID for request tracking and signature creation, unique per request. This is also used for idempotency control. We recommend 128-bit UUID format. # @param api_key # @param timestamp Epoch timestamp in milliseconds in the request from a client system. Used for Message Signature generation and time limit (5 mins). # @param card_info_lookup_request Card information lookup payload. # @param [Hash] opts the optional parameters # @option opts [String] :message_signature Used to ensure the request has not been tampered with during transmission. The Message-Signature is the Base64 encoded HMAC hash (SHA256 algorithm with the API Secret as the key.) For more information, refer to the supporting documentation on the Developer Portal. # @option opts [String] :region The region where client wants to process the transaction # @return [CardInfoLookupResponse] def card_info_lookup(content_type, client_request_id, api_key, timestamp, card_info_lookup_request, opts = {}) data, _status_code, _headers = card_info_lookup_with_http_info(content_type, client_request_id, api_key, timestamp, card_info_lookup_request, opts) data end # Card information lookUp # Use this to look up card related information such as issuer country, card function and card brand. # @param content_type content type # @param client_request_id A client-generated ID for request tracking and signature creation, unique per request. This is also used for idempotency control. We recommend 128-bit UUID format. # @param api_key # @param timestamp Epoch timestamp in milliseconds in the request from a client system. Used for Message Signature generation and time limit (5 mins). # @param card_info_lookup_request Card information lookup payload. # @param [Hash] opts the optional parameters # @option opts [String] :message_signature Used to ensure the request has not been tampered with during transmission. The Message-Signature is the Base64 encoded HMAC hash (SHA256 algorithm with the API Secret as the key.) For more information, refer to the supporting documentation on the Developer Portal. # @option opts [String] :region The region where client wants to process the transaction # @return [Array<(CardInfoLookupResponse, Fixnum, Hash)>] CardInfoLookupResponse data, response status code and response headers def card_info_lookup_with_http_info(content_type, client_request_id, api_key, timestamp, card_info_lookup_request, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: CardInfoLookupApi.card_info_lookup ...' end # verify the required parameter 'content_type' is set if @api_client.config.client_side_validation && content_type.nil? fail ArgumentError, "Missing the required parameter 'content_type' when calling CardInfoLookupApi.card_info_lookup" end # verify enum value if @api_client.config.client_side_validation && !['application/json'].include?(content_type) fail ArgumentError, "invalid value for 'content_type', must be one of application/json" end # verify the required parameter 'client_request_id' is set if @api_client.config.client_side_validation && client_request_id.nil? fail ArgumentError, "Missing the required parameter 'client_request_id' when calling CardInfoLookupApi.card_info_lookup" end # verify the required parameter 'api_key' is set if @api_client.config.client_side_validation && api_key.nil? fail ArgumentError, "Missing the required parameter 'api_key' when calling CardInfoLookupApi.card_info_lookup" end # verify the required parameter 'timestamp' is set if @api_client.config.client_side_validation && timestamp.nil? fail ArgumentError, "Missing the required parameter 'timestamp' when calling CardInfoLookupApi.card_info_lookup" end # verify the required parameter 'card_info_lookup_request' is set if @api_client.config.client_side_validation && card_info_lookup_request.nil? fail ArgumentError, "Missing the required parameter 'card_info_lookup_request' when calling CardInfoLookupApi.card_info_lookup" end # resource path local_var_path = '/v1/card-information' # query parameters query_params = {} # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # HTTP header 'Content-Type' # header_params['Content-Type'] = @api_client.select_header_content_type(['application/json']) # header_params[:'Content-Type'] = content_type header_params[:'Client-Request-Id'] = client_request_id header_params[:'Api-Key'] = api_key header_params[:'Timestamp'] = timestamp header_params[:'Message-Signature'] = opts[:'message_signature'] if !opts[:'message_signature'].nil? header_params[:'Region'] = opts[:'region'] if !opts[:'region'].nil? # form parameters form_params = {} # http body (model) post_body = @api_client.object_to_http_body(card_info_lookup_request) auth_names = [] data, status_code, headers = @api_client.call_api(:POST, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'CardInfoLookupResponse', :default_error_type => 'ErrorResponse') if @api_client.config.debugging @api_client.config.logger.debug "API called: CardInfoLookupApi#card_info_lookup\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end end end