Точка останова не попадает в индексный метод, отправляющий веб-крюк из Stripe с помощью ngrok в Asp.Net MVC

Я использую ASP.Net MVC на виртуальной машине, Stripe для обработки кредитных карт и установил ngrok.com для создания URL-адреса, чтобы я мог отправлять веб-хуки из Stripe на мой локальный хост.

Я установил ngrok.exe и запускаю его, и мне был предоставлен URL для использования

введите описание изображения здесь

Я добавил новый контроллер под названием StripeWebHook и добавил новый метод Index для получения веб-хуков от Stripe.

namespace YogaBandy2017.Controllers
{
[Route("api/[controller]")]
public class StripeWebHookController : Controller
{
    [HttpPost]
    [AllowAnonymous]
    public void Index()
    {
        StripeConfiguration.SetApiKey("sk_test_WYKc0e2jXBCU...");

        var json = new StreamReader(HttpContext.Request.InputStream).ReadToEnd();
        //var stripeEvent = StripeEventUtility.ParseEvent(json);

        string secret = "whsec_blSjcGhK1UHRbyGwXa...";

        var stripeEvent = StripeEventUtility.ConstructEvent(json,
            Request.Headers["Stripe-Signature"], secret);

        // Do something with stripeEvent
    }
  }
}

Затем на странице настройки веб-крюка в учетной записи Stripe я добавил URL-адрес для нового веб-крючка в учетных записях подключения.

введите описание изображения здесь

Затем я попытался отправить тестовый веб-крючок на URL-адрес из Stripe, и я вижу сообщение, поступающее в командную строку ngrok (показано на рисунке выше), и я также вижу его в localhost:4040, который является тестовой страницей для ngrok, показанной здесь, НО я не могу войти в метод "Индекс" и нажать любые точки останова, и на странице Stripe отображается ошибка, показанная ниже

введите описание изображения здесь

Вот что показывает страница Stripe после отправки тестового веб-крючка. Это показывает отсутствие ответа и истекло время ожидания.

введите описание изображения здесь

Обновление - я получил письмо от ngrok "Проблема в том, что HTTPS. Ngrok прерывает HTTPS-трафик и затем перенаправляет незашифрованный http-трафик в ваше локальное приложение. Вы хотите сделать одну из двух вещей:

1) заставить ваше приложение также предоставлять порт HTTP и перенаправлять трафик на него; 2) использовать туннели TLS ngrok (который передает вам трафик TLS для завершения). с этой опцией у вас есть все сложности, связанные с управлением сертификатами, несоответствиями сертификатов и т. д., просто к сведению. я бы порекомендовал #1, если это возможно "

Вопрос - кто-нибудь знает, как открыть http-порт в приложении ASP.Net MVC с помощью https?

0 ответов

Другие вопросы по тегам