public AssinaturaVINDIRequest Salvar(Cliente cliente, Assinatura assinatura, CartaoCredito cartao) { var clienteVINDI = ObterCliente(cliente.Email); var customer = new ClienteVINDI(); if (clienteVINDI == null) { customer = SalvarCliente(cliente, assinatura, cartao); } else { customer = clienteVINDI; } if (customer == null) { return(null); } if (assinatura.TipoPagamento == "credit_card") { var profile = SalvarProfile(cartao, customer.id); var assinaturaRetorno = SalvarAssinatura(assinatura, customer.id, profile.id); EnviarDadosCliente(cliente, assinatura); return(assinaturaRetorno); } else { var assinaturaRetorno = SalvarAssinaturaBoleto(assinatura, customer.id); EnviarDadosCliente(cliente, assinatura); return(assinaturaRetorno); } }
public ClienteVINDI SalvarCliente(Cliente cliente, Assinatura assinatura, CartaoCredito cartao) { var phones = new List <Phone>(); phones.Add(new Phone { phone_type = "mobile", number = "55" + cliente.Telefone, extension = "" }); var customer = new ClienteVINDI() { name = cliente.Nome, email = cliente.Email, registry_code = cliente.CPF, address = new Address { street = cliente.Logradouro, number = cliente.Numero, additional_details = cliente.Complemento, zipcode = cliente.CEP, state = cliente.Estado, city = cliente.Cidade, country = "BR", neighborhood = cliente.Bairro }, phones = phones }; var url = $"https://app.vindi.com.br:443/api/v1/customers"; var json = JsonConvert.SerializeObject(customer); var result = servicoApi.PostDataAuth <ClienteVINDIResponse>(url, json); if (result.Errors.Any()) { var errors = ""; foreach (var item in result.Errors) { errors = errors + item.id + " - " + item.message + " - " + item.parameter; AdicionarNotificacao(errors); } return(null); } clienteRepositorio.SalvarCliente(cliente, assinatura, cartao); return(result.Customer); }
public ClienteVINDI SalvarEmpresa(EmpresaSQL empresa, Assinatura assinatura, CartaoCredito cartao, List <Socio> socios, Competencia competencia) { var phones = new List <Phone>(); phones.Add(new Phone { phone_type = "landline", number = "55" + empresa.Telefone }); phones.Add(new Phone { phone_type = "mobile", number = "55" + empresa.Telefone2, }); var customer = new ClienteVINDI() { name = empresa.RazaoSocial, email = empresa.Email, registry_code = empresa.CNPJ, phones = phones }; var url = $"https://app.vindi.com.br:443/api/v1/customers"; var json = JsonConvert.SerializeObject(customer); var result = servicoApi.PostDataAuth <ClienteVINDIResponse>(url, json); if (result.Errors.Any()) { var errors = ""; foreach (var item in result.Errors) { errors = errors + item.id + " - " + item.message + " - " + item.parameter; AdicionarNotificacao(errors); } return(null); } clienteRepositorio.SalvarEmpresa(empresa, assinatura, cartao, socios, competencia); return(result.Customer); }