2 回答

TA貢獻1744條經(jīng)驗 獲得超4個贊
由于付款是公共方法并且它會重定向,因此很可能是通過路由調(diào)用的。在這種情況下,您可以在付款中注入請求實例,如下所示:
public function payment(Request $request) {
$data = $this->projectData($request);
$provider = new ExpressCheckout;
$response = $provider->setExpressCheckout($data);
dd($response);
// $response = $provider->setExpressCheckout($data, true);
return redirect($response['paypal_link']);
}

TA貢獻1891條經(jīng)驗 獲得超3個贊
private function projectData(){
$request=request();
// dd($request->all());
// $item = [];
// $datat = array_map(function($item){
// return [
// 'name'=>$request->project_id,
// 'price'=>$request->budget,
// 'desc'=>'Deposit',
// 'qty'=>1
// ];
// }, $item);
$data = [
'items'=>[
'name'=>'Project No.'.$request->project_id
],
'invoice_id' => uniqid(),
'invoice_description' => "Payment for Project No.".$request->project_id." Amount ".$request->budget,
'return_url' => route('payment.success'),
'cancel_url' => route('payment.cancel'),
'total' => $request->budget
];
// dd($data);
return $data;
}
/**
* Responds with a welcome message with instructions
*
* @return \Illuminate\Http\Response
*/
public function payment() {
$data = $this->projectData();
$provider = new ExpressCheckout;
$response = $provider->setExpressCheckout($data);
dd($response);
// $response = $provider->setExpressCheckout($data, true);
return redirect($response['paypal_link']);
}
僅當(dāng)您來自請求時,而不是從請求的函數(shù)調(diào)用另一個函數(shù)時,才可以使用依賴項注入,如果您要這樣做,請嘗試我的方法,或者將您的請求添加到處理此請求的主控制器并傳遞給其他方法。
- 2 回答
- 0 關(guān)注
- 105 瀏覽
添加回答
舉報