/// <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)); }
/// <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)); }
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); }