=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 PaymentSchedulesApi attr_accessor :api_client def initialize(api_client = ApiClient.default) @api_client = api_client end # Cancel a gateway payment schedule. # Use this to cancel an existing gateway payment schedule. # @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 [PaymentSchedulesResponse] def cancel_payment_schedule(content_type, client_request_id, api_key, timestamp, order_id, opts = {}) data, _status_code, _headers = cancel_payment_schedule_with_http_info(content_type, client_request_id, api_key, timestamp, order_id, opts) data end # Cancel a gateway payment schedule. # Use this to cancel an existing gateway payment schedule. # @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<(PaymentSchedulesResponse, Fixnum, Hash)>] PaymentSchedulesResponse data, response status code and response headers def cancel_payment_schedule_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: PaymentSchedulesApi.cancel_payment_schedule ...' 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 PaymentSchedulesApi.cancel_payment_schedule" 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 PaymentSchedulesApi.cancel_payment_schedule" 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 PaymentSchedulesApi.cancel_payment_schedule" 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 PaymentSchedulesApi.cancel_payment_schedule" 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 PaymentSchedulesApi.cancel_payment_schedule" end # resource path local_var_path = '/v1/payment-schedules/{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(:DELETE, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'PaymentSchedulesResponse', :default_error_type => 'ErrorResponse') if @api_client.config.debugging @api_client.config.logger.debug "API called: PaymentSchedulesApi#cancel_payment_schedule\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Use this to create a gateway payment schedule. # This can be used to create a gateway payment schedule. # @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 payment_schedules_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 [PaymentSchedulesResponse] def create_payment_schedule(content_type, client_request_id, api_key, timestamp, payment_schedules_request, opts = {}) data, _status_code, _headers = create_payment_schedule_with_http_info(content_type, client_request_id, api_key, timestamp, payment_schedules_request, opts) data end # Use this to create a gateway payment schedule. # This can be used to create a gateway payment schedule. # @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 payment_schedules_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<(PaymentSchedulesResponse, Fixnum, Hash)>] PaymentSchedulesResponse data, response status code and response headers def create_payment_schedule_with_http_info(content_type, client_request_id, api_key, timestamp, payment_schedules_request, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: PaymentSchedulesApi.create_payment_schedule ...' 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 PaymentSchedulesApi.create_payment_schedule" 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 PaymentSchedulesApi.create_payment_schedule" 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 PaymentSchedulesApi.create_payment_schedule" 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 PaymentSchedulesApi.create_payment_schedule" end # verify the required parameter 'payment_schedules_request' is set if @api_client.config.client_side_validation && payment_schedules_request.nil? fail ArgumentError, "Missing the required parameter 'payment_schedules_request' when calling PaymentSchedulesApi.create_payment_schedule" end # resource path local_var_path = '/v1/payment-schedules' # 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(payment_schedules_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 => 'PaymentSchedulesResponse', :default_error_type => 'ErrorResponse', :error_type => 'PaymentSchedulesErrorResponse') if @api_client.config.debugging @api_client.config.logger.debug "API called: PaymentSchedulesApi#create_payment_schedule\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # View a gateway payment schedule. # This can be used to view an existing gateway payment schedule. # @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 [RecurringPaymentDetailsResponse] def inquiry_payment_schedule(content_type, client_request_id, api_key, timestamp, order_id, opts = {}) data, _status_code, _headers = inquiry_payment_schedule_with_http_info(content_type, client_request_id, api_key, timestamp, order_id, opts) data end # View a gateway payment schedule. # This can be used to view an existing gateway payment schedule. # @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<(RecurringPaymentDetailsResponse, Fixnum, Hash)>] RecurringPaymentDetailsResponse data, response status code and response headers def inquiry_payment_schedule_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: PaymentSchedulesApi.inquiry_payment_schedule ...' 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 PaymentSchedulesApi.inquiry_payment_schedule" 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 PaymentSchedulesApi.inquiry_payment_schedule" 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 PaymentSchedulesApi.inquiry_payment_schedule" 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 PaymentSchedulesApi.inquiry_payment_schedule" 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 PaymentSchedulesApi.inquiry_payment_schedule" end # resource path local_var_path = '/v1/payment-schedules/{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 => 'RecurringPaymentDetailsResponse', :default_error_type => 'ErrorResponse') if @api_client.config.debugging @api_client.config.logger.debug "API called: PaymentSchedulesApi#inquiry_payment_schedule\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Update a gateway payment schedule. # This can be used to update a gateway payment schedule. # @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 payment_schedules_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 # @option opts [String] :store_id An optional outlet ID for clients that support multiple stores in the same developer app # @return [PaymentSchedulesResponse] def update_payment_schedule(content_type, client_request_id, api_key, timestamp, order_id, payment_schedules_request, opts = {}) data, _status_code, _headers = update_payment_schedule_with_http_info(content_type, client_request_id, api_key, timestamp, order_id, payment_schedules_request, opts) data end # Update a gateway payment schedule. # This can be used to update a gateway payment schedule. # @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 payment_schedules_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 # @option opts [String] :store_id An optional outlet ID for clients that support multiple stores in the same developer app # @return [Array<(PaymentSchedulesResponse, Fixnum, Hash)>] PaymentSchedulesResponse data, response status code and response headers def update_payment_schedule_with_http_info(content_type, client_request_id, api_key, timestamp, order_id, payment_schedules_request, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: PaymentSchedulesApi.update_payment_schedule ...' 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 PaymentSchedulesApi.update_payment_schedule" 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 PaymentSchedulesApi.update_payment_schedule" 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 PaymentSchedulesApi.update_payment_schedule" 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 PaymentSchedulesApi.update_payment_schedule" 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 PaymentSchedulesApi.update_payment_schedule" end # verify the required parameter 'payment_schedules_request' is set if @api_client.config.client_side_validation && payment_schedules_request.nil? fail ArgumentError, "Missing the required parameter 'payment_schedules_request' when calling PaymentSchedulesApi.update_payment_schedule" end # resource path local_var_path = '/v1/payment-schedules/{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']) # 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(payment_schedules_request) auth_names = [] data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'PaymentSchedulesResponse', :default_error_type => 'ErrorResponse') if @api_client.config.debugging @api_client.config.logger.debug "API called: PaymentSchedulesApi#update_payment_schedule\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end end end