商品購入時にユーザーに毎回クレジットカード情報を入力してもらうのは使い勝手が悪いので
クレジットカード情報を stripe で保存できる機能を使う必要がありそう。
クライアント(JavaScript)側で実装するのかと勘違い。
cordova-plugin-stripe を調べても見つかるわけがない。
サーバー(phpなど)側で実装する。
【クレジットカード保存してなかった時は】
// オーソリ(与信枠の確保)
$charge = \Stripe\Charge::create(array(
‘amount’ => $_POST[‘amount’],
‘currency’ => ‘jpy’,
‘source’ => $_POST[‘token_id’], // クレジットカードトークン
‘capture’ => false,
));
// 売上の確定
$charge->capture();
【クレジットカードを保存するようにする場合】
// 顧客情報作成
$stripe_customer = \Stripe\Customer::create(array(
‘source’ => $_POST[‘token_id’], // クレジットカードトークン
’email’ => $_POST[’email’], // メールアドレス
‘name’ => $_POST[‘customer_name’], // 顧客の名前
));
// オーソリ(与信枠の確保)
$charge = \Stripe\Charge::create(array(
‘amount’ => $_POST[‘amount’],
‘currency’ => ‘jpy’,
‘customer’ => $stripe_customer->id,
‘capture’ => false,
));
// 売上の確定
$charge->capture();
そして、$stripe_customer->id の値を データベース(ユーザー情報)などに保持しておく
【既にクレジットカードを保存している場合】
// データベース(ユーザー情報)から STRIPEの顧客IDを取得
$stripe_customer_id
// オーソリ(与信枠の確保)
$charge = \Stripe\Charge::create(array(
‘amount’ => $_POST[‘amount’],
‘currency’ => ‘jpy’,
‘customer’ => $stripe_customer_id,
‘capture’ => false,
));
// 売上の確定
$charge->capture();