=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 CardVerificationApi attr_accessor :api_client def initialize(api_client = ApiClient.default) @api_client = api_client end # Verify a payment card. # Use this to perform card verification for a payment card. # @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_verification_request # @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 [TransactionResponse] def verify_card(content_type, client_request_id, api_key, timestamp, card_verification_request, opts = {}) data, _status_code, _headers = verify_card_with_http_info(content_type, client_request_id, api_key, timestamp, card_verification_request, opts) data end # Verify a payment card. # Use this to perform card verification for a payment card. # @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_verification_request # @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<(TransactionResponse, Fixnum, Hash)>] TransactionResponse data, response status code and response headers def verify_card_with_http_info(content_type, client_request_id, api_key, timestamp, card_verification_request, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: CardVerificationApi.verify_card ...' 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 CardVerificationApi.verify_card" 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 CardVerificationApi.verify_card" 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 CardVerificationApi.verify_card" 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 CardVerificationApi.verify_card" end # verify the required parameter 'card_verification_request' is set if @api_client.config.client_side_validation && card_verification_request.nil? fail ArgumentError, "Missing the required parameter 'card_verification_request' when calling CardVerificationApi.verify_card" end # resource path local_var_path = '/v1/card-verification' # 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_verification_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 => 'TransactionResponse', :default_error_type => 'ErrorResponse') if @api_client.config.debugging @api_client.config.logger.debug "API called: CardVerificationApi#verify_card\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end end end