render('payment_methods.index'); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create(CreatePaymentMethodRequest $request) { $gateway = auth()->user()->client->getCreditCardGateway(); $data = [ 'gateway' => $gateway, 'gateway_type_id' => 1, 'token' => false, ]; return $gateway->driver(auth()->user()->client)->authorizeCreditCardView($data); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $gateway = auth()->user()->client->getCreditCardGateway(); return $gateway->driver(auth()->user()->client)->authorizeCreditCardResponse($request); } /** * Display the specified resource. * * @param ClientGatewayToken $payment_method * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function show(ClientGatewayToken $payment_method) { return $this->render('payment_methods.show', [ 'payment_method' => $payment_method, ]); } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { // } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { // } /** * Remove the specified resource from storage. * * @param ClientGatewayToken $payment_method * @return \Illuminate\Http\RedirectResponse */ public function destroy(ClientGatewayToken $payment_method) { try { event(new MethodDeleted($payment_method)); $payment_method->delete(); } catch (\Exception $e) { Log::error(json_encode($e)); return back(); } return redirect() ->route('client.payment_methods.index') ->withSuccess('Payment method has been successfully removed.'); } }