Привет! Я реализую оформление заказа в приложении Rails 5 с помощью Stripe.Процесс оформления заказа позволит пользователю оформить заказ через Apple Pay или Google Pay.Я использовал пример кода JS из документов Stripe для реализации запроса на оплату.Я также добавляю X-CSRF-Token к заголовкам в запросе xhr post на сервер:
...
fetch('/checkout', {
method: 'POST',
body: JSON.stringify({token: ev.token.id}),
headers: {
'content-type': 'application/json',
'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content')
}
})
...
В ответе от сервера я получаю:
ActionController::InvalidAuthenticityToken in CheckoutController#create
Я использую Devise для защиты проверки и я прочитал, что вы можете отключить проверки подлинности, добавив в контроллер следующее:
protect_from_forgery prepend: true
Однако это приводит к перенаправлению 302 в / users / sign_in