2016-04-12 5 views
0

Ich benutze gezündet/Laravel-Omnipay-Paket für Omnipay in Laravel. Ich versuche, Token-Abrechnung mit Streifen wie hier gezeigt zu implementieren https://github.com/thephpleague/omnipay#token-billing. Kunden werden erfolgreich auf Stripe erstellt, aber ich kann keine Zahlung mit der zurückgegebenen Kundennummer vornehmen.Omnipay Token Billing funktioniert nicht mit Streifen

Hier ist mein Code

$token = Input::get('stripetoken'); 
    $gateway = Omnipay::create('Stripe'); 
    $gateway->setApiKey('My Key'); 
    $gateway->setTestMode(true); 
    $cardresponse = $gateway->createCard(array('token' =>$token))->send(); 
    if ($cardresponse->isSuccessful()) { 
     $card_id = $cardresponse->getCardReference(); 
     $data = $cardresponse->getData(); 
     $customerid = $data['id']; 
     $cardid = $data['default_source']; 
    } 
    $paymentresponse = $gateway->purchase(array('amount' => '10.00','currency' => 'USD', 'cardReference' => $card_id))->send(); 
    echo $paymentresponse->getMessage(); 

ich folgende Antwort bin immer.

No such token: cus_8FwPaLNKdWcfRW 

Und wenn ich meine Streifen Dashboard überprüfen, dann existiert ein Kunde mit dieser ID und hat eine Karte zugewiesen. Danke für Ihre Hilfe.

Antwort

1

Da Sie ein Kundenobjekt erstellen, müssen Sie Ihre charge creation request aktualisieren, um die Kunden-ID im customer Parameter zu übergeben, anstatt in den source Parametern (die den Fehler verursacht, die Sie sehen).

Ich bin mit Omnipay nicht vertraut, aber ich denke, das sollte funktionieren:

$paymentresponse = $gateway->purchase(array('amount' => '10.00','currency' => 'USD', 'customerReference' => $card_id))->send(); 
+1

Dank, das funktioniert. Omnipay sollte wirklich an der Dokumentation arbeiten. Es ist zu verwirrend. Danke noch einmal. – ALOK