public async Task <Transacao> AutorizarPagamento(Models.Pagamento pagamento) { var nerdsPagSvc = new NerdsPagService(_pagamentoConfig.DefaultApiKey, _pagamentoConfig.DefaultEncryptionKey); var cardHashGen = new CardHash(nerdsPagSvc) { CardNumber = pagamento.CartaoCredito.NumeroCartao, CardHolderName = pagamento.CartaoCredito.NomeCartao, CardExpirationDate = pagamento.CartaoCredito.MesAnoVencimento, CardCvv = pagamento.CartaoCredito.CVV }; var cardHash = cardHashGen.Generate(); var transacao = new Transaction(nerdsPagSvc) { CardHash = cardHash, CardNumber = pagamento.CartaoCredito.NumeroCartao, CardHolderName = pagamento.CartaoCredito.NomeCartao, CardExpirationDate = pagamento.CartaoCredito.MesAnoVencimento, CardCvv = pagamento.CartaoCredito.CVV, PaymentMethod = PaymentMethod.CreditCard, Amount = pagamento.Valor }; return(ParaTransacao(await transacao.AuthorizeCardTransaction())); }
public async Task <Transacao> CancelarPagamento(Transacao transacao) { var nerdsPagSvc = new NerdsPagService(_config.DefaultApiKey, _config.DefaultEncryptionKey); var transaction = ParaTransaction(transacao, nerdsPagSvc); return(ParaTransacao(await transaction.CancelAuthorization())); }
public async Task <Transacao> CapturarPagamento(Transacao transacao) { var nerdsPagSvc = new NerdsPagService(_pagamentoConfig.DefaultApiKey, _pagamentoConfig.DefaultEncryptionKey); var transaction = ParaTransaction(transacao, nerdsPagSvc); return(ParaTransacao(await transaction.CaptureCardTransaction())); }
public static Transaction ParaTransaction(Transacao transacao, NerdsPagService nerdsPagSvc) { return(new Transaction(nerdsPagSvc) { Status = (TransactionStatus)transacao.StatusTransacao, Amount = transacao.ValorTotal, CardBrand = transacao.BandeiraCartao, AuthorizationCode = transacao.CodigoAutorizacao, Cost = transacao.CustoTransacao, Nsu = transacao.NSU, Tid = transacao.TID }); }