/**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store(Request $request, PaymentRepositoryInterface $payments, TaxCloudRepository $taxCloud)
 {
     //        $taxCloud = app('TaxCloudRepo');
     list($fname, $lname) = explode(' ', $request->input('name'), 2);
     // This will exception upon a single name.
     $address = $taxCloud->createAddress($request->address, '', $request->city, $request->state, $request->zipcode);
     try {
         $verifiedAddress = $taxCloud->verifyAddress($address);
     } catch (VerifyAddressException $e) {
         return back()->withErrors('Unable to verify address.')->withInput();
     }
     if ($verifiedAddress != null) {
         // We have a USPS verified address
         $billAddress = $verifiedAddress->getAddress1();
         $billCity = $verifiedAddress->getCity();
         $billState = $verifiedAddress->getState();
         $billZip = $verifiedAddress->getZip5() . '-' . $verifiedAddress->getZip4();
     } else {
         $billAddress = $request->address;
         $billCity = $request->city;
         $billState = $request->state;
         $billZip = $request->zipcode;
     }
     $payments->newCard(['cardNumber' => $request->input('number'), 'cardExp' => $request->input('expYear') . '-' . $request->input('expMonth'), 'CVV' => $request->input('CVV'), 'billTo' => ['firstName' => $fname, 'lastName' => $lname, 'address' => $billAddress, 'city' => $billCity, 'state' => $billState, 'zipcode' => $billZip, 'country' => $request->country]], Auth::User()->id);
     return redirect()->route('settings.billing');
 }