カテゴリー:
Stripe
閲覧数:322 配信日:2019-02-17 11:46
docs
Payments > CHARGES > Creating Charges
・Creating Charges
・料金を作成する
トークン化後の選択肢は2つ
CheckoutまたはElementsを使用して顧客のクレジットカードを安全に収集してトークン化した後
・選択肢A.すぐにカードへ請求する
・選択肢B.後で使用するために保存
選択肢A.すぐにカードへ請求する
課金処理には、StripeのAPIとサーバーサイドコードを使用してくれ
サーバー上で、フォームから送信されたPOSTパラメータのStripeトークンを取得する
・カードへ課金するための1つの簡単なAPI呼び出し
// 秘密鍵を設定する。実運用では、これをライブの秘密鍵に変更することを忘れないでくれ
// See your keys here: https://dashboard.stripe.com/account/apikeys
\Stripe\Stripe::setApiKey("sk_test_●●");
// トークンはCheckoutまたはElementsを使用して作成される
// 次のフォームで送信された支払いトークンIDを取得する
$token = $_POST['stripeToken'];
$charge = \Stripe\Charge::create([
'amount' => 999,
'currency' => 'usd',
'description' => 'Example charge',
'source' => $token,
]);
Synchronicity
・Stripeによるカードの課金は同期プロセス
・あなたのコードはすぐにリクエストの結果を受け取る
・成功するとChargeオブジェクト、失敗すると例外、のどちらか
・非同期のWebhookやIPNスクリプトは必要ない
これでおしまい!
・課金作成リクエストが成功した場合、カードは正常に課金されている
・あなたは2日で自動的にお金を受け取る
・請求が失敗した場合は、代わりにエラーを返す
注意事項
・上記および下記リクエストは、 事前にtokenパラメータの値としてトークンID (たとえば、 tok_■■ )を受け取ることを想定している
・トークンは一度だけ、そして作成から数分以内に使用することができる
複数の請求、将来の請求、または購読をサポートするには?
・請求する代わりにカードトークンを保存する
Dynamic statement descriptor / 動的ステートメント記述子
デフォルト
・あなたが顧客のカードへ請求するときは、いつでも「あなたのStripeアカウントのstatement descriptor」が顧客の明細書に表示される
請求ごとに異なる説明を提供するには
・ statement_descriptorパラメータを含める
Statement descriptors / ステートメント記述子
・22文字に制限されている
・特殊文字<, >, ', ", 使用することはできない
・数字だけで構成してはいけない
// 秘密鍵を設定する。実運用では、これをライブの秘密鍵に変更することを忘れないでくれ
// See your keys here: https://dashboard.stripe.com/account/apikeys
\Stripe\Stripe::setApiKey("sk_test_●●");
// トークンはCheckoutまたはElementsを使用して作成される
// 次のフォームで送信された支払いトークンIDを取得する
$token = $_POST['stripeToken'];
$charge = \Stripe\Charge::create([
'amount' => 999,
'currency' => 'usd',
'description' => 'Example charge',
'source' => $token,
'statement_descriptor' => 'Custom descriptor',
]);
Auth and capture / 認証とキャプチャ
Stripeは2段階のカード支払いをサポートしているので、最初に料金を承認してから、後でそれを決済(キャプチャー)するのを待つことができる
・使用予定がないため省略
Storing information in metadata / メタデータに情報を保存する
Stripeは、処理料金など、最も一般的なリクエストへのメタデータの追加をサポートしている
・メタデータは顧客には表示されず、請求がStripe社の詐欺防止システムによって拒否されたかブロックされたかどうかについても考慮されない
メタデータを介して、自分にとって意味のある他の情報をStripeアクティビティに関連付けることができる
・(例えば、個々の料金についてページを見るときに)どんなメタデータもダッシュボードで見ることができる、そしてまた一般的なレポートとエクスポートで利用可能
・ 例。あなたの店の注文IDは、その注文の支払いに使われる料金に添付することができる
・ そうすることで、あなた、あなたの会計士、またはあなたの財務チームは、Stripe内の料金をあなたのシステム内の注文と簡単に調整することができる
// 秘密鍵を設定する。実運用では、これをライブの秘密鍵に変更することを忘れないでくれ
// See your keys here: https://dashboard.stripe.com/account/apikeys
\Stripe\Stripe::setApiKey("sk_test_●●");
// トークンはCheckoutまたはElementsを使用して作成される
// 次のフォームで送信された支払いトークンIDを取得する
$token = $_POST['stripeToken'];
$charge = \Stripe\Charge::create([
'amount' => 999,
'currency' => 'usd',
'description' => 'Example charge',
'source' => $token,
'metadata' => ['order_id' => 6735],
]);
注意事項
・機密情報(個人を特定できる情報、カードの詳細など)をメタデータとして、または請求のdescriptionパラメータに保存しないでくれ