2015-05-25 10 views
8

Chcę uzyskać ostatnie 4 cyfry karty klienta za pomocą Stripe. już zapisane Klientowi przy użyciu:Pierwsze 4 cyfry karty za pomocą obiektu klienta - Stripe API z PHP

 // Get the credit card details submitted by the form 
     $token = $_POST['stripeToken']; 

     // Create a Customer 
     $StripeCustomer = \Stripe\Customer::create(array(
       "description" => "$username", 
       "card" => $token 
    )); 

Teraz chciałbym, aby uzyskać dostęp, a następnie zapisać ostatnie 4 cyfry karty. (Dla kontekstu chcę pokazać użytkownikom, która karta została zapisana przy użyciu Stripe dla przyszłych płatności - nie jest to usługa subskrypcji).

Szukałem rozwiązania, ale wiele stanowisk Oszczędzasz cyfry LAST4 Po opłat, i wyciągnąć informacje od opłat jak:

$last4 = null; 
try { 
    $charge = Stripe_Charge::create(array(
    "amount" => $grandTotal, // amount in cents, again 
    "currency" => "usd", 
    "card" => $token, 
    "description" => "Candy Kingdom Order") 
); 
$last4 = $charge->card->last4; 

chciałbym zrobić to samo PRZED ładować, więc chcę pobrać ostatnie 4 z Obiektu Klienta. Dokumentacja Stripe API pokazuje ścieżkę atrybutu dla LAST4 od klientów,
customer->sources->data->last4

Jednak to nie wydają się dać mi poprawnych ostatnie 4 cyfry.
$last4 = $StripeCustomer->sources->data->last4;

Myślę, że nie rozumiem, jak używać atrybutów w interfejsie API Stripe. Czy ktoś może wskazać mi właściwy kierunek?

Odpowiedz

23

$ last4 = $ Stripe Klient -> źródła-> dane [0] -> last4;

sources-> data to tablica, więc musisz wybrać pierwszą kartę.

Uwaga boczna: używasz tokena dwa razy, jeden raz do utworzenia klienta, a drugi do utworzenia opłaty, spowoduje to błąd, ponieważ tokenu można użyć tylko raz. Trzeba obciążyć klienta zamiast tokena.

+0

Matthew, dzięki za wyjaśnienia. – jaewo0k

+0

Pracował jak urok! Także na marginesie: masz całkowitą rację. Ten drugi fragment kodu, który wykorzystuje token do pobrania opłaty, jest pobierany z innego postu. Mój kod faktycznie obciąża obiekt klienta. Dzięki jeszcze raz! – jaewo0k

+0

Dzięki! Dokumentacja była na tyle niejasna, że ​​dała ona dziwną metodę, która, jak podejrzewam, była druga, jest o wiele lepsza! :) – NaturalBornCamper