Ejemplo n.º 1
0
        /// <summary>
        /// Cria uma conta digital Juno.
        ///
        /// As contas criadas são do tipo Payment Account e os dados retornados na criação das contas devem ser armazenados para fins de manipulação da conta recém-criada.
        ///
        /// Importante: O acesso e manipulação da conta se dá apenas via API. Não possuem login e senha.
        /// </summary>
        /// <param name="digitalAccount"></param>
        /// <returns></returns>
        public Models.Responses.DigitalAccountResponse CreateDigitalAccount(DigitalAccount digitalAccount)
        {
            digitalAccount.TradingName = null;

            var request = new Requests.DigitalAccounts.CreateDigitalAccountRequest(Client.GetRequestContext());

            return(request.Execute(digitalAccount));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Realiza a atualização de dados de uma conta digital do tipo pagamento.
        ///
        /// As seguintes informações serão atualizadas durante a requisição:
        ///
        ///     Email de contato e Telefone
        ///     Informações do Endereço
        ///     Dados bancários
        ///
        /// Alguns dados não serão atualizados durante a requisição, pois dependem de uma análise pelas áreas internas da Juno, sendo eles:
        ///
        ///     Nome, Data de Nascimento e Documento de Identificação (CPF/CNPJ)
        ///     Dados do representante legal
        ///     Razão Social
        ///     Área e Linha de Negócio
        ///     Tipo de Empresa
        ///
        /// Nossa equipe será informada sobre as alterações e irá efetivá-las em breve.
        ///
        /// Os dados informados na requisição são opcionais, e só serão atualizados caso sejam enviados.
        ///
        /// Importante: para atualização de qualquer um dos dados que compõem o objeto dessa request, todos os dados devem ser informados, caso contrário a alteração destes campos será ignorada.
        /// </summary>
        /// <param name="digitalAccount"></param>
        /// <returns></returns>
        public Models.Responses.DigitalAccountResponse UpdateDigitalAccount(DigitalAccount digitalAccount)
        {
            digitalAccount.Type         = null;
            digitalAccount.Document     = null;
            digitalAccount.EmailOptOut  = null;
            digitalAccount.AutoApprove  = null;
            digitalAccount.AutoTransfer = null;

            var request = new Requests.DigitalAccounts.UpdateDigitalAccountRequest(Client.GetRequestContext());;

            return(request.Execute(digitalAccount));
        }
Ejemplo n.º 3
0
        public void DigitalAccount()
        {
            var service = new DigitalAccountsService(_Client);

            //
            // Criar conta digital - Pessoa Física

            var newCPF = Helpers.NewCPF();
            var newPFDigitalAccount = new DigitalAccount
            {
                Name            = $"Harry James Potter - {newCPF}",
                Document        = newCPF,
                Email           = $"hjp{newCPF}@bibipecas.com.br",
                BirthDate       = new DateTime(1980, 07, 31),
                Phone           = $"5585982061631",
                BusinessArea    = 1000, // Produtos - Acessorios automotivos,
                LinesOfBusiness = $"Pessoa Fisica Teste - {newCPF}",
                Address         = new Address
                {
                    Street       = "Rua dos Alfeneiros",
                    Number       = "4",
                    Complement   = "Armário debaixo da escada",
                    Neighborhood = "Surrey",
                    City         = "Caucaia",
                    State        = AddressState.CE,
                    PostCode     = "61611220"
                },
                BankAccount = new BankAccount
                {
                    BankNumber    = "341",
                    AgencyNumber  = "0000",
                    AccountNumber = "11111-0",
                    AccountType   = BankAccountType.CHECKING,
                    AccountHolder = new BankAccountHolder
                    {
                        Name     = "Harry James Potter",
                        Document = newCPF
                    }
                }
            };

            var createdPFDigitalAccount = service.CreateDigitalAccount(newPFDigitalAccount);

            Assert.IsNotNull(createdPFDigitalAccount);

            //
            // Consultar conta digital - Pessoa Física

            var queryPFDigitalAccount = service.GetDigitalAccount(createdPFDigitalAccount.ResourceToken);

            Assert.AreEqual(queryPFDigitalAccount.Id, createdPFDigitalAccount.Id);
            Assert.AreEqual(queryPFDigitalAccount.Document, createdPFDigitalAccount.Document);
            Assert.AreEqual(queryPFDigitalAccount.Type, "PAYMENT");
            Assert.AreEqual(queryPFDigitalAccount.PersonType, Models.PersonType.F);

            //
            // Atualizar conta digital - Pessoa Física

            //var updatedPFDigitalAccount = service.UpdateDigitalAccount(newPFDigitalAccount);

            //Assert.IsNotNull(updatedPFDigitalAccount);

            //
            // Criar conta digital - Pessoa Jurídica

            var newCNPJ             = Helpers.NewCNPJ();
            var rNewCPJ             = Helpers.NewCPF();
            var newPJDigitalAccount = new DigitalAccount
            {
                Name                = $"Hogwarts - {newCNPJ}",
                Document            = newCNPJ,
                Email               = $"hogwarts{newCNPJ}@bibipecas.com.br",
                Phone               = $"5585982061631",
                BusinessArea        = 1000, // Produtos - Acessorios automotivos,
                LinesOfBusiness     = $"Pessoa Juridica Teste - {newCNPJ}",
                CompanyType         = CompanyType.LTDA,
                LegalRepresentative = new LegalRepresentative
                {
                    Name      = $"Hogwarts - {rNewCPJ}",
                    Document  = rNewCPJ,
                    BirthDate = DateTime.UtcNow.AddYears(-1)
                },
                Address = new Address
                {
                    Street       = "Castelo de Hogwarts",
                    Number       = "N/A",
                    Neighborhood = "Escola de Bruxaria",
                    City         = "Caucaia",
                    State        = AddressState.CE,
                    PostCode     = "61611220"
                },
                BankAccount = new BankAccount
                {
                    BankNumber    = "341",
                    AgencyNumber  = "0000",
                    AccountNumber = "22222-0",
                    AccountType   = BankAccountType.CHECKING,
                    AccountHolder = new BankAccountHolder
                    {
                        Name     = "Escola de Magia e Bruxaria de Hogwarts",
                        Document = newCNPJ
                    }
                }
            };

            var createdPJDigitalAccount = service.CreateDigitalAccount(newPJDigitalAccount);

            Assert.IsNotNull(createdPJDigitalAccount);

            //
            // Consultar conta digital - Pessoa Jurídica

            var queryPJDigitalAccount = service.GetDigitalAccount(createdPJDigitalAccount.ResourceToken);

            Assert.AreEqual(queryPJDigitalAccount.Id, createdPJDigitalAccount.Id);
            Assert.AreEqual(queryPJDigitalAccount.Document, createdPJDigitalAccount.Document);
            Assert.AreEqual(queryPJDigitalAccount.Type, "PAYMENT");
            Assert.AreEqual(queryPJDigitalAccount.PersonType, Models.PersonType.J);

            //
            // Atualizar conta digital - Pessoa Jurídica

            //newPJDigitalAccount.TradingName = "Hogwarts";

            //var updatedPJDigitalAccount = service.UpdateDigitalAccount(newPJDigitalAccount);

            //Assert.IsNotNull(updatedPJDigitalAccount);
        }