class Suretax::Api::CancelRequest

Given a transaction ID, sends a request to cancel that transaction to Suretax.

Attributes

client_number[RW]
client_tracking[RW]
response[R]
transaction[RW]
validation_key[RW]

Public Class Methods

new(options = {}) click to toggle source
# File lib/suretax/api/cancel_request.rb, line 13
def initialize(options = {})
  self.client_number  = options.fetch(:client_number,
                                      configuration.client_number)
  self.validation_key = options.fetch(:validation_key,
                                      configuration.validation_key)

  options.each_pair do |key, value|
    send("#{key}=", value.to_s)
  end
end

Public Instance Methods

params() click to toggle source
# File lib/suretax/api/cancel_request.rb, line 32
def params
  {
    "ClientNumber"   => client_number,
    "ClientTracking" => client_tracking,
    "TransId"        => transaction,
    "ValidationKey"  => validation_key
  }
end
submit() click to toggle source
# File lib/suretax/api/cancel_request.rb, line 24
def submit
  log_request
  suretax_response = connection.cancel(params)

  log_response(suretax_response)
  @response = Suretax::Api::Response.new(suretax_response.body)
end

Private Instance Methods

configuration() click to toggle source
# File lib/suretax/api/cancel_request.rb, line 55
def configuration
  Suretax.configuration
end
connection() click to toggle source
# File lib/suretax/api/cancel_request.rb, line 59
def connection
  @connection ||= Connection.new
end
log_request() click to toggle source
# File lib/suretax/api/cancel_request.rb, line 43
def log_request
  logger&.info "\nSureTax Cancellation sent:\n#{params.inspect}"
end
log_response(response) click to toggle source
# File lib/suretax/api/cancel_request.rb, line 47
def log_response(response)
  logger&.info("\nSureTax Cancellation resp:\n#{response.inspect}")
end
logger() click to toggle source
# File lib/suretax/api/cancel_request.rb, line 51
def logger
  configuration.logger
end