public Payment GetPayment(string IdUser, string emailUser, string cardToken, string ValorFrete, int tipoFrete, CondicoesParcelamento?condicoesParcelamento, MeioPagamentoEnum meioPagamento, Bank?bank, DadosComprador dadosComprador, CartaoDeCredito cartaoDeCredito, List <ShoppingCarItems> itensCarrinho) { Payment payment = new Payment(); payment.mode = "default"; payment.method = meioPagamento.ToString(); payment.currency = Currency.Brl; //var dadosUser = this._dadosUsuarioBLL.GetDadosUsuarioByIdUser(IdUser); string tipoDoc = string.Empty; if (meioPagamento == MeioPagamentoEnum.eft) { payment.bank = new Bank() { Name = bank.Name }; } if ((int)TipoDocumentoEnum.CNPJ == dadosComprador.TipoDocumento) { tipoDoc = TipoDocumentoEnum.CNPJ.ToString(); } else { tipoDoc = TipoDocumentoEnum.CPF.ToString(); } payment.sender = new Sender() { email = emailUser, name = dadosComprador.Nome, phone = new Phone() { areaCode = dadosComprador.CodigoArea, number = dadosComprador.NumeroTelefone } }; var document = new SenderDocument() { value = dadosComprador.CPFCNPJ, type = tipoDoc }; payment.sender.documents.Add(document); // var itensCarrinho = _Carrinho.GetShoppingCartItens(); Item NovoItem = new Item(); NovoItem.id = "22"; //itemCarrinho.ShoppingCartItemId.ToString(); NovoItem.description = "Celular"; //itemCarrinho.Produto.Nome; NovoItem.amount = 20; //itemCarrinho.Produto.ValorBruto; NovoItem.quantity = 1; //itemCarrinho.Produto.Quantidade; payment.items.Add(NovoItem); //if (itensCarrinho.Count > 0) //{ // foreach (var itemCarrinho in itensCarrinho) // { // //var listprodutos = _Carrinho.GetListProdutoByIdShoppingCartID(); // Item NovoItem = new Item(); // NovoItem.id = "22";//itemCarrinho.ShoppingCartItemId.ToString(); // NovoItem.description = "Celular";//itemCarrinho.Produto.Nome; // NovoItem.amount = 20; //itemCarrinho.Produto.ValorBruto; // NovoItem.quantity = 1; //itemCarrinho.Produto.Quantidade; // payment.items.Add(NovoItem); // } //} if (meioPagamento == MeioPagamentoEnum.creditCard) { // var cartaoCredito = this._cartaoCreditoBLL.GetCartaoCreditoByIdUser(IdUser); payment.creditCard = new CreditCard() { token = cardToken, billingAddress = new Address() { street = dadosComprador.Enderenco, number = dadosComprador.Numero.ToString(), district = dadosComprador.Bairro, city = dadosComprador.Cidade, state = dadosComprador.Estado, country = "BRA", postalCode = dadosComprador.CEP, complement = dadosComprador.Complemento, }, installment = new Installment() { quantity = condicoesParcelamento.quantity, value = condicoesParcelamento.totalAmount.ToString("F").Replace(",", ".") }, holder = new Holder() { name = cartaoDeCredito.NomeCartao, phone = new Phone() { areaCode = dadosComprador.CodigoArea, number = dadosComprador.NumeroTelefone } } }; payment.creditCard.holder.documents.Add(document); } if (payment.shipping.addressRequired) { payment.shipping.street = dadosComprador.Enderenco; payment.shipping.number = dadosComprador.Numero.ToString(); payment.shipping.district = dadosComprador.Bairro; payment.shipping.city = dadosComprador.Cidade; payment.shipping.state = dadosComprador.Estado; payment.shipping.country = "BRA"; payment.shipping.postalCode = dadosComprador.CEP; payment.shipping.complement = dadosComprador.Complemento; } payment.shipping.Cost = ValorFrete; payment.shipping.ShippingType = tipoFrete; payment.reference = Guid.NewGuid().ToString(); //payment.receiverEmail = "*****@*****.**"; //payment.receiverEmail = "https://www.gestaointeligentesoftware.com.br/"; return(payment); }
public RetornoPagamentoDTO PagamentoCartaoCredito(string token, string email, string cardtoken, string IdUser, string emailUser, string ValorFrete, int tipoFrete, CondicoesParcelamento condicoesParcelamento, DadosComprador dadosComprador, CartaoDeCredito cartaoDeCredito, List <ShoppingCarItems> itensCarrinho) { Payment payment = _GerarPayment.GetPayment(IdUser, emailUser, cardtoken, ValorFrete, tipoFrete, condicoesParcelamento, MeioPagamentoEnum.creditCard, null, dadosComprador, cartaoDeCredito, itensCarrinho); var URLBase = GlobalConfiguration.CARTAODECREDITO.Replace("{{email}}", email).Replace("{{token}}", token); var retorno = _postWebApiService.ExecutePOSTWebAPI(URLBase, payment); return(retorno); }