=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 OrderApi attr_accessor :api_client def initialize(api_client = ApiClient.default) @api_client = api_client end # Retrieve the state of an order # Use this query to get the current state of an existing order. # @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 order_id Gateway order identifier as returned in the parameter orderId # @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 # @option opts [String] :store_id An optional outlet ID for clients that support multiple stores in the same developer app # @return [OrderResponse] def order_inquiry(content_type, client_request_id, api_key, timestamp, order_id, opts = {}) data, _status_code, _headers = order_inquiry_with_http_info(content_type, client_request_id, api_key, timestamp, order_id, opts) data end # Retrieve the state of an order # Use this query to get the current state of an existing order. # @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 order_id Gateway order identifier as returned in the parameter orderId # @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 # @option opts [String] :store_id An optional outlet ID for clients that support multiple stores in the same developer app # @return [Array<(OrderResponse, Fixnum, Hash)>] OrderResponse data, response status code and response headers def order_inquiry_with_http_info(content_type, client_request_id, api_key, timestamp, order_id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: OrderApi.order_inquiry ...' 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 OrderApi.order_inquiry" 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 OrderApi.order_inquiry" 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 OrderApi.order_inquiry" 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 OrderApi.order_inquiry" end # verify the required parameter 'order_id' is set if @api_client.config.client_side_validation && order_id.nil? fail ArgumentError, "Missing the required parameter 'order_id' when calling OrderApi.order_inquiry" end # resource path local_var_path = '/v1/orders/{order-id}'.sub('{' + 'order-id' + '}', order_id.to_s) # query parameters query_params = {} query_params[:'storeId'] = opts[:'store_id'] if !opts[:'store_id'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['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 = nil auth_names = [] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'OrderResponse', :default_error_type => 'ErrorResponse') if @api_client.config.debugging @api_client.config.logger.debug "API called: OrderApi#order_inquiry\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Capture/complete an already existing order. # Use this to capture/complete an order. Postauths and partial postauths are allowed. # @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 order_id Gateway order identifier as returned in the parameter orderId # @param secondary_transaction # @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 # @option opts [String] :store_id An optional outlet ID for clients that support multiple stores in the same developer app # @return [TransactionResponse] def order_post_auth(content_type, client_request_id, api_key, timestamp, order_id, secondary_transaction, opts = {}) data, _status_code, _headers = order_post_auth_with_http_info(content_type, client_request_id, api_key, timestamp, order_id, secondary_transaction, opts) data end # Capture/complete an already existing order. # Use this to capture/complete an order. Postauths and partial postauths are allowed. # @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 order_id Gateway order identifier as returned in the parameter orderId # @param secondary_transaction # @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 # @option opts [String] :store_id An optional outlet ID for clients that support multiple stores in the same developer app # @return [Array<(TransactionResponse, Fixnum, Hash)>] TransactionResponse data, response status code and response headers def order_post_auth_with_http_info(content_type, client_request_id, api_key, timestamp, order_id, secondary_transaction, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: OrderApi.order_post_auth ...' 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 OrderApi.order_post_auth" 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 OrderApi.order_post_auth" 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 OrderApi.order_post_auth" 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 OrderApi.order_post_auth" end # verify the required parameter 'order_id' is set if @api_client.config.client_side_validation && order_id.nil? fail ArgumentError, "Missing the required parameter 'order_id' when calling OrderApi.order_post_auth" end # verify the required parameter 'secondary_transaction' is set if @api_client.config.client_side_validation && secondary_transaction.nil? fail ArgumentError, "Missing the required parameter 'secondary_transaction' when calling OrderApi.order_post_auth" end # resource path local_var_path = '/v1/orders/{order-id}/postauth'.sub('{' + 'order-id' + '}', order_id.to_s) # query parameters query_params = {} query_params[:'storeId'] = opts[:'store_id'] if !opts[:'store_id'].nil? # 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(secondary_transaction) 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', :error_type => 'TransactionErrorResponse') if @api_client.config.debugging @api_client.config.logger.debug "API called: OrderApi#order_post_auth\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Return/refund an order. # Use this for Returns of an existing order. Partial Returns are allowed. # @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 order_id Gateway order identifier as returned in the parameter orderId # @param secondary_transaction # @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 # @option opts [String] :store_id An optional outlet ID for clients that support multiple stores in the same developer app # @return [TransactionResponse] def order_return_transaction(content_type, client_request_id, api_key, timestamp, order_id, secondary_transaction, opts = {}) data, _status_code, _headers = order_return_transaction_with_http_info(content_type, client_request_id, api_key, timestamp, order_id, secondary_transaction, opts) data end # Return/refund an order. # Use this for Returns of an existing order. Partial Returns are allowed. # @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 order_id Gateway order identifier as returned in the parameter orderId # @param secondary_transaction # @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 # @option opts [String] :store_id An optional outlet ID for clients that support multiple stores in the same developer app # @return [Array<(TransactionResponse, Fixnum, Hash)>] TransactionResponse data, response status code and response headers def order_return_transaction_with_http_info(content_type, client_request_id, api_key, timestamp, order_id, secondary_transaction, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: OrderApi.order_return_transaction ...' 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 OrderApi.order_return_transaction" 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 OrderApi.order_return_transaction" 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 OrderApi.order_return_transaction" 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 OrderApi.order_return_transaction" end # verify the required parameter 'order_id' is set if @api_client.config.client_side_validation && order_id.nil? fail ArgumentError, "Missing the required parameter 'order_id' when calling OrderApi.order_return_transaction" end # verify the required parameter 'secondary_transaction' is set if @api_client.config.client_side_validation && secondary_transaction.nil? fail ArgumentError, "Missing the required parameter 'secondary_transaction' when calling OrderApi.order_return_transaction" end # resource path local_var_path = '/v1/orders/{order-id}/return'.sub('{' + 'order-id' + '}', order_id.to_s) # query parameters query_params = {} query_params[:'storeId'] = opts[:'store_id'] if !opts[:'store_id'].nil? # 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(secondary_transaction) 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', :error_type => 'TransactionErrorResponse' ) if @api_client.config.debugging @api_client.config.logger.debug "API called: OrderApi#order_return_transaction\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end end end