コンテンツにスキップ
アカウントを作成
または
サインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成
サインイン
始める
支払い
売上
プラットフォームおよびマーケットプレイス
資金管理
開発者向けのツール
概要
バージョン管理
変更ログ
API バージョンのアップグレード
SDK バージョンをアップグレードする
開発者向けのツール
SDK
API
テスト
ワークベンチ
イベントの送信先
ワークフロー
Stripe CLI
Stripe Shell
開発者ダッシュボード
エージェントツールキット
LLM を使用した構築Visual Studio Code をご利用の場合Stripe 健全性アラートファイルのアップロード
Security and privacy
セキュリティ
プライバシー
Stripe を拡張する
Stripe Apps
    概要
    始める
    アプリを作成する
    Stripe アプリの仕組み
    サンプルアプリ
    アプリを構築する
    シークレットを保存
    API 認証方法
    認証フロー
    サーバー側のロジック
    イベントのリッスン
    さまざまな環境を処理
    サンドボックスのサポートを有効にする
    アプリの設定ページ
    UI を構築する
    アカウント登録
    アプリを配布する
    配布オプション
    アプリをアップロード
    バージョンとリリース
    アプリをテストする
    アプリを公開する
    自分のアプリを宣伝する
    ディープリンクを追加する
    インストールリンクを作成
    UI 拡張機能で役割を割り当て
    インストール後のアクション
    アプリのアナリティクス
    アプリの埋め込みコンポーネント
    サードパーティーの Stripe アプリを埋め込む
    Stripe Apps に移行
    拡張機能を移行または構築
    Stripe Apps または Stripe Connect にプラグインを移行
      プラグインを OAuth アプリに移行
      プラグインを RAK アプリに移行
      レガシーのプラグイン
    参照情報
    アプリマニフェスト
    CLI
    拡張 SDK
    権限
    ビューポート
    設計パターン
    コンポーネント
Stripe のコネクター
パートナー
Partner Ecosystem
パートナー認定
ホーム開発者向けのツールStripe AppsMigrate a plugin to Stripe Apps or Stripe Connect

レガシーのプラグイン非推奨

レガシーのプラグインが Stripe の要件を満たしていることを確認します。

非推奨

プラグインの実装パターンは非推奨になりました。そのため、ユーザーからシークレット API キーをリクエストできなくなりました。

Stripe Apps は、ユーザーを認証するための新しい方法であり、制限付きの API キーと OAuth 2.0 の両方に対するサポートが含まれています。詳細については、移行ドキュメントをご覧ください。

プラグインとは

プラグインは、サードパーティーソリューションと Stripe の間の実装であり、ユーザーはシークレット API キーで認証する必要があります。プラグインは通常、API コールを実行するか、ユーザーの代わりに Stripe API イベントに応答することで、Stripe API と対話します。プラグインは多くの場合、WordPress での決済の受け付けなど、Stripe が他のソフトウェアと対話するためのコードを実行します。また、オープンソースライブラリやウェブサイトビルダーなど、他の形式の場合もあります。

レガシーのプラグインのベストプラクティス

注

Stripe Insiders コミュニティーに参加して、貴社で構築済みの Stripe システムに影響を与える最新のプロダクトの変更を把握してください。

次のベストプラクティスに従って、ユーザーが、API のアップグレードや変更に戸惑うことなく、Stripe のプラットフォームで安全に処理できるようにします。ご不明な点につきましては、plugins@stripe.com までお問い合わせください。

  • Stripe アカウントを作成するか、既存のアカウントを使用してプラグインを登録する
  • setAppInfo と registerAppInfo を使用してプラグインを識別し、Stripe が確認した潜在的な問題について警告できるようにする
  • プラグインで Stripe の API バージョンを設定して、ユーザが変更を破壊する可能性を回避する
  • クライアント側のトークン化を使用して、ブラウザで支払いの詳細を安全に収集する

以下のいくつかのステップを実行することで、コネクターの品質を向上させることもできます。

  • Express Checkout Element を追加して、Apple Pay、Google Pay、Link、PayPal など、複数のワンクリックの支払いボタンを顧客に提供します
  • クレジットカード以外の複数の支払い方法を有効にして、海外のユーザに対応する
  • セキュリティを強化するためにユーザが HTTPS を有効にしていることを確認する
  • Stripe のメーリングリストに登録して、Stripe の API の変更と歩調を合わせる

注

Stripe パートナーになって、プラットフォームへの機能の追加を望む Stripe ユーザーの企業を相手にするビジネスを開始しませんか。

プラグインを識別する

コネクターの問題や API への重要な更新について Stripe からお客様に連絡できるように、識別情報を提供します。

バックエンドの API コール

サーバ側のリクエストの作成に API を使用する場合は、次のオプションを含むハッシュを指定して setAppInfo を使用します。

  • name (必須): お客様のプラグイン名
  • partner_id (Stripe 認定パートナーは必須、それ以外の場合はオプション): ダッシュボードのパートナーセクションにあるパートナー ID
  • version (オプション): お客様のプラグインのバージョン
  • url (オプション): プラグインの Web サイトの URL と連絡先の詳細
