예제 #1
0
        public async Task <Transaction> AuthorizePayment(Payment payment)
        {
            var paymentService = new PaymentService(_config.DefaultApiKey, _config.DefaultEncryptionKey);

            var cardHashGen = new CardHash(paymentService)
            {
                CardNumber         = payment.CreditCard.CardNumber,
                CardHolderName     = payment.CreditCard.CardName,
                CardExpirationDate = payment.CreditCard.Expiration,
                CardCvv            = payment.CreditCard.CVV
            };

            var cardHash = cardHashGen.Generate();

            var transaction = new CrossCutting.Models.Transaction(paymentService)
            {
                CardHash           = cardHash,
                CardNumber         = payment.CreditCard.CardNumber,
                CardHolderName     = payment.CreditCard.CardName,
                CardExpirationDate = payment.CreditCard.Expiration,
                CardCvv            = payment.CreditCard.CVV,
                PaymentMethod      = CrossCutting.Enumerables.PaymentMethod.CreditCard,
                Amount             = payment.Price
            };

            return(MapTransaction(await transaction.AuthorizeCardTransaction()));
        }
예제 #2
0
 public Transaction MapTransaction(CrossCutting.Models.Transaction transaction)
 {
     return(new Transaction
     {
         Id = Guid.NewGuid(),
         Status = (TransactionStatus)transaction.Status,
         Amount = transaction.Amount,
         CardBrand = transaction.CardBrand,
         AuthorizationCode = transaction.AuthorizationCode,
         Cost = transaction.Cost,
         TransactionDate = transaction.TransactionDate,
         Nsu = transaction.Nsu,
         Tid = transaction.Tid
     });
 }