Laravel 8 向 CopyAndPay POST 发出请求 Api 并呈现表单

Laravel 8 make POST request to CopyAndPay Api and render form

我是 laravel 的新手,我正在尝试通过控制器 POST 将数据形成 API 并生成 Copyandpay 表单以完成测试交易。

这就是我目前的情况,我不知道我哪里出错了。 我一直收到这个错误

我的控制器

class PaymentController extends Controller
{
    function request() {
        $url = "https://test.oppwa.com/v1/checkouts";
        $data = "entityId=8a8294174b7ecb28014b9699220015ca" .
                    "&amount=92.00" .
                    "&currency=EUR" .
                    "&paymentType=DB";

         //CURL CONNECTION CODE


    }

}

我的观点

<!DOCTYPE html>
<html>
<head>
<script src="https://test.oppwa.com/v1/paymentWidgets.js?checkoutId={entityId}"></script>

</head>
<body>
<x-app-layout>
    <x-slot name="header">
        <h2 class="font-semibold text-xl text-gray-800 leading-tight">
            {{ __('Dashboard') }}
        </h2>
        <a href="{{ url('/payment') }}" class="text-sm text-gray-700 underline">Payment</a>
    </x-slot>

    <div class="py-12">
        <div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
            <div class="bg-white overflow-hidden shadow-sm sm:rounded-lg">
                <div class="p-6 bg-white border-b border-gray-200">
                    <form action ="payment" method="POST">
                    @csrf
                        <div class="myDiv">
                            <label for="amount">Amount:</label>
                            <input type="text" id="amount" name="amount"><br><br>
                            <label for="reference">Reference:</label>
                            <input type="text" id="reference" name="reference"><br><br>
                            <input type="submit" value="Submit">
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>

    <div class="py-12">
        <div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
            <div class="bg-white overflow-hidden shadow-sm sm:rounded-lg">
                <div class="p-6 bg-white border-b border-gray-200">
                <form action="http://127.0.0.1:8000/dashboard" class="paymentWidgets" data-brands="VISA MASTER AMEX">
                    @csrf
                </form>
                </div>
            </div>
        </div>
    </div>
</x-app-layout>
</body>
</html>

我的路线

Route::post('/payment', [PaymentController::class,'request']);

从您的标签中删除此标签:

<a href="{{ url('/payment') }}" class="text-sm text-gray-700 underline">Payment</a>

您的路线仅接受 post 方法,但您在此处将其添加到某种导航项中与 GET 请求相对应的锚标记。

注意:您不能直接在浏览器中输入do /payment route URL栏。您只需将表格提交到此路线。如果您无法访问包含您的付款表单的页面,请使用 GET 方法创建另一个路由,并将该路由连接到您的控制器中的页面。