Class: Cieloz::RequisicaoTransacao
- Inherits:
-
Requisicao
- Object
- Requisicao
- Cieloz::RequisicaoTransacao
- Defined in:
- lib/cieloz/requisicao_transacao.rb,
lib/cieloz/requisicao_transacao/dados_avs.rb,
lib/cieloz/requisicao_transacao/dados_pedido.rb,
lib/cieloz/requisicao_transacao/dados_portador.rb,
lib/cieloz/requisicao_transacao/forma_pagamento.rb
Defined Under Namespace
Classes: DadosAvs, DadosPedido, DadosPortador, FormaPagamento
Constant Summary collapse
- SOMENTE_AUTENTICAR =
0- AUTORIZAR_SE_AUTENTICADA =
1- AUTORIZAR_NAO_AUTENTICADA =
2- AUTORIZACAO_DIRETA =
3- RECORRENTE =
4
Instance Attribute Summary collapse
-
#autorizar ⇒ Object
readonly
Returns the value of attribute autorizar.
-
#campo_livre ⇒ Object
Returns the value of attribute campo_livre.
-
#capturar ⇒ Object
readonly
Returns the value of attribute capturar.
-
#dados_avs ⇒ Object
readonly
Returns the value of attribute dados_avs.
-
#dados_pedido ⇒ Object
readonly
Returns the value of attribute dados_pedido.
-
#dados_portador ⇒ Object
readonly
Returns the value of attribute dados_portador.
-
#forma_pagamento ⇒ Object
readonly
Returns the value of attribute forma_pagamento.
-
#gerar_token ⇒ Object
Returns the value of attribute gerar_token.
-
#url_retorno ⇒ Object
Returns the value of attribute url_retorno.
Attributes inherited from Requisicao
Class Method Summary collapse
Instance Method Summary collapse
- #attributes ⇒ Object
- #autorizacao_direta ⇒ Object
- #autorizacao_direta? ⇒ Boolean
- #autorizar_nao_autenticada ⇒ Object
- #autorizar_somente_autenticada ⇒ Object
- #capturar_automaticamente ⇒ Object
- #nao_capturar? ⇒ Boolean
- #nao_capturar_automaticamente ⇒ Object
- #nested_validations ⇒ Object
- #parcela_minima? ⇒ Boolean
- #recorrente ⇒ Object
- #somente_autenticar ⇒ Object
- #suporta_autenticacao? ⇒ Boolean
- #suporta_autorizacao_direta? ⇒ Boolean
Methods inherited from Requisicao
#parse, #requested_xml, #submit, #to_xml
Methods included from Helpers
#attributes=, #dasherize_attr, included, #initialize
Instance Attribute Details
#autorizar ⇒ Object (readonly)
Returns the value of attribute autorizar.
10 11 12 |
# File 'lib/cieloz/requisicao_transacao.rb', line 10 def autorizar @autorizar end |
#campo_livre ⇒ Object
Returns the value of attribute campo_livre.
11 12 13 |
# File 'lib/cieloz/requisicao_transacao.rb', line 11 def campo_livre @campo_livre end |
#capturar ⇒ Object (readonly)
Returns the value of attribute capturar.
10 11 12 |
# File 'lib/cieloz/requisicao_transacao.rb', line 10 def capturar @capturar end |
#dados_avs ⇒ Object (readonly)
Returns the value of attribute dados_avs.
9 10 11 |
# File 'lib/cieloz/requisicao_transacao.rb', line 9 def dados_avs @dados_avs end |
#dados_pedido ⇒ Object (readonly)
Returns the value of attribute dados_pedido.
9 10 11 |
# File 'lib/cieloz/requisicao_transacao.rb', line 9 def dados_pedido @dados_pedido end |
#dados_portador ⇒ Object (readonly)
Returns the value of attribute dados_portador.
9 10 11 |
# File 'lib/cieloz/requisicao_transacao.rb', line 9 def dados_portador @dados_portador end |
#forma_pagamento ⇒ Object (readonly)
Returns the value of attribute forma_pagamento.
9 10 11 |
# File 'lib/cieloz/requisicao_transacao.rb', line 9 def forma_pagamento @forma_pagamento end |
#gerar_token ⇒ Object
Returns the value of attribute gerar_token.
11 12 13 |
# File 'lib/cieloz/requisicao_transacao.rb', line 11 def gerar_token @gerar_token end |
#url_retorno ⇒ Object
Returns the value of attribute url_retorno.
11 12 13 |
# File 'lib/cieloz/requisicao_transacao.rb', line 11 def url_retorno @url_retorno end |
Class Method Details
.map(source, opts = {}) ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/cieloz/requisicao_transacao.rb', line 49 def self.map(source, opts={}) portador, pedido, pagamento, avs, url, capturar, campo_livre, gerar = attrs_from source, opts, :dados_portador, :dados_pedido, :forma_pagamento, :dados_avs, :url_retorno, :capturar, :campo_livre, :gerar_token url ||= Cieloz::Configuracao.url_retorno gerar ||= false txn = new source: source, opts: opts, dados_portador: portador, dados_pedido: pedido, forma_pagamento: pagamento, dados_avs: avs, campo_livre: campo_livre, url_retorno: url, gerar_token: gerar, dados_ec: Cieloz::Configuracao.credenciais capturar ||= Cieloz::Configuracao.captura_automatica case capturar.to_s when 'true' then txn.capturar_automaticamente else txn.nao_capturar_automaticamente end txn.send pagamento.metodo_autorizacao if pagamento txn end |
Instance Method Details
#attributes ⇒ Object
148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 |
# File 'lib/cieloz/requisicao_transacao.rb', line 148 def attributes { dados_ec: @dados_ec, dados_portador: @dados_portador, dados_pedido: @dados_pedido, forma_pagamento: @forma_pagamento, url_retorno: @url_retorno, autorizar: @autorizar, capturar: @capturar, campo_livre: @campo_livre, bin: (@dados_portador.numero.to_s[0..5] unless @dados_portador.nil?), gerar_token: @gerar_token, dados_avs: @dados_avs } end |
#autorizacao_direta ⇒ Object
112 113 114 115 |
# File 'lib/cieloz/requisicao_transacao.rb', line 112 def autorizacao_direta @autorizar = AUTORIZACAO_DIRETA self end |
#autorizacao_direta? ⇒ Boolean
117 118 119 |
# File 'lib/cieloz/requisicao_transacao.rb', line 117 def autorizacao_direta? @autorizar == AUTORIZACAO_DIRETA end |
#autorizar_nao_autenticada ⇒ Object
107 108 109 110 |
# File 'lib/cieloz/requisicao_transacao.rb', line 107 def autorizar_nao_autenticada @autorizar = AUTORIZAR_NAO_AUTENTICADA self end |
#autorizar_somente_autenticada ⇒ Object
102 103 104 105 |
# File 'lib/cieloz/requisicao_transacao.rb', line 102 def autorizar_somente_autenticada @autorizar = AUTORIZAR_SE_AUTENTICADA self end |
#capturar_automaticamente ⇒ Object
126 127 128 129 |
# File 'lib/cieloz/requisicao_transacao.rb', line 126 def capturar_automaticamente @capturar = "true" self end |
#nao_capturar? ⇒ Boolean
93 94 95 |
# File 'lib/cieloz/requisicao_transacao.rb', line 93 def nao_capturar? add_error :dados_avs, :no_capture_with_avs if @capturar == 'true' end |
#nao_capturar_automaticamente ⇒ Object
131 132 133 134 |
# File 'lib/cieloz/requisicao_transacao.rb', line 131 def nao_capturar_automaticamente @capturar = "false" self end |
#nested_validations ⇒ Object
74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/cieloz/requisicao_transacao.rb', line 74 def nested_validations nested_attrs = [ :dados_ec, :dados_pedido, :forma_pagamento, :dados_avs ] nested_attrs << :dados_portador if Cieloz::Configuracao.store_mode? nested_attrs.each { |attr| attr_value = instance_variable_get "@#{attr}" if not attr_value.nil? and not attr_value.valid? errors.add attr, attr_value.errors end } end |
#parcela_minima? ⇒ Boolean
86 87 88 89 90 91 |
# File 'lib/cieloz/requisicao_transacao.rb', line 86 def parcela_minima? valor, parcelas = @dados_pedido.valor.to_i, @forma_pagamento.parcelas.to_i if parcelas > 0 and valor / parcelas < 500 @dados_pedido.add_error :valor, :minimum_installment_not_satisfied end end |
#recorrente ⇒ Object
121 122 123 124 |
# File 'lib/cieloz/requisicao_transacao.rb', line 121 def recorrente @autorizar = RECORRENTE self end |
#somente_autenticar ⇒ Object
97 98 99 100 |
# File 'lib/cieloz/requisicao_transacao.rb', line 97 def somente_autenticar @autorizar = SOMENTE_AUTENTICAR self end |
#suporta_autenticacao? ⇒ Boolean
142 143 144 145 146 |
# File 'lib/cieloz/requisicao_transacao.rb', line 142 def suporta_autenticacao? if not autorizacao_direta? and not @forma_pagamento.suporta_autenticacao? errors.add :autorizar, :authentication_not_supported end end |
#suporta_autorizacao_direta? ⇒ Boolean
136 137 138 139 140 |
# File 'lib/cieloz/requisicao_transacao.rb', line 136 def suporta_autorizacao_direta? if autorizacao_direta? and @forma_pagamento.debito? errors.add :autorizar, :direct_auth_available_for_credit_only end end |