Я хочу, чтобы нашивка добавила уникальные данные о пользователе. Как написано в документация, нормальная ссылка URL выглядит так:
<a href="http://example.dev/stripe?scope=read_write&code={AUTHORIZATION_CODE}">Connect Stripe</a>
И возвращаемые данные будут примерно такими:
array:2 [
"scope" => "read_write""code" => "{TOKEN_CODE}"]
В моем случае, поскольку каждый пользователь имеет свой домен, но перенаправляет обратно на тот же URL, мне нужно знать, кто есть кто. Так что я могу добавить данные в ссылку перенаправления:
<a href="http://example.dev/stripe?scope=read_write&code={AUTHORIZATION_CODE}&data={UNIQUE_DATA}">Connect Stripe</a>
чтобы получить это с сервера Stripe?
array:3 [
"scope" => "read_write""code" => "{TOKEN_CODE}""data" => "{UNIQUE_DATA}"]
Здесь я обычно советую использовать куки или сеанс, чтобы «запомнить» вашего пользователя. Поскольку они сначала заходят на ваш сайт, а затем перенаправляются в Stripe, вы сможете сохранить некоторую информацию в cookie-файле, чтобы, когда Stripe перенаправлял их обратно на ваш сервер, вы знали, кто они и откуда пришли для завершения перенаправления.
В противном случае, если это не сработает, вы можете использовать state
параметр, когда вы перенаправляете пользователя в Stripe, и это значение будет сохраняться и отправляться обратно в URL, как только пользователь будет перенаправлен на ваш сервер. Это задокументировано Вот где документы говорят:
Чтобы предотвратить CSRF-атаки, добавьте параметр состояния, передав в качестве значения уникальный токен. Мы включим состояние, которое вы нам сообщили, когда мы перенаправим пользователя обратно на ваш сайт.
Других решений пока нет …