商品および価格の使用を開始
商品と価格を使用して Stripe でビジネスのモデル化を開始します。
商品と価格は、Checkout セッション、Payment Links、サブスクリプション、請求書など、いくつかの Stripe システムのコアリソースです。
システムを構築する前に、まず、導入プロジェクト全体の目標を理解して、設計に関する意思決定をしておきます。たとえば、サブスクリプションシステムを構築する場合は、設計における決定の詳細についてシステムを設計するを確認しておきます。また、Stripe でビジネスモデルを変換する方法については、料金体系モデルを確認しておきます。
次に、Stripe で新しい商品と価格を作成するか、別のシステムから Stripe に既存の商品カタログをインポートするかを決定します。商品カタログが小さいか、コードを使用したくない場合は、ダッシュボードで新しい商品と価格を作成します。商品カタログが非常に大きい場合は、Products API を使用して、カタログをプログラムでインポートします。
複数の商品と価格
商品カタログに表示する必要がある商品をいくつでも作成できます。商品ごとに複数の価格を作成することもできます。複数の価格ではなく、複数の商品を作成する必要があるかどうかは、いくつかの要因によって決まります。ただし、一般的のようになります。
同じ商品を異なる複数の価格で販売する場合、1 つの商品に複数の価格を作成します。たとえば、あるサブスクリプションの価格帯を月額料金と年額料金で提供する場合は、その価格帯の商品を 1 つ作成し、月額料金用の価格を 1 つと年額料金用の価格を 1 つ作成します。段階別定額の料金体系モデルの例をご覧ください (同じ商品を複数の通貨で販売している場合は、複数の価格を作成するのではなく、多通貨の Price を 1 つ作成します)。
必要なプロビジョニングまたはフルフィルメント方法が複数存在するアイテムについては、複数の商品を作成します。たとえば、段階別料金モデルでは、価格帯ごとに異なる商品を作成します。同様に、商品に複数のバージョンがある場合 (さまざまな色とサイズのある T シャツなど)、バージョンごとに商品を作成します。
テスト環境
商品をテスト環境から本番環境にコピーできるため、再作成する必要はありません。商品に関連付けられている価格もコピーされます。ダッシュボードの商品詳細ビューで、右上隅にある本番環境にコピーをクリックしてください。
テスト商品を本番環境にコピーできるのは 1 回だけです。コピーした後にテスト商品を更新した場合、その変更は本番環境の商品に反映されません。
商品および価格を作成する
新しい商品と価格を作成するには、ダッシュボードを使用するのが一番簡単です。API を使用する場合は、商品および価格の管理方法に関するガイドをご覧ください。このセクションでは、ダッシュボードを使用する手順についてのみ説明します。
商品を作成する
ダッシュボードで商品を作成するには、以下のようにします。
- その他 > 商品カタログ に移動します。
- +商品を追加をクリックします。
- 商品の名前を入力します。
- 「(オプション)」 説明を追加します。この説明は、商品の購入時に Costomer portal (カスタマーポータル) と Quotes (見積もり)に表示されます。
- (Optional) Add an Image of your product. Use a JPEG, PNG, or WEBP file that’s smaller than 2MB. The image appears at checkout.
- 「(オプション)」Stripe Tax を使用している場合は、商品の税コードを選択します。適切な商品カテゴリーについて、詳細は税コードをご覧ください。
- (オプション) 明細書表記を入力します。この表記により継続支払いのアカウント表記が上書きされます。銀行明細書に記載された場合に顧客が内容を把握できるような表記を選んでください。
- (オプション) ユニットラベルを入力します。ユニットラベルにより、商品をどのように販売するかを説明できます。たとえば、ユーザー数ベースで請求する場合に「ユーザー数」と入力すると、ラインアイテムには「ユーザー毎」の価格が記載されます。ユニットラベルは購入時や、請求書、領収書、カスタマーポータルに表示されます。
ダッシュボードで商品を保存するには、価格を少なくとも 1 つ追加する必要もあります。1 つの商品に複数の価格を作成することもできます。詳細については、価格を作成するをご覧ください。
価格を作成する
ダッシュボードで価格を作成するには、まず商品を作成する必要があります。1 つの商品に複数の価格を作成できます。
料金体系モデルを選択します。継続的な料金体系モデルの詳細は、料金体系モデルのガイドをご覧ください。
- 定額の料金体系: 各ユニットに対して一律の価格を請求します。このオプションを使用する場合は、1 回限りまたは継続を選択します。
- パッケージ料金体系: 5 ユニットごとに 25 USD を請求するなど、パッケージやグループを単位にして請求します。購入数はデフォルトで切り上げられるので、8 ユニット購入する顧客は 50 USD を支払うことになります。
- 段階的な料金体系: 注文内の一部のユニットに異なる価格が適用される場合がある、段階制料金を使用します。たとえば、最初の 100 ユニットに対してはユニット当たり 10 USD、以降の 50 ユニットについてはユニット当たり 5 USD を請求することができます。このオプションを使用する場合は、価格の通貨を選択して、段階の表に入力してください。
- 数量ベースの料金体系: 販売する合計ユニット数に対して設定された単価で請求します。たとえば、50 ユニットの場合はユニット当たり 10 USD、100 ユニットの場合はユニット当たり 7 USD を請求します。このオプションを使用する場合は、価格の通貨を選択して、段階の表に入力してください。
- 顧客の選択による価格: 商品、サービス、活動に対して支払う金額を支払人が決定できるようにします。顧客の選択による価格は、Checkout および Payment Links でのみ使用できます。
- 使用量ベースの料金体系: 請求サイクルにおけるサービスの利用量に応じて顧客に請求します。
「(オプション)」複数の通貨で販売している場合は、別の通貨を追加をクリックして、通貨ごとの請求額を設定します。
継続価格の請求期間を選択します。ドロップダウンのオプションに目的のものがない場合は、カスタムの期間を追加できます。
料金に税金を含めるかどうかを選択します。詳しくは、サブスクリプションと税金をご覧ください。
「(オプション)」価格の説明を入力します。この説明は顧客に表示されません。
- 価格を作成するをクリックして、価格を保存します。価格は後から編集できます。
商品および価格をインポートする
商品カタログが非常に大きい場合は、Products API を使用して、カタログをプログラムでインポートします。商品カタログを Stripe にインポートする場合、商品管理システムや CSV ファイルなど、任意の開始データソースを使用できます。
システム内の商品ごとに Stripe 内の商品を作成するには、Product (商品) API を使用します。システム内の商品を Stripe 内の商品にマッピングするには、インポートする各商品に一意の id を割り当てます。Price (価格) API を使用して、商品ごとに価格を作成します。新しく作成した価格の id
を忘れずに保存してください。この id
は、システムで商品と価格を使用するときに必要になります。
ダッシュボードを確認するか、API を使用して List all products (すべての商品をリスト) することで、インポートを確認します。
価格を削除する
開発中に、このスクリプトをテストのために複数回実行しなければならないことがあります。同じ商品 ID を使用すると、その ID の商品がすでに存在することを示すエラーが表示されます。まだ商品を使用していない場合は、Stripe ダッシュボードを使用して削除できます。
商品のダッシュボードに移動して、商品を見つけます。
料金体系セクションで、価格の隣にあるオーバーフローメニュー () をクリックして、料金を削除を選択します。
ページの上部にあるオーバーフローメニュー () をクリックして、商品を削除を選択します。
商品と価格を同期する
インポートは複数回実行しなければならないことがあります。インポートをテストするためのスクリプトを作成し、必要に応じて元のデータソースを Stripe と同期することができます。スクリプトのべき等性とエラーに対する回復力を確保するために、最初に商品が問題なく作成されることを試してみて、商品がすでに存在する場合は更新します。
商品カタログと Stripe との同期を維持するには、Webhook またはその他のメカニズムを使用して、Stripe で商品の更新をトリガーします。プログラムで商品を更新するには、次のパターンを使用します。
最初に、List all prices (すべての価格をリスト) API を使用して、商品に関連付けられている既存の価格を見つけ、価格がデータソースと一致していることを確認します。各商品には有効な価格が 1 つだけ設定されている必要があります。
次に、価格の小数点以下の金額が変更されているかどうかを確認します。unit_
フィールドには、単価がセント単位で表示されます。
金額が一致しない場合は、新しい価格を作成する必要があります。新しい価格を作成する際、元の商品の product
ID、currency
、および更新後の unit_
価格を指定します。
最後に、以前の価格を更新して、active=false
とマークします。
商品と価格を使用する
これで、Stripe に商品と価格を用意できたため、組み込みで使用できます。