public static Respostas.RespostaTransacao Capturar(string transacaoId, decimal? value) { if (!value.HasValue) { var status = ObterSituacao(transacaoId); if (status == null) throw new Exception("Transação não encontrada"); var autorizantionValue = status != null ? status.Autorizacao.Valor : 0; var capturedValues = status.Captura != null ? status.Captura.Valor : 0; value = autorizantionValue - capturedValues; if (value.Value <= 0) throw new Exception("Valor não disponível para esta transação"); } var taken = new RequisicaoCaptura(transacaoId, ObterECData()); var resposta = Utils.Requisitar<Respostas.RespostaTransacao, Requisicoes.RequisicaoCaptura>(taken); Config.CallLogAction(resposta.TransacaoId, resposta.XMLRequisicao, resposta.XMLResposta); return resposta; }
public static Respostas.RespostaTransacao Capturar(string transacaoId, decimal?value) { if (!value.HasValue) { var status = ObterSituacao(transacaoId); if (status == null) { throw new Exception("Transação não encontrada"); } var autorizantionValue = status != null ? status.Autorizacao.Valor : 0; var capturedValues = status.Captura != null ? status.Captura.Valor : 0; value = autorizantionValue - capturedValues; if (value.Value <= 0) { throw new Exception("Valor não disponível para esta transação"); } } var taken = new RequisicaoCaptura(transacaoId, ObterECData()); var resposta = Utils.Requisitar <Respostas.RespostaTransacao, Requisicoes.RequisicaoCaptura>(taken); Config.CallLogAction(resposta.TransacaoId, resposta.XMLRequisicao, resposta.XMLResposta); return(resposta); }
public Retorno CapturarTransacao(string tid, decimal valor, string anexo) { var ret = new Retorno(); var dadosEc = new DadosEcAutenticacao { numero = Numero, chave = Chave }; var msg = new RequisicaoCaptura { id = DateTime.Now.ToString("yyyyMMdd"), versao = MensagemVersao.v110, tid = tid, dadosec = dadosEc }; if (valor > -1) { msg.valor = valor.ToFormatoCielo(); } if (!string.IsNullOrWhiteSpace(anexo)) { msg.anexo = anexo; } try { var xml = msg.ToXml <RequisicaoCaptura>(Encoding.GetEncoding("iso-8859-1")); var res = EnviarMensagem(xml); ret = XmlToRetorno(res); } catch (Exception ex) { throw ex; } return(ret); }