Ruby
Stripe.set_app_info( 'MyStripePlugin', partner_id:
'{{PARTNER_ID}}'
, # Used by Stripe to identify your connector version: '1.2.34', url: 'https://example.com' )

注意

コネクターが特定のプラットフォーム専用として設計されている場合は、そのプラットフォームを name フィールドに含めてください (WordPress MyStripePlugin や WooCommerce MyStripePlugin など)。

コネクターの構築に Stripe 公式ライブラリのいずれも使用していない場合は、Stripe API に対するリクエストの User-Agent ヘッダーの値を name/version (url) に設定してください。

以下に例を挙げます。

User-Agent: WordPress MyStripePlugin/1.2.34 (https://example.com)

クライアント側 / Stripe.js

Stripe.js を使用するフロントエンドのライブラリでは、上記の setAppInfo と同じオプションを指定して registerAppInfo を使用します。たとえば、JavaScript を使用する場合は、以下のとおりです。

stripe.registerAppInfo({ name: "MyOSSLibrary", partner_id:
'{{PARTNER_ID}}'
, // Used by Stripe to identify your connector version: "1.2.34", url: "https://example.com", });

API バージョンを設定する

お客様のプラグインでは、すべてのリクエストに Stripe-Version HTTP ヘッダーを設定する setApiVersion 関数を使用する必要があります。お客様のユーザは独自の API キーを使用して Stripe にアクセスしますが、このヘッダーがすべてのリクエストに含められます。API は最新の公開バージョンを使用することをお勧めします。現行の API バージョンとバージョン管理ポリシーの詳細については、API リファレンスをご覧ください。

Ruby
Stripe.api_key =
'sk_test_BQokikJOvBiI2HlWgH4olfQ2'
Stripe.api_version = '2022-08-01'

新しい Stripe ユーザーには、自動的に最新バージョンの API がデフォルト設定されます。このヘッダーにより、コネクターが特定の API バージョンに固定され、時折発生する下位互換性のない変更によってコネクターの機能が損なわれるのを防ぎます。

ユーザーは、Stripe ダッシュボードを使用して、各自の API バージョンをアップグレードできます。お客様のコネクターが Webhook イベントを利用している場合、それらのデータ形式と構造はユーザーのアカウント API バージョンによって異なります。ユーザーに対して、ダッシュボードでバージョンを設定してお客様のプラグインと一致させるように、指示する必要があります。

注意

API バージョンはダウングレードできません。 JSON レスポンスへの変更を正しく処理するには、新しいバージョンのコネクターを定期的にリリースする必要があります。

更新用メーリングリストに登録する

Stripe では、新しい Stripe API バージョンを定期的にリリースして新機能やバグ修正を導入しています。api-announce をメーリングリストに登録しておくことで、コネクターのユーザーにも影響が及ぶ可能性のある更新の通知を受け取ることができます。

支払い情報を安全に収集する

Stripe ユーザーは、PCI への準拠を求められます。PCI ではクレジットカードデータを安全に保存、処理、および送信する方法が指定されています。Stripe ユーザーのビジネスは、コンプライアンス違反や潜在的な不履行に対して厳しい罰則を受ける場合があるため、Stripe で安全に処理できるように支援することが重要になります。

コネクターは Stripe ユーザーに代わって API コールを行うため、「クライアント側のトークン化」を使用してクレジットカードデータを安全に送信する必要があります。顧客は、ウェブブラウザーやモバイルアプリを介して直接 Stripe に個人情報を提供し、それと引き換えに単純なトークンが Stripe ユーザーに送信されます。これにより、機密データがサーバーを介することなく、ユーザーはカードの詳細情報を安全に収集できます。

コネクターにブラウザーのクライアント側の決済フォームが含まれている場合は、Stripe.js と Elements または Checkout のいずれかの使用をお勧めします。

  • Elements は構築済みの UI コンポーネントを提供し、支払いフォームのデザインを制御します
  • Checkout は完全な決済機能を提供し、Stripe ユーザの Web サイトへの追加も容易です。

上記のオプションは両方とも、クライアント側のトークン化を提供します。

プラグインがバックエンド環境でのみ動作する場合は、Elements または Checkout を使用して支払いの詳細をトークン化するようにユーザーに求めるメモをコネクターのドキュメントに追加してください。トークン化により、Stripe ユーザーはプラットフォーム上で可能な限り安全に処理を行うことができます。

Express Checkout Element を追加する

Express Checkout Element を使用すると、一度の導入で、Apple Pay, Google Pay、Link、PayPal などのワンクリックの支払いボタンによる決済を受け付けることができます。

Express Checkout Element では、同時に複数のボタンを表示できます。顧客のデバイスとブラウザーの組み合わせに応じて、異なる支払いボタンが表示されます。

複数の支払い方法を有効化する

Stripe は、クレジットカード以外にも複数の支払い方法に対応しています。用語、主な考慮事項、および Stripe プラットフォームでの各方法の対応状況を紹介する支払い方法ガイドを公開しています。

Payment Methods API を使用すると、ユーザーは追加の支払い方法 (Alipay、iDEAL、Sofort など) で支払いを回収できます。これらの支払い方法は、1 つの組み込みパスを使用して追加できます。

HTTPS の有効化を確認する

プラグインで決済フォームがウェブブラウザーに表示される場合は、フォームが HTTPS を介して表示されることを確認する必要があります。Stripe では HTTPS を有効化するように要求しています。ユーザーが適切に保護されていない場合は、ユーザーにわかりやすくエラーを表示する必要があります。

ユーザが HTTPS を有効化しているかどうかを確認する例を以下にいくつか紹介します。

Ruby
# This example uses Sinatra, but the `request` object is provided by Rack require 'sinatra' get '/' do if !request.https? # Present an error to the user end # ... end

コネクターにフロントエンドコンポーネントがある場合は、ブラウザーから HTTPS が使用されているかどうかを確認します。たとえば、JavaScript を使用する場合は、以下のとおりです。

// This example checks for HTTPS from the browser if (window.location.protocol !== "https:") { // Present an error to the user }
このページはお役に立ちましたか。
はいいいえ
お困りのことがございましたら 、サポートにお問い合わせください。
早期アクセスプログラムにご参加ください。
変更ログをご覧ください。
ご不明な点がございましたら、お問い合わせください。
LLM ですか?llms.txt を読んでください。
Powered by Markdoc