技術ブログ

プログラミング、IT関連の記事中心

Node.jsでStripeのカスタマー(顧客)の支払い方法の設定方法(クライアントシークレット取得) stripe.setupIntents.create【1/2】

目次

事前準備

以下から、Stripeのアカウントを作成してダッシュボード画面まで登録を進める。

stripe.com

以下の記事を参考に、カスタマーの登録が完了していること。

Node.jsでStripeのカスタマー(顧客)の登録方法 stripe.customers.create

Stripeからトークンを取得

以下のサイトにアクセスします。

https://dashboard.stripe.com/test/apikeys

テスト環境がONになっている事を確認します。
※ONになっていない方は、ONにしておいてください。

制限付きのキーを作成」を押下します。

キーの名前に任意の名前を入力します。(何でもいいです)

Customers」の権限を「書き込み」に変更します。

画面最下部の「キーを作成」を押下します。

テストキーを表示」を押下して表示された「トークン」を後程利用するので、残しておいてください。

カスタマーIDの確認

以下のダッシュボードにアクセスし、顧客を選択します。

https://dashboard.stripe.com/test/customers

顧客画面の左側に記載されている「cus_」から始まるものがカスタマーIDです。
※プログラム上で使用します。

必要権限の追加

以下のURLにアクセスし、「Stripeからトークンを取得」で用意したAPIキーの権限に「SetupIntents」の「書き込み」を追加します。

https://dashboard.stripe.com/test/apikeys

Node.jsの関数用意

以下のコマンドを実行して、Node.jsのプロジェクトにStripeをインストールします。

npm i stripe

以下の関数を用意します。
rk_test_XXXXXXXXXXXXXXXXXX」の部分は「Stripeからトークンを取得」で取得したトークンに置き換えてください。
cus_XXXXXX」の部分は「カスタマーIDの確認」で取得したカスタマーIDに置き換えてください。

var stripe = require("stripe")("rk_test_XXXXXXXXXXXXXXXXXX");

const setupIntentsCreate = async (customerId) => {
  const paymentIntent = await stripe.setupIntents.create({
    customer: customerId,
    payment_method_types: ["card"],
  });
  console.log(paymentIntent.client_secret);
  return paymentIntent.client_secret;
};

用意した関数を以下の様に実行する事で、クライアントシークレットの取得ができます。
このクライアントシークレットはフロントで使用するので、RestAPIなどで、レスポンスするようにしてください。

const clientSecret = setupIntentsCreate("cus_XXXXXX");
console.log(clientSecret); // 「seti_XXXX_secret_XXXX」のデータが取得できるので、次の記事のフロント側で使用します。

公式ドキュメント

クライアントシークレット取得の詳細情報は以下の公式ドキュメントをご参照ください。

stripe.com

次の記事

Stripeのカスタマー(顧客)の支払い方法の設定方法(クライアント側 純粋なHTML/JavaScript jQuery)【2/2】