2016-12-15 12 views
0

私はLaravel 5.2を使用しています。私のアプリを配備した後、ストライプチェックアウトは機能しません。ローカルホストモードでは、サブスクリプションを使用して顧客を作成しますが、実稼働環境では "InvalidRequest"エラーが発生し、ストライプではなくサブスクリプションなしで顧客が作成されます。Laravel Cashierはお客様を作成しますが、購読はしません

apikeysはサービス、ストライプ、および.envで設定され、stripeTokenを取得します。

   try { 
        // Use Stripe's library to make requests... 

        $user = new User; 

        $user->name = $request->input('name'); 
        $user->email = $request->input('email'); 
        $user->password = Hash::make($request->input('password')); 
        $user->created_at = Carbon::now(); 
        $user->save(); 

        $creditCardToken = $request->input('stripeToken'); 

        $user->newSubscription('Silver', 'Silver')->create($creditCardToken); 


       } catch(\Stripe\Error\Card $e) { 
        // Since it's a decline, \Stripe\Error\Card will be caught 

        $error = 'Det verkade vara något fel med ditt kreditkort. Vänligen testa igen.'; 
        return redirect()->back()->with('error', $error); 

       } catch (\Stripe\Error\RateLimit $e) { 
        // Too many requests made to the API too quickly 

        $error = 'Vi upplever för tillfälligt ett högt tryck. Vänligen försök igen om en liten stund.'; 
        return redirect()->back()->with('error', $error); 

       } catch (\Stripe\Error\InvalidRequest $e) { 
        // Invalid parameters were supplied to Stripe's API 

        $error = 'Ops! Något gick fel. Vänligen testa igen'; 
        return redirect()->back()->with('error', $error); 

       } catch (\Stripe\Error\Authentication $e) { 
        // Authentication with Stripe's API failed 
        // (maybe you changed API keys recently) 

        $error = 'Ops! Något gick fel. Vänligen konktakta kundtjänst så vi kan fixa problemet. Tack!'; 
        return redirect()->back()->with('error', $error); 

       } catch (\Stripe\Error\ApiConnection $e) { 
        // Network communication with Stripe failed 
        $error = 'Ops! Servern är för tillfälligt nere. Vänligen testa inom kort igen.'; 
        //return redirect()->back()->with('error', $error); 

       } catch (\Stripe\Error\Base $e) { 
        // Display a very generic error to the user, and maybe send 
        // yourself an email 
        $error = 'Ops! Något gick fel.'; 
        //return redirect()->back()->with('error', $error); 
       } catch (Exception $e) { 
        // Something else happened, completely unrelated to Stripe 
        $error = 'Ops! Något gick fel. Vänligen kontakta kundtjänst.'; 
        //return redirect()->back()->with('error', $error); 
       } 

        $name = $request->input('name'); 

        return view('checkout.confirmation', compact('plan', 'name')); 

答えて

2

コメントする必要がありますが、私はそれを行うことはできません。だから、catch (\Stripe\Error\InvalidRequest $e) {オン...

は、私はそれはあなたの問題についてのよりよいヒントを与えるだろうと考えていdd($e->getMessage());

が含まれます。

+0

I got ... "このようなトークンはありません:テストモードでは類似のオブジェクトが存在しますが、この要求を行うためにはライブモードキーが使用されています。" – mattesj

+0

それは愚かな質問ですが、ライブモードでシルバープランを作成しましたか?あなたの鍵は正しいと確信していますか? –

+0

そのエラーコードは私を助けました。私がテストキーから生きるために変わったビューを保存するのを忘れた...ルーキーミス。 – mattesj

関連する問題