public function redeem(Request $request)
 {
     $this->validate($request, ['number' => 'required|alpha_num|exists:vouchers,number,redeemed_by,NULL']);
     // Redeem voucher $id (number) for the posting User.
     $voucher = Voucher::whereNumber($request['number'])->first();
     // Grab user and add to their balance.
     $user = Auth::User();
     // Check to verify that this isn't a user redeeming their own vouchers.
     if ($voucher->user_id == $user->id) {
         flash()->error('Unable to redeem voucher issued to yourself.');
         return redirect()->route('settings.billing');
     }
     $user->credit += $voucher->amount;
     $user->save();
     // Mark the voucher as claimed.
     $voucher->redeemed_by = $user->id;
     $voucher->redeemed_at = Carbon::now();
     $voucher->save();
     // Return to billing page wish a success message
     flash()->success('Successfully redeemed voucher.');
     return redirect()->route('settings.billing');
 }