all(), [ 'card_no' => 'required', 'ccExpiryMonth' => 'required', 'ccExpiryYear' => 'required', 'cvvNumber' => 'required', 'amount' => 'required', ]); $input = $request->all(); if ($validator->passes()) { $input = array_except($input,array('_token')); $stripe = Stripe::make(env('STRIPE_SECRET')); try { $token = $stripe->tokens()->create([ 'card' => [ 'number' => $request->get('card_no'), 'exp_month' => $request->get('ccExpiryMonth'), 'exp_year' => $request->get('ccExpiryYear'), 'cvc' => $request->get('cvvNumber'), ], ]); if (!isset($token['id'])) { \Session::put('error','The Stripe Token was not generated correctly'); return response()->json(['status' => 0, 'data' => Session::get('error')]); } // $charge = $stripe->accountId(env('STRIPE_APP_CLIENT_ID'))->charges()->create([ // "amount" => $request->get('amount'), // "currency" => "gbp", // "source" => $token['id'], // "application_fee_amount" => urlencode(50), // ]); $charge = $stripe->create([ "amount" => $request->get('amount'), "currency" => "gbp", "source" => $token['id'], // "application_fee_amount" => urlencode(50), ]); if($charge['status'] == 'succeeded') { return response()->json(['status' => 1, 'data' => $charge]); } else { \Session::put('error','There was an issue with your payment'); return response()->json(['status' => 0, 'data' => Session::get('error')]); } } catch (Exception $e) { \Session::put('error',$e->getMessage()); return response()->json(['status' => 0, 'data' => Session::get('error')]); } catch(\Cartalyst\Stripe\Exception\CardErrorException $e) { \Session::put('error',$e->getMessage()); return response()->json(['status' => 0, 'data' => Session::get('error')]); } catch(\Cartalyst\Stripe\Exception\MissingParameterException $e) { \Session::put('error',$e->getMessage()); return response()->json(['status' => 0, 'data' => Session::get('error')]); } } \Session::put('error','All fields are required'); return response()->json(['status' => 0, 'data' => Session::get('error')]); } public function save_order_transaction(Request $request) { $transaction = new \App\OrdersTransactions; $transaction->order_id = $request->order_id; $transaction->customer_id = ''; $transaction->amount = $request->amount; $transaction->transaction_fee = $request->transaction_fee; $transaction->receipt_url = $request->receipt_url; $transaction->card_no = '0000000000000000'; $transaction->ccExpiryMonth = '00'; $transaction->ccExpiryYear = '0000'; $transaction->cvvNumber = '000'; $transaction->save(); return response()->json(['status' => true, 'msg' => 'successful', 'data' => '']); } }