Esempio n. 1
0
        public async Task <Entities.Payment> CapturePayment(Yandex.Checkout.V3.Payment payment)
        {
            var dbPayment = await _db.Payments.FirstOrDefaultAsync(x => x.Key == payment.Id);

            if (dbPayment == null)
            {
                return(null);
            }

            payment = await _client.CapturePaymentAsync(payment);

            dbPayment.Status = PaymentStatus.Succeeded;
            await _db.SaveChangesAsync();

            dbPayment.Metadata = payment.Metadata;
            return(dbPayment);
        }
Esempio n. 2
0
        private async Task <Entities.Payment> SavePaymentToDb(Yandex.Checkout.V3.Payment payment, User user, Currency currency, Entities.Payment.Types type)
        {
            var dbPayment = new Entities.Payment
            {
                Key        = payment.Id,
                Value      = payment.Amount.Value,
                Status     = payment.Status,
                UserId     = user.Id,
                CurrencyId = currency.Id,
                Type       = type
            };

            await _db.Payments.AddAsync(dbPayment);

            await _db.SaveChangesAsync();

            return(dbPayment);
        }