嗨,Laravel开发者,
我正在为我的条纹表单创建一个设置意图。当我去显示我的表单时,我得到了一个未定义的错误变量:意图(View:.)。如果我从表单中删除数据秘密=“{{$意向->客户_机密}}”,就会得到这个404页。
下面是我在视图文件、路由和控制器中的表单。
以下是我的视图文件:
<form action="{{ route('subscription.create') }}" method="post" id="payment-form">
@csrf
<div class="form-group">
<div class="card-header">
<label for="card-element">
Enter your credit card information
</label>
</div>
<div class="card-body">
<div style="width: 30em" id="card-element">
<!-- A Stripe Element will be inserted here. -->
</div>
<!-- Used to display form errors. -->
<div id="card-errors" role="alert"></div>
<input type="hidden" name="plan" value="{{ $plan->id }}" />
</div>
</div>
<div class="card-footer">
<button data-secret="{{ $intent->client_secret }}" class="btn btn-dark" type="submit">Pay</button>
</div>
这是我的路线:
Route::get('/plan/{plan}', 'PlanController@show')->name('plans.show');
Route::post('/subscription', 'SubscriptionController@create')->name('subscription.create') ;
以下是我的订阅控制器:
<?php
// SubscriptionController.php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Laravel\Cashier\Billable;
use App\Plan;
use App\User;
class SubscriptionController extends Controller
{
public function __construct() {
Stripe::setApiKey(env('STRIPE_SECRET'));
}
public function create(Request $request, Plan $plan)
{
$plan = Plan::findOrFail($request->get('plan'));
$user = $request->user();
$paymentMethod = $request->paymentMethod;
$paymentMethod = $request->get('stripePaymentMethod'); $plan = 'Your plan in a cae of
subcription'; $user->newSubscription('main', $plan)->create($paymentMethod);
return redirect()->route('home')->with('status', 'Your plan subscribed successfully');
}
}
这是我的计划主计长:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Plan;
class PlanController extends Controller {
public function index() {
$plans = Plan::all();
return view('plans.index', compact('plans'));
}
public function show(Plan $plan, Request $request) {
return view('plans.show', compact('plan'));
}
}
谢谢你的帮助。
发布于 2022-03-31 20:00:56
你需要传递意图变量来查看你的刀片,它在寻找意图变量,如果找不到它,它就抛出错误。
解决方案
public function show(Plan $plan, Request $request) {
$intent = auth()->user()->createSetupIntent();
return view('plans.show', compact('plan', 'intent'));
}
在此之后,您的意图将被传递到视图文件和错误将消失。
https://stackoverflow.com/questions/59860540
复制