2014-04-15 20 views
11

Korzystanie Stripe.js, otrzymuję card token które można następnie wykorzystać do ładowania poprzez:charge Stripe wielokrotnie

Stripe::Charge.create(
    :amount => 400, 
    :currency => "usd", 
    :card => "tok_103rC02eZvKYlo2C2RD5docg", # obtained with Stripe.js, 
    :metadata => {'order_id' => '6735'} 
) 

Czy mogę używać tych samych card token wielokrotnie ładować klientowi czy jest to 1 żeton/ładowania i jakiekolwiek kolejne opłaty, będę musiał pobrać nowy token?

Odpowiedz

26

Dobre pytanie! Kiedy używasz tokenu w ten sposób, jest on natychmiast zużywany, więc nie można go użyć ponownie. Można jednak zamiast tego podać ten token jako argument card podczas tworzenia obiektu klienta w postaci Stripe. Następnie możesz wykonać wiele opłat przeciwko temu Klientowi.

nadzieję, że pomoże. Larry

PS Pracuję w dziale Support at Stripe.

0

Istnieją dwie rzeczy. Jeden token, a drugi to identyfikator karty. Token może zostać użyty jeden raz. Ma również trochę czasu na wykorzystanie. Identyfikator karty, który otrzymujemy po zapisaniu karty w chmurze. Możemy użyć identyfikatora karty wielokrotnie. Token generuje za pomocą klucza publicznego. i nie można tego ponownie użyć. Możesz używać identyfikatora karty do płatności po raz drugi

require_once APPPATH . 'libraries/Stripe.php'; 
Stripe::setApiKey("***********************"); //Put here your secrect key 

//Add card and get token id. 

$tokenDetail = Stripe_Token::create(array(
"currency" => "USD", 
"card" => array(
"number" => '********', //$credit_card_number, 
"exp_month" => '**', //$exp_date_month, 
"exp_year" => '**', //$exp_date_year, 
"cvc" => '***'//$cvv_number 
) 
)); 


$token = $tokenDetail->id; 
Stripe::setApiKey("*********************"); ////Put here your secrect key 

// Get card id by creating a Customer. 
$customer = Stripe_Customer::create(array(
"source" => $tokenDetail->id, 
"description" => "For testing purpose", 
) 
); 

$response = Stripe_Charge::create(array(
"amount" => 100, 
"currency" => "usd", 
"customer" => $customer->id // obtained with Stripe.js 
)); 
Powiązane problemy