首页 > 解决方案 > 表单字段:姓名和电话未与 Paystack 中的请求一起传递

问题描述

我正在尝试在 Laravel 中实现 Paystack;我正在使用他们为 Laravel 推荐的文档。问题是金额和电子邮件被传递到 Paystack 数据库,但客户的姓名和电话详细信息却没有。如何将其传递给 Paystack?

我已经配置了基于https://github.com/unicodeveloper/laravel-paystack的文档中提到的结帐流程。我正在使用 Windows 10 并运行 Laravel 5.6 和 PHP 7.3。

<form class="needs-validation" action="{{ route('pay') }}" method="POST">
    <div class="row">
        <div class="col-md-6 mb-3">
            <label for="first_name">First name</label>
            <input type="text" class="form-control" id="first_name"
                   placeholder="first name" value="" name="first_name" required="">
        </div>
        <div class="col-md-6 mb-3">
            <label for="last_name">Last name</label>
            <input type="text" class="form-control" id="last_name"
                   placeholder="last Name" name="last_name" value="" required="">
        </div>
    </div>
    <div class="mb-3">
        <label for="email">Email <span class=" text-danger"> * </span>
        </label>
        <input type="email" class="form-control" id="email" name="email"
               placeholder="you@example.com" required>
    </div>
    {{ csrf_field() }}
    <hr class="mb-4">
    <button class="btn btn-success btn-lg btn-block" type="submit"
            value="Pay Now!">
        <i class="fa fa-plus-circle fa-lg"></i> Complete Payment!
    </button>
</form>

我预计付款完成后,客户数据应包含客户电子邮件和姓名。但它只返回客户数组中的电子邮件。

标签: laravel

解决方案


你必须自己实现它,在支付按钮尝试有这样的表格之前

<form action="/myform" method="post">
<input type="text" name="fullname">
<input type="number" name="phone_number">
<button>submit</button>
</form>

Route::post('/myform','controllerhere@form1')->name('name');
Route::get('/pay','controller@function')->name('pay');
Route::post('/pay','controller@function')->name('pay');

然后你的控制器看起来像这样

public function form1(Request $request){
$request->validate([....]);
save the form and return redirect to your payment form like this
..
return redirect('/pay');
}

然后可以付款了,请上面的代码只是帮助的示例


推荐阅读