2017-09-21 12 views
2

お客様のアカウントに複数のカードを追加できるようにしたいと考えています。したがって、チェックアウト時に、使用するカードを選択したり、新しいカードを追加したりすることができます。Stripe PHP - 新しく追加されたカードのIDを取得するにはどうすればよいですか?

私は呼び出すことにより、すでに追加カードIDを選択することができます。

$cardid = $customer->sources->data[0]->id; 
$cardid = $customer->sources->data[1]->id; 
$cardid = $customer->sources->data[2]->id; 
etc... 

しかし、私は、カードIDまたは新しく追加されたカードを取得する必要があります。

$new_card = $customer->sources->create(array(
    "source" => $token['id'] 
)); 

$new_card_id = $new_card->id; 

ノートに新しいカードを追加するときのストライプが発行銀行のカードを検証します:あなたは、単にそこからIDをつかむことができるように

//Create Token 
try { 
$token = \Stripe\Token::create(
       array(
         "card" => array(
         "name" => $_POST['ccname'], 
         "number" => $_POST['ccnum'], 
         "exp_month" => $_POST['ccxpm'], 
         "exp_year" => $_POST['ccxpy'], 
         "cvc" => $_POST['cccvc']) 
)); } 
catch(\Stripe\Error\Card $e) { 
    $body = $e->getJsonBody(); 
    $err = $body['error']; 
    $status = $err['message']; 
}  


// Add new Card to Custid 
$customer = \Stripe\Customer::retrieve($_POST['custid']); 
$customer->sources->create(
       array(
         "source" => $token['id'] 
)); 

$cardid = $customer->sources->data[]->id; ??? 

// Charge CustID 
$mysum = $_POST['amount']*100; 

$charge = \Stripe\Charge::create(array(
'customer' => $customer, 
'amount' => $mysum, 
'currency' => 'usd', 
'card' => $cardid 
)); 

答えて

関連する問題