public void Handle(PayPalExpressCheckoutPaymentCompleted @event) { using (var context = _contextFactory.Invoke()) { var orderReport = context.Find <OrderReportDetail>(@event.OrderId); orderReport.Payment.TotalAmountCharged = @event.Amount; orderReport.Payment.TipAmount = @event.Tip; orderReport.Payment.MeterAmount = @event.Meter; orderReport.Payment.PayPalPayerId = orderReport.Payment.AuthorizationCode = @event.PayPalPayerId; orderReport.Payment.PayPalToken = @event.Token; orderReport.Payment.TransactionId = @event.TransactionId.ToSafeString().IsNullOrEmpty() ? "" : "Auth: " + @event.TransactionId; orderReport.Payment.IsCompleted = true; context.Save(orderReport); } }
public void Handle(PayPalExpressCheckoutPaymentCompleted @event) { using (var context = _contextFactory.Invoke()) { var detail = context.Set <OrderPaymentDetail>().Find(@event.SourceId); if ((detail == null) || (detail.Type != PaymentType.PayPal)) { throw new InvalidOperationException("Payment not found"); } detail.IsCompleted = true; detail.PayPalPayerId = @event.PayPalPayerId; detail.AuthorizationCode = @event.PayPalPayerId; detail.TransactionId = @event.TransactionId; context.SaveChanges(); } }