/**
  * Store a newly created resource in storage.
  *
  * @return \Illuminate\Http\RedirectResponse
  */
 public function store($userId)
 {
     $confirm_params = array('resource_id' => \Request::get('resource_id'), 'resource_type' => \Request::get('resource_type'), 'resource_uri' => \Request::get('resource_uri'), 'signature' => \Request::get('signature'));
     // State is optional
     if (\Request::get('state')) {
         $confirm_params['state'] = \Request::get('state');
     }
     $user = User::findWithPermission($userId);
     try {
         $confirmed_resource = $this->goCardless->confirmResource($confirm_params);
     } catch (\Exception $e) {
         \Notification::error($e->getMessage());
         return \Redirect::route('account.show', $user->id);
     }
     if (strtolower($confirmed_resource->status) != 'active') {
         \Notification::error('Something went wrong, you can try again or get in contact');
         return \Redirect::route('account.show', $user->id);
     }
     $this->userRepository->recordGoCardlessVariableDetails($user->id, $confirmed_resource->id);
     //all we need for a valid member is an active dd so make sure the user account is active
     $this->userRepository->ensureMembershipActive($user->id);
     return \Redirect::route('account.show', [$user->id]);
 }