выдает корс при использовании встроенного полосового платежного шлюза в reactjs - PullRequest
0 голосов
/ 07 апреля 2020

Я пытаюсь интегрировать полосовой платежный шлюз в свой реактивный проект, но возникает проблема, связанная с корсом. Может ли кто-нибудь помочь мне решить эту проблему.

"Доступ к выборке в 'https://connect.stripe.com/oauth/token' из источника 'http://localhost: 3000 ' заблокирован Политика CORS: Ответ на предварительный запрос не проходит проверку контроля доступа: в запрашиваемом ресурсе отсутствует заголовок «Access-Control-Allow-Origin». Если непрозрачный ответ удовлетворяет ваши потребности, установите режим запроса «no-cors». 'чтобы получить ресурс с отключенным CORS. "

Но он отлично работает, когда я отключаю cors в браузере chrome. Есть ли альтернатива, как интегрировать полосовой платежный шлюз в reactjs проекте?

Мой код:

      const bodyFormData = new FormData()
      bodyFormData.append("client_secret", "");
      bodyFormData.append("code", code);
      bodyFormData.append("grant_type", "authorization_code");

      fetch("https://connect.stripe.com/oauth/token", {
        method: 'POST',
        body: JSON.stringify(userData),
        headers:{
        Accept:'application/json',
        'Content-Type': 'application/json; charset=utf-8',
        'Access-Control-Allow-Origin':"*",
        OPTIONS: '',
        }
    })
    .then((response) => response.json())
    .then((res) => {
      console.log(res);
        resolve(res);
    })
    .catch((error) => {
       reject(error);
    });   

1 Ответ

0 голосов
/ 07 апреля 2020

Похоже, что вы делаете этот вызов для завершения соединения из внешнего кода React в браузере. Вы не можете сделать это, и он никогда не будет работать, так как он использует ваш секретный ключ Stripe, который никогда не должен быть на внешнем интерфейсе.

Вместо этого вы должны сделать этот вызов с маршрута внутреннего сервера после перенаправления пользователя с страница OAuth.

...