public async Task <IActionResult> OnPostAsync()
        {
            using (var stream = new StreamReader(Request.Body))
            {
                var     body    = stream.ReadToEnd();
                Message message = Client.ParseMessage(Request.Method, Request.ContentType, body);


                var client = new Yandex.Checkout.V3.Client(shopId: Strings.YandexShopId, secretKey: Strings.YandexAPIKey);

                if (message.Event == Event.RefundSucceeded)
                {
                    return(JsonHelper.JsonResponse(Strings.StatusOK, Constants.HttpOkCode));
                }

                if (message.Event == Event.PaymentSucceeded && message.Object.Amount.Value == 1.00m)
                {
                    try
                    {
                        var refund = client.CreateRefund(new NewRefund {
                            PaymentId = message.Object.Id, Amount = message.Object.Amount
                        });
                    }
                    catch { }

                    var costumer = await CostumerModel.GetCostumerByOrderId(_appRepository, message.Object.Id);

                    if (costumer == null)
                    {
                        return(JsonHelper.JsonResponse(Strings.StatusError, Constants.HttpClientErrorCode, "Wrong OrderId"));
                    }

                    await costumer.SetCardStatus(_appRepository, CardsStatus.Ok);

                    await costumer.AddBinding(_appRepository, new CardBindingModel
                    {
                        BindingId         = message.Object.Id,
                        FirstDigits       = message.Object.PaymentMethod.Card.First6,
                        LastDigits        = message.Object.PaymentMethod.Card.Last4,
                        PaymentSystemName = message.Object.PaymentMethod.Card.CardType
                    });
                }

                return(JsonHelper.JsonResponse(Strings.StatusOK, Constants.HttpOkCode));
            }
        }