class Oschadbank::Response
Public Class Methods
new(client, params)
click to toggle source
# File lib/oschadbank/response.rb, line 5 def initialize(client, params) @client = client @params = params check_required! check_signature! end
Public Instance Methods
amount()
click to toggle source
# File lib/oschadbank/response.rb, line 53 def amount @params['Amount'] && @params['Amount'].to_f end
auth?()
click to toggle source
# File lib/oschadbank/response.rb, line 21 def auth? request_type == :auth end
auth_code()
click to toggle source
# File lib/oschadbank/response.rb, line 65 def auth_code @params['AuthCode'] end
charge?()
click to toggle source
# File lib/oschadbank/response.rb, line 25 def charge? request_type == :charge end
currency()
click to toggle source
# File lib/oschadbank/response.rb, line 49 def currency @params['Currency'] end
int_ref()
click to toggle source
# File lib/oschadbank/response.rb, line 61 def int_ref @params['Int_Ref'] end
order_id()
click to toggle source
# File lib/oschadbank/response.rb, line 45 def order_id @params['Order'] end
pre_auth?()
click to toggle source
# File lib/oschadbank/response.rb, line 17 def pre_auth? request_type == :pre_auth end
refund?()
click to toggle source
# File lib/oschadbank/response.rb, line 29 def refund? request_type == :refund end
request_type()
click to toggle source
# File lib/oschadbank/response.rb, line 13 def request_type TR_TYPE.invert[@params['TRTYPE'].to_s] end
rrn()
click to toggle source
# File lib/oschadbank/response.rb, line 57 def rrn @params['RRN'] end
status_code()
click to toggle source
# File lib/oschadbank/response.rb, line 37 def status_code rc_code end
status_message()
click to toggle source
# File lib/oschadbank/response.rb, line 41 def status_message "#{result_message} (#{rc_message})" end
success?()
click to toggle source
# File lib/oschadbank/response.rb, line 33 def success? RESULT_SUCCESS.include?(result_code) && RC_SUCCESS.include?(rc_code) end
Private Instance Methods
check_required!()
click to toggle source
# File lib/oschadbank/response.rb, line 71 def check_required! required_params = %w(Order Result RC TRTYPE P_SIGN) required_params.each do |param| raise ParamRequired.new(param) if @params[param].to_s.empty? end end
check_signature!()
click to toggle source
# File lib/oschadbank/response.rb, line 78 def check_signature! params = @params.dup signature = params.delete('P_SIGN') valid_signature = MacBuilder.new(:response, @client.mac_key, params).build raise InvalidSignature unless signature.downcase == valid_signature end
rc_code()
click to toggle source
# File lib/oschadbank/response.rb, line 91 def rc_code @params['RC'].to_s end
rc_message()
click to toggle source
# File lib/oschadbank/response.rb, line 99 def rc_message RC_MESSAGES[rc_code] end
result_code()
click to toggle source
# File lib/oschadbank/response.rb, line 87 def result_code @params['Result'].to_s end
result_message()
click to toggle source
# File lib/oschadbank/response.rb, line 95 def result_message RESULT_MESSAGES[result_code] end