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); }
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); }