Class: Cielo::Transaction

Inherits:
Object
  • Object
show all
Defined in:
lib/cielo/transaction.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(numero_afiliacao = Cielo.numero_afiliacao, chave_acesso = Cielo.chave_acesso) ⇒ Transaction

Returns a new instance of Transaction.



8
9
10
11
12
# File 'lib/cielo/transaction.rb', line 8

def initialize numero_afiliacao = Cielo.numero_afiliacao, chave_acesso = Cielo.chave_acesso
  @numero_afiliacao = numero_afiliacao
  @chave_acesso = chave_acesso
  @connection = Cielo::Connection.new @numero_afiliacao, @chave_acesso
end

Instance Attribute Details

#chave_acessoObject (readonly)

Returns the value of attribute chave_acesso.



6
7
8
# File 'lib/cielo/transaction.rb', line 6

def chave_acesso
  @chave_acesso
end

#numero_afiliacaoObject (readonly)

Returns the value of attribute numero_afiliacao.



5
6
7
# File 'lib/cielo/transaction.rb', line 5

def numero_afiliacao
  @numero_afiliacao
end

Instance Method Details

#authorize!(cielo_tid) ⇒ Object



68
69
70
71
72
73
74
# File 'lib/cielo/transaction.rb', line 68

def authorize!(cielo_tid)
  return nil unless cielo_tid
  message = @connection.xml_builder("requisicao-autorizacao-tid", :before) do |xml|
    xml.tid "#{cielo_tid}"
  end
  @connection.make_request! message
end

#cancel!(cielo_tid) ⇒ Object



76
77
78
79
80
81
82
# File 'lib/cielo/transaction.rb', line 76

def cancel!(cielo_tid)
  return nil unless cielo_tid
  message = @connection.xml_builder("requisicao-cancelamento", :before) do |xml|
    xml.tid "#{cielo_tid}"
  end
  @connection.make_request! message
end

#catch!(cielo_tid) ⇒ Object



60
61
62
63
64
65
66
# File 'lib/cielo/transaction.rb', line 60

def catch!(cielo_tid)
  return nil unless cielo_tid
  message = @connection.xml_builder("requisicao-captura", :before) do |xml|
    xml.tid "#{cielo_tid}"
  end
  @connection.make_request! message
end

#cielo_page_create!(parameters = {}) ⇒ Object



43
44
45
46
47
48
49
# File 'lib/cielo/transaction.rb', line 43

def cielo_page_create!(parameters={})
  analysis_parameters(parameters, :buy_page_cielo)
  message = @connection.xml_builder("requisicao-transacao") do |xml|
    default_transaction_xml(xml, parameters)
  end
  @connection.make_request! message
end

#create!(parameters = {}, buy_page = :cielo) ⇒ Object



14
15
16
17
18
19
20
# File 'lib/cielo/transaction.rb', line 14

def create!(parameters = {}, buy_page = :cielo)
  if buy_page == :store
    store_page_create!(parameters)
  else
    cielo_page_create!(parameters)
  end
end

#store_page_create!(parameters = {}) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/cielo/transaction.rb', line 22

def store_page_create!(parameters={})
  analysis_parameters(parameters, :buy_page_store)
  message = @connection.xml_builder('requisicao-transacao') do |xml|
    xml.tag!("dados-portador") do
      if parameters[:token].present?
        xml.tag!('token', CGI.escape(parameters[:token]))
      else
        xml.tag!('numero', parameters[:cartao_numero])
        xml.tag!('validade', parameters[:cartao_validade])
        xml.tag!('indicador', parameters[:cartao_indicador])
        xml.tag!('codigo-seguranca', parameters[:cartao_seguranca])
        xml.tag!('nome-portador', parameters[:cartao_portador])
        xml.tag!('token', '')
      end
    end
    default_transaction_xml(xml, parameters)
  end

  @connection.make_request! message
end

#verify!(cielo_tid) ⇒ Object



51
52
53
54
55
56
57
58
# File 'lib/cielo/transaction.rb', line 51

def verify!(cielo_tid)
  return nil unless cielo_tid
  message = @connection.xml_builder("requisicao-consulta", :before) do |xml|
    xml.tid "#{cielo_tid}"
  end

  @connection.make_request! message
end