Andrei
public function payment(Request $request,$id){
$products = ProductsModel::findorfail($id);
$productPrice = $products->price;
$this->payment_process($request,$productPrice);
return view('pages/payment')->with(['products' => $products]);
}
public function payment_process(Request $request,$productPrice){
$product = new OrderDetailsModel;
/* $this->validate($request, [
'firstName' => 'required',
'lastName' => 'required',
'country' => 'required',
'state' => 'required',
'zip' => 'required',
'address'=> 'required'
]);*/
$product->firstName = request('firstName');
$product->lastName = request('lastName');
$product->email = request('email');
$product->country = request('country');
$product->address = request('address');
$product->address2 = request('address2');
$product->state = request('state');
$product->zip = request('zip');
$product->extrainformation = 'null';
$product->save();
\Stripe\Stripe::setApiKey('...');
try {
Charge::create ( array (
"amount" => $productPrice * 100,
//(float)$request->input('getPrice') * 100,
"currency" => "usd",
"source" => 'tok_visa', // obtained with Stripe.js
"description" => "Test payment."
) );
Session::flash ( 'success-message', 'Payment done successfully !' );
return Redirect::back ();
} catch ( \Exception $e ) {
Session::flash ( 'fail-message', "Error! Please Try again." );
return Redirect::back ();
}
return redirect('/')->with('success', 'Order Created');
}
}
Something from your request is missing (request('firstName') i guess). In your payment_process method write dd($request->all())
and show us the results