示例#1
0
        public Cobranca FinalizaProcessamentoFormaPagamento()
        {
            Transacao.FinalizaProcessamento();
            if (Transacao.FormaPagamentoCartao)
            {
                RealizarPagamento(Valor);
            }

            AddEvent(new FormaPagamentoProcessadaEvent(this));
            return(this);
        }
示例#2
0
 private Cobranca(string decricao, decimal valor, DateTime vencimento, string configuracaoEmissaoId,
                  Transacao transacao, string nomeCliente, string cpfCnpjCliente, string emailCliente, Telefone telefoneCliente,
                  Endereco enderecoCliente, string tenantIdCliente, CartaoCreditoCobranca cartaoCreditoCobranca = null)
 {
     Descricao             = decricao;
     Valor                 = valor;
     Vencimento            = vencimento;
     ConfiguracaoEmissaoId = configuracaoEmissaoId;
     Transacao             = transacao;
     ClienteCobranca       = new ClienteCobranca(this, nomeCliente, cpfCnpjCliente, emailCliente, tenantIdCliente, telefoneCliente, enderecoCliente, cartaoCreditoCobranca);
     AddEvent(new CobrancaCriadaEvent(Id.ToString()));
 }
示例#3
0
        public Cobranca ReprocessarTransacao()
        {
            if (Status == StatusCobranca.Pago)
            {
                throw new ImpossivelRegerarFormaPagamentoParaCobrancaPagaException();
            }

            if (Transacao.ProcessamentoPendente)
            {
                throw new ImpossivelRegerarFormaQuandoFormaPagamentoPendenteException();
            }

            Transacao = Transacao.Reprocessar();
            AddEvent(new TransacaoCobrancaReprocessandodoEvent(Id.ToString()));
            return(this);
        }
示例#4
0
 public static Cobranca Boleto(
     string decricao, decimal valor, DateTime vencimento, string configuracaoEmissaoId,
     string nomeCliente, string cpfCnpjCliente, string emailCliente, Telefone telefoneCliente,
     Endereco endercoCliente, string tenantIdCliente = null)
 => new Cobranca(decricao, valor, vencimento, configuracaoEmissaoId, Transacao.Boleto(),
                 nomeCliente, cpfCnpjCliente, emailCliente, telefoneCliente, endercoCliente, tenantIdCliente);
示例#5
0
 public Cobranca ErroCriarTransacao()
 {
     Transacao.Erro();
     AddEvent(new FalhaAoProcessarFormaPagamentoEvent(this));
     return(this);
 }