2017-06-05 1 views
1

kostenlos Laden hat Ich versuche, Streifen in meiner Laravel-Anwendung zu implementieren Ich habe Cartlyst docx durchlaufen und Setup wurde erwähnt, aber da, wenn ich für die Prüfung der Zahlung ich anfrage Ich bekomme diesen Fehler Cannot charge a customer that has no active card Ich habe in Google geschaut, aber nichts funktionierte für mich bis jetzt.Stripe :: Kann einen Kunden, der keine aktive Karte in laravel

Hier ist der Code

public function payment(Request $request) 
{ 
    $validator = Validator::make(
     array(
      'tokenId' => $request->tokenId, 
     ), 
     array(
      'tokenId' => 'required', 
     ) 
    ); 
    if ($validator->fails()) { 
     $errors = $validator->errors(); 
     if ($errors->first('tokenId')) { 
      $message = $errors->first('tokenId'); 
     } else { 
      $message = __('apiMessages.parametersRequired'); 
     } 
     $this->setMeta("422", $message); 
     return response()->json($this->setResponse()); 
    } 
    try{ 

     $stripe = Stripe::make(env('STRIPE_SECRET'), Constant::STRIPE_VERSION); 
     $tokenId= $request->tokenId; 
     $customer = $stripe->customers()->create([ 
      'email' => '[email protected]', 
     ]); 
     /*$customer = $stripe->customers()->find($tokenId);*/ 
     $stripeCustomerId= $customer['id']; 
     $charge = $stripe->charges()->create([ 
      'customer' => $stripeCustomerId, 
      'currency' => 'USD', 
      'amount' => Constant::AMOUNT, 
     ]); 
     $chargeId=$charge['id']; 
     $payment= new Payment(); 
     $payment->userId=1; 
     $payment->amount= Constant::AMOUNT; 
     $payment->chargeId= $chargeId; 
     $payment->paymentStatus= 1; 
     $payment->save(); 
     $this->setMeta("200", __('apiMessages.paymentSuccess')); 
     return response()->json($this->setResponse()); 
    } 
    catch (StripeException $stripeException) 
    { 
     $this->setMeta("403", $stripeException->getMessage()); 
     return response()->json($this->setResponse()); 
    } 
} 

mich bitte aufklären, wo ich falsch bin?

+0

jemand hier ...? –

+0

Nun, der Fehler ist ziemlich klar, die Karte ist nicht aktiv, aktivieren Sie die Kundenkarte. – jycr753

Antwort

1

ja dank jycr753 für Aufklärung über meinen Fehler. Ich habe keine Karte Instant erstellt, warum hat dieser Fehler

$stripeCustomerId= $customer['id']; 
     $card = $stripe->cards()->create($stripeCustomerId, $request->tokenId); // add this to add a card. 
     $charge = $stripe->charges()->create([ 
      'customer' => $stripeCustomerId, 
      'currency' => 'USD', 
      'amount' => Constant::AMOUNT, 
     ]); 
Verwandte Themen