Class: Suretax::Api::CancelRequest

Inherits:
Object
  • Object
show all
Defined in:
lib/suretax/api/cancel_request.rb

Overview

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ CancelRequest

Returns a new instance of CancelRequest.



13
14
15
16
17
18
19
20
21
22
# 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

Instance Attribute Details

#client_numberObject

Returns the value of attribute client_number.



8
9
10
# File 'lib/suretax/api/cancel_request.rb', line 8

def client_number
  @client_number
end

#client_trackingObject

Returns the value of attribute client_tracking.



8
9
10
# File 'lib/suretax/api/cancel_request.rb', line 8

def client_tracking
  @client_tracking
end

#responseObject (readonly)

Returns the value of attribute response.



11
12
13
# File 'lib/suretax/api/cancel_request.rb', line 11

def response
  @response
end

#transactionObject

Returns the value of attribute transaction.



8
9
10
# File 'lib/suretax/api/cancel_request.rb', line 8

def transaction
  @transaction
end

#validation_keyObject

Returns the value of attribute validation_key.



8
9
10
# File 'lib/suretax/api/cancel_request.rb', line 8

def validation_key
  @validation_key
end

Instance Method Details

#paramsObject



32
33
34
35
36
37
38
39
# File 'lib/suretax/api/cancel_request.rb', line 32

def params
  {
    "ClientNumber"   => client_number,
    "ClientTracking" => client_tracking,
    "TransId"        => transaction,
    "ValidationKey"  => validation_key
  }
end

#submitObject



24
25
26
27
28
29
30
# 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