Class: SuperpayApi::Transacao
- Inherits:
-
Object
- Object
- SuperpayApi::Transacao
- Includes:
- ActiveModel::Validations
- Defined in:
- lib/superpay_api/transacao.rb
Instance Attribute Summary collapse
-
#campo_livre1 ⇒ Object
Campo Livre 1 Alfa Numérico - Até 16 caracteres.
-
#campo_livre2 ⇒ Object
Campo Livre 2 Alfa Numérico - Até 16 caracteres.
-
#campo_livre3 ⇒ Object
Campo Livre 3 Alfa Numérico - Até 16 caracteres.
-
#campo_livre4 ⇒ Object
Campo Livre 4 Alfa Numérico - Até 16 caracteres.
-
#campo_livre5 ⇒ Object
Campo Livre 5 Alfa Numérico - Até 16 caracteres.
-
#codigo_forma_pagamento ⇒ Object
Código da forma de pagamento.
-
#codigo_seguranca ⇒ Object
Código de segurança do cartão (campo não é armazenado pelo SuperPay) Numérico - Até 4 caracteres.
-
#dados_usuario_transacao ⇒ Object
Informações para cobrança e entrega.
-
#data_validade_cartao ⇒ Object
Data de validade do cartão.
-
#ip ⇒ Object
Número do IP do usuário final/cliente.
-
#itens_do_pedido ⇒ Object
Lista com Itens que estão sendo comprados.
-
#nome_titular_cartao_credito ⇒ Object
Nome do titular do cartão de crédito (Exatamente como escrito no cartão) Alfa Numérico - Até 16 caracteres.
-
#numero_cartao_credito ⇒ Object
Numero do cartão de crédito, sem espaços ou traços Numérico - Até 22 caracteres.
-
#numero_transacao ⇒ Object
Código que identifica a transação dentro do SuperPay Numérico - Até 8 dígitos.
-
#parcelas ⇒ Object
Quantidade de parcelas da transação.
-
#taxa_embarque ⇒ Object
Valor da taxa de embarque Sempre enviar o valor sem vírgula ou ponto, os dois últimos dígitos são sempre considerados como centavos.
-
#url_redirecionamento_nao_pago ⇒ Object
Para o modelo de pagamento redirect, O SuperPay redirecionará para essa URL em caso de transação *reprovada Alfa Numérico - Até 250 caracteres.
-
#url_redirecionamento_pago ⇒ Object
Para o modelo de pagamento redirect, O SuperPay redirecionará para essa URL em caso de transação *aprovada Alfa Numérico - Até 250 caracteres.
-
#valor ⇒ Object
Valor da transação Sempre enviar o valor sem vírgula ou ponto, os dois últimos dígitos são sempre considerados como centavos.
-
#valor_desconto ⇒ Object
Valor do desconto da transação Sempre enviar o valor sem vírgula ou ponto, os dois últimos dígitos são sempre considerados como centavos.
-
#vencimento_boleto ⇒ Object
Data de validade do boleto.
Class Method Summary collapse
-
.cancelar_transacao(numero_transacao) ⇒ Object
Função para Cancelar transação numero_transacao => :integer.
-
.capturar_transacao(numero_transacao) ⇒ Object
Função para Capturar transação numero_transacao => :integer.
-
.consulta_transacao(numero_transacao) ⇒ Object
Função para consultar transações numero_transacao => :integer.
-
.estorno_de_transacao(numero_transacao, valor_estorno) ⇒ Object
Função para Estorno de transação numero_transacao => :integer valor_estorno => :integer Sempre enviar o valor sem vírgula ou ponto, os dois últimos dígitos são sempre considerados como centavos.
-
.localizar_pela_campainha(notificacao = {}) ⇒ Object
Função para Localizar transação pela campainha notificacao => Hash.
Instance Method Summary collapse
-
#cancelar_transacao(numero_transacao) ⇒ Object
Função para Cancelar transação numero_transacao => :integer.
-
#capturar_transacao(numero_transacao) ⇒ Object
Função para Capturar transação numero_transacao => :integer.
-
#consulta_transacao(numero_transacao) ⇒ Object
Função para consultar transações numero_transacao => :integer.
-
#enviar_pagamento ⇒ Object
Função para realizar o pagamento de transações.
-
#estorno_de_transacao(numero_transacao, valor_estorno) ⇒ Object
Função para Estorno de transação numero_transacao => :integer valor_estorno => :integer Sempre enviar o valor sem vírgula ou ponto, os dois últimos dígitos são sempre considerados como centavos.
-
#initialize(campos = {}) ⇒ Transacao
constructor
Nova instancia da classe Transacao.
-
#localizar_pela_campainha(notificacao = {}) ⇒ Object
Função para Localizar transação pela campainha notificacao => Hash.
-
#to_request ⇒ Object
Montar o Hash da transação no padrão utilizado pelo SuperPay.
Constructor Details
#initialize(campos = {}) ⇒ Transacao
Nova instancia da classe Transacao
137 138 139 140 141 142 143 |
# File 'lib/superpay_api/transacao.rb', line 137 def initialize(campos = {}) campos.each do |campo, valor| if SuperpayApi::Transacao.public_instance_methods.include? "#{campo}=".to_sym send "#{campo}=", valor end end end |
Instance Attribute Details
#campo_livre1 ⇒ Object
Campo Livre 1 Alfa Numérico - Até 16 caracteres
66 67 68 |
# File 'lib/superpay_api/transacao.rb', line 66 def campo_livre1 @campo_livre1 end |
#campo_livre2 ⇒ Object
Campo Livre 2 Alfa Numérico - Até 16 caracteres
70 71 72 |
# File 'lib/superpay_api/transacao.rb', line 70 def campo_livre2 @campo_livre2 end |
#campo_livre3 ⇒ Object
Campo Livre 3 Alfa Numérico - Até 16 caracteres
74 75 76 |
# File 'lib/superpay_api/transacao.rb', line 74 def campo_livre3 @campo_livre3 end |
#campo_livre4 ⇒ Object
Campo Livre 4 Alfa Numérico - Até 16 caracteres
78 79 80 |
# File 'lib/superpay_api/transacao.rb', line 78 def campo_livre4 @campo_livre4 end |
#campo_livre5 ⇒ Object
Campo Livre 5 Alfa Numérico - Até 16 caracteres
82 83 84 |
# File 'lib/superpay_api/transacao.rb', line 82 def campo_livre5 @campo_livre5 end |
#codigo_forma_pagamento ⇒ Object
Código da forma de pagamento. Ver tabela “Forma de Pagamento” Simbolo - Valores pré-definidos - Verifique classe SuperpayApi::FormaDePagamento
11 12 13 |
# File 'lib/superpay_api/transacao.rb', line 11 def codigo_forma_pagamento @codigo_forma_pagamento end |
#codigo_seguranca ⇒ Object
Código de segurança do cartão (campo não é armazenado pelo SuperPay) Numérico - Até 4 caracteres
42 43 44 |
# File 'lib/superpay_api/transacao.rb', line 42 def codigo_seguranca @codigo_seguranca end |
#dados_usuario_transacao ⇒ Object
Informações para cobrança e entrega. Informações importantes para análise de fraude SuperpayApi::DadosUsuario
86 87 88 |
# File 'lib/superpay_api/transacao.rb', line 86 def dados_usuario_transacao @dados_usuario_transacao end |
#data_validade_cartao ⇒ Object
Data de validade do cartão. Alfa Numérico - Até 7 caracteres - Formato mm/yyyy
46 47 48 |
# File 'lib/superpay_api/transacao.rb', line 46 def data_validade_cartao @data_validade_cartao end |
#ip ⇒ Object
Número do IP do usuário final/cliente. Alfa Numérico - Até 15 caracteres Formato xxx.xxx.xxx.xxx
62 63 64 |
# File 'lib/superpay_api/transacao.rb', line 62 def ip @ip end |
#itens_do_pedido ⇒ Object
Lista com Itens que estão sendo comprados. Informações importantes para análise de fraude e intermediários financeiros SuperpayApi::ItemPedido
90 91 92 |
# File 'lib/superpay_api/transacao.rb', line 90 def itens_do_pedido @itens_do_pedido end |
#nome_titular_cartao_credito ⇒ Object
Nome do titular do cartão de crédito (Exatamente como escrito no cartão) Alfa Numérico - Até 16 caracteres
34 35 36 |
# File 'lib/superpay_api/transacao.rb', line 34 def nome_titular_cartao_credito @nome_titular_cartao_credito end |
#numero_cartao_credito ⇒ Object
Numero do cartão de crédito, sem espaços ou traços Numérico - Até 22 caracteres
38 39 40 |
# File 'lib/superpay_api/transacao.rb', line 38 def numero_cartao_credito @numero_cartao_credito end |
#numero_transacao ⇒ Object
Código que identifica a transação dentro do SuperPay Numérico - Até 8 dígitos
7 8 9 |
# File 'lib/superpay_api/transacao.rb', line 7 def numero_transacao @numero_transacao end |
#parcelas ⇒ Object
Quantidade de parcelas da transação. Verificar se forma de pagamento suporta parcelamento Numérico - Até 2 dígitos
30 31 32 |
# File 'lib/superpay_api/transacao.rb', line 30 def parcelas @parcelas end |
#taxa_embarque ⇒ Object
Valor da taxa de embarque Sempre enviar o valor sem vírgula ou ponto, os dois últimos dígitos são sempre considerados como centavos. Numérico - Até 10 dígitos
26 27 28 |
# File 'lib/superpay_api/transacao.rb', line 26 def @taxa_embarque end |
#url_redirecionamento_nao_pago ⇒ Object
Para o modelo de pagamento redirect, O SuperPay redirecionará para essa URL em caso de transação *reprovada Alfa Numérico - Até 250 caracteres
58 59 60 |
# File 'lib/superpay_api/transacao.rb', line 58 def url_redirecionamento_nao_pago @url_redirecionamento_nao_pago end |
#url_redirecionamento_pago ⇒ Object
Para o modelo de pagamento redirect, O SuperPay redirecionará para essa URL em caso de transação *aprovada Alfa Numérico - Até 250 caracteres
54 55 56 |
# File 'lib/superpay_api/transacao.rb', line 54 def url_redirecionamento_pago @url_redirecionamento_pago end |
#valor ⇒ Object
Valor da transação Sempre enviar o valor sem vírgula ou ponto, os dois últimos dígitos são sempre considerados como centavos. Numérico - Até 10 dígitos
16 17 18 |
# File 'lib/superpay_api/transacao.rb', line 16 def valor @valor end |
#valor_desconto ⇒ Object
Valor do desconto da transação Sempre enviar o valor sem vírgula ou ponto, os dois últimos dígitos são sempre considerados como centavos. Numérico - Até 10 dígitos
21 22 23 |
# File 'lib/superpay_api/transacao.rb', line 21 def valor_desconto @valor_desconto end |
#vencimento_boleto ⇒ Object
Data de validade do boleto. Alfa Numérico - Até 10 caracteres - Formato dd/mm/yyyy
50 51 52 |
# File 'lib/superpay_api/transacao.rb', line 50 def vencimento_boleto @vencimento_boleto end |
Class Method Details
.cancelar_transacao(numero_transacao) ⇒ Object
Função para Cancelar transação numero_transacao => :integer
170 171 172 |
# File 'lib/superpay_api/transacao.rb', line 170 def self.cancelar_transacao numero_transacao self.new.cancelar_transacao numero_transacao end |
.capturar_transacao(numero_transacao) ⇒ Object
Função para Capturar transação numero_transacao => :integer
182 183 184 |
# File 'lib/superpay_api/transacao.rb', line 182 def self.capturar_transacao numero_transacao self.new.capturar_transacao numero_transacao end |
.consulta_transacao(numero_transacao) ⇒ Object
Função para consultar transações numero_transacao => :integer
153 154 155 |
# File 'lib/superpay_api/transacao.rb', line 153 def self.consulta_transacao numero_transacao self.new.consulta_transacao numero_transacao end |
.estorno_de_transacao(numero_transacao, valor_estorno) ⇒ Object
Função para Estorno de transação numero_transacao => :integer valor_estorno => :integer Sempre enviar o valor sem vírgula ou ponto, os dois últimos dígitos são sempre considerados como centavos
198 199 200 |
# File 'lib/superpay_api/transacao.rb', line 198 def self.estorno_de_transacao numero_transacao, valor_estorno self.new.estorno_de_transacao numero_transacao, valor_estorno end |
.localizar_pela_campainha(notificacao = {}) ⇒ Object
Função para Localizar transação pela campainha notificacao => Hash
210 211 212 |
# File 'lib/superpay_api/transacao.rb', line 210 def self.localizar_pela_campainha notificacao = {} self.new.localizar_pela_campainha notificacao end |
Instance Method Details
#cancelar_transacao(numero_transacao) ⇒ Object
Função para Cancelar transação numero_transacao => :integer
164 165 166 |
# File 'lib/superpay_api/transacao.rb', line 164 def cancelar_transacao numero_transacao web_service.cancelar_transacao numero_transacao end |
#capturar_transacao(numero_transacao) ⇒ Object
Função para Capturar transação numero_transacao => :integer
176 177 178 |
# File 'lib/superpay_api/transacao.rb', line 176 def capturar_transacao numero_transacao web_service.capturar_transacao numero_transacao end |
#consulta_transacao(numero_transacao) ⇒ Object
Função para consultar transações numero_transacao => :integer
147 148 149 |
# File 'lib/superpay_api/transacao.rb', line 147 def consulta_transacao numero_transacao web_service.consulta_transacao_completa numero_transacao end |
#enviar_pagamento ⇒ Object
Função para realizar o pagamento de transações
158 159 160 |
# File 'lib/superpay_api/transacao.rb', line 158 def enviar_pagamento web_service.pagamento_transacao_completa self end |
#estorno_de_transacao(numero_transacao, valor_estorno) ⇒ Object
Função para Estorno de transação numero_transacao => :integer valor_estorno => :integer Sempre enviar o valor sem vírgula ou ponto, os dois últimos dígitos são sempre considerados como centavos
190 191 192 |
# File 'lib/superpay_api/transacao.rb', line 190 def estorno_de_transacao numero_transacao, valor_estorno web_service.estorno_de_transacao numero_transacao, valor_estorno end |
#localizar_pela_campainha(notificacao = {}) ⇒ Object
Função para Localizar transação pela campainha notificacao => Hash
204 205 206 |
# File 'lib/superpay_api/transacao.rb', line 204 def localizar_pela_campainha notificacao = {} consulta_transacao notificacao[:numero_transacao] end |
#to_request ⇒ Object
Montar o Hash da transação no padrão utilizado pelo SuperPay
215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 |
# File 'lib/superpay_api/transacao.rb', line 215 def to_request transacao = { numero_transacao: self.numero_transacao, "IP" => self.ip, codigo_forma_pagamento: self.codigo_forma_pagamento, valor: self.valor, valor_desconto: self.valor_desconto, taxa_embarque: self., parcelas: self.parcelas, nome_titular_cartao_credito: self.nome_titular_cartao_credito, numero_cartao_credito: self.numero_cartao_credito, codigo_seguranca: self.codigo_seguranca, data_validade_cartao: self.data_validade_cartao, vencimento_boleto: self.vencimento_boleto, url_redirecionamento_pago: self.url_redirecionamento_pago, url_redirecionamento_nao_pago: self.url_redirecionamento_nao_pago, campo_livre1: self.campo_livre1, campo_livre2: self.campo_livre2, campo_livre3: self.campo_livre3, campo_livre4: self.campo_livre4, campo_livre5: self.campo_livre5, } # Adicionar os parâmetros de configurações transacao.merge! SuperpayApi.configuracoes_to_request # Adicionar dados do usuário transacao[:dados_usuario_transacao] = self.dados_usuario_transacao.to_request unless self.dados_usuario_transacao.blank? # Adicionar itens do pedido transacao[:itens_do_pedido] = self.itens_do_pedido.collect{ |i| i.to_request } unless self.itens_do_pedido.blank? return transacao end |