class BanorteTransaction
Attributes
_original_post[RW]
amount[RW]
authnum[RW]
card_number[RW]
card_type[RW]
cvv[RW]
e[RW]
error_code[RW]
exp_date[RW]
issuing_bank[RW]
message[RW]
order_id[RW]
time_in[RW]
time_out[RW]
transaction_status[RW]
transaction_type[RW]
Public Class Methods
from_post(post)
click to toggle source
# File lib/banorte_payworks/banorte_transaction.rb, line 7 def self.from_post(post) #TODO this big huge method needs to be abstracted to an a class and we need to cas the proper primitive types parsed_post = CGI::parse(post) create_with_properties self do |transaction| transaction._original_post = post transaction.error_code = parsed_post['CcErrCode'][0] transaction.message = parsed_post['Text'][0] transaction.authnum = parsed_post['AuthCode'][0] transaction.order_id = parsed_post['OrderId'][0] transaction.amount = parsed_post['Total'][0] transaction.time_in = parsed_post['TimeIn'][0] transaction.time_out = parsed_post['TimeOut'][0] transaction.e = [parsed_post['E1'][0], parsed_post['E2'][0], parsed_post['E3'][0]] transaction.card_type = parsed_post['CardType'][0] transaction.issuing_bank = parsed_post['IssuingBank'][0] transaction.transaction_type = parsed_post['TransType'][0] transaction.transaction_status = parsed_post['TransStat'][0] transaction.card_number = parsed_post['Number'][0] end end
Private Class Methods
create_with_properties(clazz) { |instance| ... }
click to toggle source
# File lib/banorte_payworks/banorte_transaction.rb, line 42 def self.create_with_properties(clazz, &block) instance = clazz.new yield instance instance end
Public Instance Methods
valid?()
click to toggle source
# File lib/banorte_payworks/banorte_transaction.rb, line 33 def valid? error_code.eql? '1' end
validate!()
click to toggle source
# File lib/banorte_payworks/banorte_transaction.rb, line 37 def validate! raise BpayworksException.new("Error::#{error_code}: #{message}") unless valid? end