Цель состоит в том, чтобы зарегистрировать неактивного пользователя на моем веб-сайте и перенаправить его на платежную платформу, отправив данные пользователя, введенные в форму с помощью метода POST.
У меня есть форма в POST, которую я используюсоздать неактивного пользователя, если эта форма действительна.Затем я хотел бы перенаправить моего пользователя на внешний URL-адрес при отправке данных из этой формы в POST на этот URL-адрес.Этот URL принимает только определенные имена переменных (эти переменные находятся в ассоциативном массиве моего RedirectResponse) и только в POST.
Пользователь выполнит свой платеж по внешней ссылке, и если платеж будет успешным, я активируюПользователь позже.Я идентифицирую себя с платформой оплаты, отправив ее 'ID', и она авторизовала мое доменное имя.
Я попытался использовать RedirectResponse со статусом 307, но я думаю, что невозможно отправить ему данные POST.
* @Route("/{id<\d+>?1}/{slug}", methods={"GET", "POST"}, name="show")
* @Security("is_granted('IS_AUTHENTICATED_ANONYMOUSLY')")
*/
public function show(Offre $offre, $slug, Request $request): Response
{
if ($offre->getSlug() !== $slug) {
return $this->redirectToRoute('site_devenir_vip_show', [
'id' => $offre->getId(),
'slug' => $offre->getSlug(),
], Response::HTTP_MOVED_PERMANENTLY);
}
$utilisateur = new User();
$form = $this->createForm(UserType::class, $utilisateur);
$form->handleRequest($request);
if ($form->isSubmitted() === true) {
if ($form->isValid() === true) {
// TODO: create the inactive User here
// TODO: redirect the user on the payment platform
return new RedirectResponse('https://mywebsite.com', 307, [
'NOM' => $utilisateur->getNom(),
'PRENOM' => $utilisateur->getPrenom(),
'TEL' => $utilisateur->getTel(),
'EMAIL' => $utilisateur->getEmail(),
'PAYS' => $utilisateur->getPays(),
'ID' => 'XXXX',
'ABONNEMENT' => 'XXXX',
]);
}
$this->addFlash('error', 'Le formulaire comporte des erreurs.');
}
return $this->render('site/pages/devenir_vip/show.html.twig', [
'offre' => $offre,
'form' => $form->createView(),
]);
}
В настоящее время я перенаправлен на внешнюю ссылку, которая находится в RedirectResponse, но он не получает параметры.У вас есть идея?