public void OnSuccess(int paymentId, int contentItemId) { var payment = _paymentService.GetPayment(paymentId); if (payment != null) { var order = _contentManager.Get <OrderPart>(payment.ContentItemId, VersionOptions.Latest); // _orderService.Get(payment.ContentItemId); // aggiorna l'odine in base al pagamento effettuato //order.Status = OrderPart.Pending; order.Status = Constants.PaymentSucceeded; order.AmountPaid = payment.Amount; order.CurrencyCode = payment.Currency; // update charge order.UpdateCharge( new PaymentGatewayCharge("Payment Gateway", payment.Guid)); order.LogActivity(OrderPart.Event, string.Format("Payed on POS {0}.", payment.PosName), "System"); // svuota il carrello var cartContext = new CartFinalizedContext() { Order = order }; foreach (var handler in _cartLifeCycleEventHandlers) { handler.Finalized(cartContext); } _shoppingCart.ClearAll(); // raise order and payment events _contentManager.Publish(order.ContentItem); TriggerEvents(order); } }