public Models.QueryResponseModel Consulta(string hash) { var url = $"/ws/query?integration_key={API_EBANX_INTEGRATION_KEY}&hash={hash}"; var json = ""; var response = ApiEbanxBase.RequestApi(HttpVerbs.Post, url, json); return(Newtonsoft.Json.JsonConvert.DeserializeObject <Models.QueryResponseModel>(response)); }
public Models.DirectResponseModel CompraDireta(Entidade.Pedido pedido, bool auto_capture = true) { var usuario = pedido.Usuario.Pessoa; var cartao = new Models.CreditCardModel { card_number = pedido.Cartao.NumeroSemMascara, card_name = pedido.Cartao.NomeImpresso ?? usuario.Nome.ToUpper(), card_due_date = pedido.Cartao.DataValidade?.ToString("MM/yyyy"), card_cvv = pedido.Cartao.CvvSemMascara }; if (!string.IsNullOrEmpty(pedido.Cartao.Token)) { cartao = new Models.CreditCardModel { token = pedido.Cartao.Token } } ; cartao.auto_capture = auto_capture; var endereco = usuario.EnderecoResidencial; var request = new Models.DirectRequestModel { integration_key = API_EBANX_INTEGRATION_KEY, operation = "request", mode = "full", payment = new Models.PaymentModel { name = usuario.Nome, email = usuario.Email, document = usuario.Cpf ?? pedido.Usuario.Pessoa.Cnpj, address = endereco?.Logradouro, street_number = endereco?.Numero, city = endereco?.Cidade?.Descricao, state = endereco?.Cidade?.Estado?.Sigla, zipcode = endereco?.Cep.ExtractNumbers().PadLeft(8, '0'), country = "br", phone_number = usuario.Celular, payment_type_code = "discover", merchant_payment_code = pedido.Loja.Cnpj.ExtractNumbers().PadLeft(14, '0') + "_" + pedido.Id, currency_code = "BRL", instalments = 1, amount_total = pedido.Valor, creditcard = cartao } }; var url = $"/ws/direct"; var json = Newtonsoft.Json.JsonConvert.SerializeObject(request); var response = ApiEbanxBase.RequestApi(HttpVerbs.Post, url, json); return(Newtonsoft.Json.JsonConvert.DeserializeObject <Models.DirectResponseModel>(response)); }
public Models.CancelResponseModel Cancelar(Entidade.Pedido pedido) { var hash = pedido.ListaHistorico.FirstOrDefault(h => h.StatusPedido == Entidade.Uteis.StatusPedido.AguardandoPagamento)?.CodigoRetornoTransacao; var request = new Models.CancelRequestModel { integration_key = API_EBANX_INTEGRATION_KEY, hash = hash }; var url = $"/ws/cancel"; var json = Newtonsoft.Json.JsonConvert.SerializeObject(request); var response = ApiEbanxBase.RequestApi(HttpVerbs.Post, url, json); return(Newtonsoft.Json.JsonConvert.DeserializeObject <Models.CancelResponseModel>(response)); }
public Models.RefundOrCancelResponseModel CancelarOuEstornar(Entidade.Pedido pedido, string motivo) { var hash = pedido.ListaHistorico.FirstOrDefault(h => h.StatusPedido == Entidade.Uteis.StatusPedido.AguardandoPagamento)?.CodigoRetornoTransacao; var cnpj = pedido.Loja.Cnpj.ExtractNumbers().PadLeft(14, '0'); var request = new Models.RefundOrCancelRequestModel { integration_key = API_EBANX_INTEGRATION_KEY, hash = hash, description = motivo, merchant_refund_code = $"{cnpj}_{pedido.Id}_refund" }; var url = $"/ws/refundOrCancel"; var json = Newtonsoft.Json.JsonConvert.SerializeObject(request); var response = ApiEbanxBase.RequestApi(HttpVerbs.Post, url, json); return(Newtonsoft.Json.JsonConvert.DeserializeObject <Models.RefundOrCancelResponseModel>(response)); }
public Models.TokenResponseModel TokenCartao(Entidade.Cartao cartao) { var request = new Models.TokenRequestModel { integration_key = API_EBANX_INTEGRATION_KEY, public_integration_key = API_EBANX_PUBLIC_KEY, payment_type_code = "discover", country = "br", creditcard = new Models.CreditCardModel { card_number = cartao.NumeroSemMascara, card_name = cartao.NomeImpresso, card_due_date = cartao.DataValidade?.ToString("MM/yyyy"), card_cvv = cartao.CvvSemMascara } }; var url = $"/ws/token"; var json = Newtonsoft.Json.JsonConvert.SerializeObject(request); var response = ApiEbanxBase.RequestApi(HttpVerbs.Post, url, json); return(Newtonsoft.Json.JsonConvert.DeserializeObject <Models.TokenResponseModel>(response)); }