class Redex::Request::TransactionRequest
Attributes
amount[RW]
auto_capture[RW]
card_cvv[RW]
card_expiration_month[RW]
card_expiration_year[RW]
card_holder_name[RW]
card_number[RW]
installments[RW]
invoice_note[RW]
order_id[RW]
origin[R]
recorrence[R]
Public Class Methods
new(params = {})
click to toggle source
# File lib/redex/request/transaction_request.rb, line 10 def initialize(params = {}) @order_id = params[:order_id] @amount = params[:amount] @installments = params.fetch(:installments, 1) @invoice_note = params[:invoice_note] @card_number = params[:card_number] @card_cvv = params[:card_cvv] @card_holder_name = params[:card_holder_name] @card_expiration_month = params[:card_expiration_month] @card_expiration_year = params[:card_expiration_year] @auto_capture = params.fetch(:auto_capture, true) @recorrence = params.fetch(:recorrence, false) @origin = 1 end
Public Instance Methods
sanitized_fields()
click to toggle source
# File lib/redex/request/transaction_request.rb, line 25 def sanitized_fields { NumPedido: sanitize(:order_id), Total: sanitize(:amount), Parcelas: sanitize(:installments), IdentificacaoFatura: sanitize(:invoice_note), Nrcartao: sanitize(:card_number), Cvc2: sanitize(:card_cvv), Portador: sanitize(:card_holder_name), Mes: sanitize(:card_expiration_month), Ano: sanitize(:card_expiration_year), Recorrente: sanitize(:recorrence), Origem: sanitize(:origin), Transacao: transaction_type }.merge(authorization_params).sort.to_h.select { |k, v| !v.to_s.empty? } end
Private Instance Methods
card_expiration_year_sanitized()
click to toggle source
# File lib/redex/request/transaction_request.rb, line 55 def card_expiration_year_sanitized year = card_expiration_year.to_i year += 2000 if year < 100 year.to_s end
do_request()
click to toggle source
# File lib/redex/request/transaction_request.rb, line 44 def do_request raw_response = BaseRequest.client.GetAuthorizedCredit(request: sanitized_fields) Redex::Response::TransactionResponse.new(raw_response.result) end
transaction_type()
click to toggle source
# File lib/redex/request/transaction_request.rb, line 49 def transaction_type return "74" unless @auto_capture return "08" if installments.to_i > 1 "04" end