Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
API Symfony 4/Reactjs/Paybox-从背面提交表单,并将其重定向发送到前端进行支付_Reactjs_Symfony_Symfony4_Paybox - Fatal编程技术网

API Symfony 4/Reactjs/Paybox-从背面提交表单,并将其重定向发送到前端进行支付

API Symfony 4/Reactjs/Paybox-从背面提交表单,并将其重定向发送到前端进行支付,reactjs,symfony,symfony4,paybox,Reactjs,Symfony,Symfony4,Paybox,我试图用paybox付款,我想在后台完成这一切(Api Symfony)。 paybox文档为我们提供了一个在这里实现支付的示例 我想点击reactjs中的“Pay”按钮,该按钮调用我的api路由(symfony),在该按钮中,我使用paybox数据呈现我的paybox视图,我想直接提交我的表单以重定向到paybox平台进行支付,但我没有收到重定向响应,而是收到html内容页 我的邮箱控制器: public function paybox(int $agreementId, Request $r

我试图用paybox付款,我想在后台完成这一切(Api Symfony)。 paybox文档为我们提供了一个在这里实现支付的示例

我想点击reactjs中的“Pay”按钮,该按钮调用我的api路由(symfony),在该按钮中,我使用paybox数据呈现我的paybox视图,我想直接提交我的表单以重定向到paybox平台进行支付,但我没有收到重定向响应,而是收到html内容页

我的邮箱控制器:

public function paybox(int $agreementId, Request $request)
    {
        $user = $this->getUser();
        $agreement = $this->agreementService->findUserAgreementByAgreementId($user->getId(), $agreementId);

        $paybox = $this->payboxService->getPayboxData($agreement);

        return $this->render('paybox/paybox.html.twig', [
           'paybox' => $paybox
        ]);
}
My paybox.html.twig:

<html>
    <body onload="document.payboxForm.submit()">
        <form action="{{ paybox_url }}" name="payboxForm">
            <input type="hidden" name="PBX_SITE"        value="{{ paybox.PBX_SITE }}">
            <input type="hidden" name="PBX_RANG"        value="{{ paybox.PBX_RANG }}">
            <input type="hidden" name="PBX_IDENTIFIANT" value="{{ paybox.PBX_IDENTIFIANT }}">
            <input type="hidden" name="PBX_TOTAL"       value="{{ paybox.PBX_TOTAL }}">
            <input type="hidden" name="PBX_DEVISE"      value="{{ paybox.PBX_DEVISE }}">
            <input type="hidden" name="PBX_CMD"         value="{{ paybox.PBX_CMD }}">
            <input type="hidden" name="PBX_PORTEUR"     value="{{ paybox.PBX_PORTEUR }}">
            <input type="hidden" name="PBX_RETOUR"      value="{{ paybox.PBX_RETOUR }}">
            <input type="hidden" name="PBX_HASH"        value="{{ paybox.PBX_HASH }}">
            <input type="hidden" name="PBX_TIME"        value="{{ paybox.PBX_TIME }}">
            <input type="hidden" name="PBX_HMAC"        value="{{ paybox.PBX_HMAC }}">
            <input type="hidden" name="PBX_EFFECTUE"    value="{{ paybox.PBX_EFFECTUE }}">
            <input type="hidden" name="PBX_REFUSE"      value="{{ paybox.PBX_REFUSE }}">
            <input type="hidden" name="PBX_ANNULE"      value="{{ paybox.PBX_ANNULE }}">
            <input type="submit" value="Payer">
        </form>
    </body>
</html>


我想在单击“支付”按钮时将重定向发送到我的reactjs应用程序。并将首页重定向到paybox平台。但所有的麦加主义都是在后台完成的。

我改变了我的做事方式。我最终删除了我的paybox.html.twig视图,并在控制器中替换为重定向响应

我的邮箱控制器:

$params = http_build_query($paybox->toArray());
return new RedirectResponse('https://preprod-tpeweb.paybox.com/cgi/MYchoix_pagepaiement.cgi?' . $params); //paybox test url
我的付款箱类别:

    public function toArray() : array {
        return [
            'PBX_SITE' => $this->PBX_SITE,
            'PBX_RANG' => $this->PBX_RANG,
            'PBX_IDENTIFIANT' => $this->PBX_IDENTIFIANT,
            'PBX_TOTAL' => $this->PBX_TOTAL,
            'PBX_DEVISE' => $this->PBX_DEVISE,
            'PBX_CMD' => $this->PBX_CMD,
            'PBX_PORTEUR' => $this->PBX_PORTEUR,
            'PBX_RETOUR' => $this->PBX_RETOUR,
            'PBX_HASH' => $this->PBX_HASH,
            'PBX_TIME' => $this->PBX_TIME,
            'PBX_HMAC' => $this->PBX_HMAC,
            'PBX_EFFECTUE' => $this->PBX_EFFECTUE,
            'PBX_REFUSE' => $this->PBX_REFUSE,
            'PBX_ANNULE' => $this->PBX_ANNULE
        ];
    }

我改变了我的做事方式。我最终删除了我的paybox.html.twig视图,并在控制器中替换为重定向响应

我的邮箱控制器:

$params = http_build_query($paybox->toArray());
return new RedirectResponse('https://preprod-tpeweb.paybox.com/cgi/MYchoix_pagepaiement.cgi?' . $params); //paybox test url
我的付款箱类别:

    public function toArray() : array {
        return [
            'PBX_SITE' => $this->PBX_SITE,
            'PBX_RANG' => $this->PBX_RANG,
            'PBX_IDENTIFIANT' => $this->PBX_IDENTIFIANT,
            'PBX_TOTAL' => $this->PBX_TOTAL,
            'PBX_DEVISE' => $this->PBX_DEVISE,
            'PBX_CMD' => $this->PBX_CMD,
            'PBX_PORTEUR' => $this->PBX_PORTEUR,
            'PBX_RETOUR' => $this->PBX_RETOUR,
            'PBX_HASH' => $this->PBX_HASH,
            'PBX_TIME' => $this->PBX_TIME,
            'PBX_HMAC' => $this->PBX_HMAC,
            'PBX_EFFECTUE' => $this->PBX_EFFECTUE,
            'PBX_REFUSE' => $this->PBX_REFUSE,
            'PBX_ANNULE' => $this->PBX_ANNULE
        ];
    }