class SuperpayApi::Transacao

Attributes

campo_livre1[RW]

Campo Livre 1 Alfa Numérico - Até 16 caracteres

campo_livre2[RW]

Campo Livre 2 Alfa Numérico - Até 16 caracteres

campo_livre3[RW]

Campo Livre 3 Alfa Numérico - Até 16 caracteres

campo_livre4[RW]

Campo Livre 4 Alfa Numérico - Até 16 caracteres

campo_livre5[RW]

Campo Livre 5 Alfa Numérico - Até 16 caracteres

codigo_forma_pagamento[RW]

Código da forma de pagamento. Ver tabela “Forma de Pagamento” Simbolo - Valores pré-definidos - Verifique classe SuperpayApi::FormaDePagamento

codigo_seguranca[RW]

Código de segurança do cartão (campo não é armazenado pelo SuperPay) Numérico - Até 4 caracteres

dados_usuario_transacao[RW]

Informações para cobrança e entrega. Informações importantes para análise de fraude SuperpayApi::DadosUsuario

data_validade_cartao[RW]

Data de validade do cartão. Alfa Numérico - Até 7 caracteres - Formato mm/yyyy

ip[RW]

Número do IP do usuário final/cliente. Alfa Numérico - Até 15 caracteres Formato xxx.xxx.xxx.xxx

itens_do_pedido[RW]

Lista com Itens que estão sendo comprados. Informações importantes para análise de fraude e intermediários financeiros SuperpayApi::ItemPedido

nome_titular_cartao_credito[RW]

Nome do titular do cartão de crédito (Exatamente como escrito no cartão) Alfa Numérico - Até 16 caracteres

numero_cartao_credito[RW]

Numero do cartão de crédito, sem espaços ou traços Numérico - Até 22 caracteres

numero_transacao[RW]

Código que identifica a transação dentro do SuperPay Numérico - Até 8 dígitos

parcelas[RW]

Quantidade de parcelas da transação. Verificar se forma de pagamento suporta parcelamento Numérico - Até 2 dígitos

taxa_embarque[RW]

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

url_redirecionamento_nao_pago[RW]

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[RW]

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[RW]

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

valor_desconto[RW]

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

vencimento_boleto[RW]

Data de validade do boleto. Alfa Numérico - Até 10 caracteres - Formato dd/mm/yyyy

Public Class Methods

cancelar_transacao(numero_transacao) click to toggle source

Função para Cancelar transação numero_transacao => :integer

# File lib/superpay_api/transacao.rb, line 169
def self.cancelar_transacao numero_transacao
  self.new.cancelar_transacao numero_transacao
end
capturar_transacao(numero_transacao) click to toggle source

Função para Capturar transação numero_transacao => :integer

# File lib/superpay_api/transacao.rb, line 181
def self.capturar_transacao numero_transacao
  self.new.capturar_transacao numero_transacao
end
consulta_transacao(numero_transacao) click to toggle source

Função para consultar transações numero_transacao => :integer

# File lib/superpay_api/transacao.rb, line 152
def self.consulta_transacao numero_transacao
  self.new.consulta_transacao numero_transacao
end
estorno_de_transacao(numero_transacao, valor_estorno) click to toggle source

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

# File lib/superpay_api/transacao.rb, line 197
def self.estorno_de_transacao numero_transacao, valor_estorno
  self.new.estorno_de_transacao numero_transacao, valor_estorno
end
localizar_pela_campainha(notificacao = {}) click to toggle source

Função para Localizar transação pela campainha notificacao => Hash

# File lib/superpay_api/transacao.rb, line 209
def self.localizar_pela_campainha notificacao = {}
  self.new.localizar_pela_campainha notificacao
end
new(campos = {}) click to toggle source

Nova instancia da classe Transacao @param [Hash] campos

# File lib/superpay_api/transacao.rb, line 136
def initialize(campos = {})
  campos.each do |campo, valor|
    if SuperpayApi::Transacao.public_instance_methods.include? "#{campo}=".to_sym
      send "#{campo}=", valor
    end
  end
end

Public Instance Methods

cancelar_transacao(numero_transacao) click to toggle source

Função para Cancelar transação numero_transacao => :integer

# File lib/superpay_api/transacao.rb, line 163
def cancelar_transacao numero_transacao
  web_service.cancelar_transacao numero_transacao
end
capturar_transacao(numero_transacao) click to toggle source

Função para Capturar transação numero_transacao => :integer

# File lib/superpay_api/transacao.rb, line 175
def capturar_transacao numero_transacao
  web_service.capturar_transacao numero_transacao
end
consulta_transacao(numero_transacao) click to toggle source

Função para consultar transações numero_transacao => :integer

# File lib/superpay_api/transacao.rb, line 146
def consulta_transacao numero_transacao
  web_service.consulta_transacao_completa numero_transacao
end
enviar_pagamento() click to toggle source

Função para realizar o pagamento de transações

# File lib/superpay_api/transacao.rb, line 157
def enviar_pagamento
  web_service.pagamento_transacao_completa self
end
estorno_de_transacao(numero_transacao, valor_estorno) click to toggle source

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

# File lib/superpay_api/transacao.rb, line 189
def estorno_de_transacao numero_transacao, valor_estorno
  web_service.estorno_de_transacao numero_transacao, valor_estorno
end
localizar_pela_campainha(notificacao = {}) click to toggle source

Função para Localizar transação pela campainha notificacao => Hash

# File lib/superpay_api/transacao.rb, line 203
def localizar_pela_campainha notificacao = {}
  consulta_transacao notificacao[:numero_transacao]
end
to_request() click to toggle source

Montar o Hash da transação no padrão utilizado pelo SuperPay

# File lib/superpay_api/transacao.rb, line 214
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.taxa_embarque,
    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

Private Instance Methods

web_service() click to toggle source

Acesso ao web_service

# File lib/superpay_api/transacao.rb, line 252
def web_service
  @web_service ||= SuperpayApi::WebService.new
end