Пример #1
0
        public async Task <Payment> CaptureAsync(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);
        }
Пример #2
0
        private async Task <Payment> SaveAsync(Yandex.Checkout.V3.Payment payment, User user, Currency currency,
                                               PaymentTypes type)
        {
            var dbPayment = new Payment
            {
                Key          = payment.Id,
                Value        = payment.Amount.Value,
                Status       = payment.Status,
                UserId       = user.Id,
                CurrencyId   = currency.Id,
                Type         = type,
                ProviderType = PaymentProviderTypes.Kassa
            };

            await _db.Payments.AddAsync(dbPayment);

            await _db.SaveChangesAsync();

            return(dbPayment);
        }