public async Task <IShopOrder> HandleCallbackAsync(HttpContextBase context) { var order = await ResolveOrderAsync(context); if (order == null) { return(null); } if (order.PaymentStatus == (int)PaymentStatus.Authorized) { order.WriteLog("debug", "Payment is already authorized"); return(order); } var handled = OrderProcessor.HandleCallback(context, order); if (!handled) { HandleCallbackInternal(context, order); } return(order); }