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
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
Montar o Hash da transação no padrão utilizado pelo SuperPay