# Stripe app for Salesforce Platform の設定 Stripe app for Salesforce Platform の設定方法 Salesforce Platform 向け Stripe アプリは、導入要件に応じて複数の方法で設定できます。Flows と Apex を Stripe のアクションとイベントとともに使用して、独自のカスタム導入を構築したり、既存のすぐに使用できる機能を使用して請求導入を実装したりできます。これらの機能には、Stripe カスタムオブジェクトを使用した Salesforce データモデルと、作成および更新操作時に Stripe Billing データを Salesforce にマッピングする専用の同期が含まれます。さらに、サブスクリプション管理テンプレートフローを再利用または拡張して、自動化ワークフローを構築することもできます。 ## アカウントの管理 **アカウント管理** タブでは、Salesforce の Stripe アカウントを Connect および管理します。アカウントを追加すると、次の 2 つのパスを使用できます。 - `All Webhook Events` の Stripe イベントに登録して、Apex でフローまたはカスタムロジックを構築し、Stripe との *「リアルタイム」* の連携を実現します。 - または、アカウントをクリックして **その他** タブに移動し、`Stripe Billing sync` の設定に進みます。このタブには、Stripe Billing データが Salesforce に流れる方法を制御するオプションもあります。 ![](https://b.stripecdn.com/docs-statics-srv/assets/sf_billing_sync_setting_new.d7904464f94d18c60009b96a4ae5a43b.png) ## API 拡張 バージョン `2.4.0` 以降、ライブラリは API バージョン (2025-04-30) をサポートし、以前のバージョン (2022-11-30) からアップグレードします。 インスタンスにアプリを初めてインストールする場合は、(2025-04-30)が自動的に選択されます。以前のバージョンからアップグレードしている場合は、アプリウィザードの**拡張機能**セクションで最新バージョンの拡張機能をレビューし、最新の API 拡張をインストールできます。 ### 影響 これらは別個の API 拡張機能であるため、導入で古い API バージョンが参照されているアクションノードと apex ノードを手動で更新する必要があります。 API バージョン拡張がセットアップに与える影響は次のとおりです。 > 2025-04-30 バージョンでは、複数の API コールアウトに関する制限に対応するため、`performDMLSaveAfterCallouts` が追加されました。このフラグは、すべてのコールアウト完了後にフローがデータベースへの保存処理(例:`Sync_Log__c` レコードの作成や Stripe Billing オブジェクトのアップサート)をコミットするかどうかを制御し、1 つの Salesforce フロー内で複数の API コールを行う際のデータ損失や不整合を防ぎます。 | Salesforce プラットフォームアプリのバージョン | API 拡張バージョン | 予想される影響 | | ---------------------------- | ----------- | --------------------------------- | | バージョン `1.2.6` まで | 2022-11-30 | 影響なし | | バージョン `2.4.0` 以降 | 2022-11-30 | 単一の API コールベースの Salesforce フローに限定 | | バージョン `2.4.0` 以降 | 2025-04-30 | 影響なし | ## 請求書データモデル Stripe Billing Data 機能は、Stripe の請求オブジェクトに包括的な Salesforce データモデルを導入します。これにより、加盟店は主要なサブスクリプション、請求書、決済、商品データを Salesforce 内で直接保存および管理できるようになります。これには、以下の Stripe オブジェクトのカスタムオブジェクト表現が含まれます。 | | | | | 手数料 | クーポン | 顧客 | | 割引 | 請求書および請求書の項目 | 決済手段 | | 価格 | サービス | Subscriptions およびサブスクリプションアイテム | | サブスクリプションフェーズ | サブスクリプションフェーズアイテム | サブスクリプションのスケジュール | これらのカスタムオブジェクトは現在、データモデル以外に、デフォルトで次の Salesforce オブジェクトにマッピングされています。これらのマッピングは、特定のユースケースに基づき拡張または変更できます。 次の Salesforce オブジェクトが Stripe オブジェクトにマッピングされます。 - `PricebookEntry` から `Price` へ - `Account` から `Customer` へ - `Contract` から `Subscription Schedule` へ - `Contract` から `Subscription` へ - `Order` から `Subscription Schedule` へ - `Order` から `Subscription` へ ## Stripe Billing Sync フローと Apex を使用してカスタム導入を構築しない場合は、Stripe Billing Sync を使用して、Stripe から Salesforce にデータを自動的に同期します。この同期は、デフォルトの Salesforce オブジェクトマッピングを使用してデータを送信し、カスタムオブジェクトにマッピングします。同期には 2 つの方法があり、アカウントレベルでは一度に 1 つのみを有効にできます。 リアルタイム同期では、オブジェクトが作成、更新、または変更されると、Stripe Webhook を使用して Stripe Billing で Salesforce のデータを即座に更新します。これを有効にするには、以下のようにします。 1. **アカウント管理** に移動します。 1. Stripe アカウントを選択します。 1. **Stripe Billing Sync** に移動します。 1. **同期タイプ** ドロップダウンから **リアルタイム** を選択します。 1. 機能をオンに切り替えます。 1. デフォルトですべてのオブジェクトを同期するか、監視する特定のオブジェクトを選択するかを選択します。 ![](https://b.stripecdn.com/docs-statics-srv/assets/sf_billing_enable_real_time_sync.249a6ca4f4404770b4f366b2ce83f798.png) 追加の変更を行うには、**同期を更新** オプションをクリックして、既存のイベントから登録を解除するか、新しいイベントに登録します。 ![](https://b.stripecdn.com/docs-statics-srv/assets/sf_billing_update_real_time_sync.a7e7f5b224a309b9a6f66e323d69f37a.png) Webhook ベースのリアルタイム同期とは異なり、Scheduled Recurring Sync を使用して、API の制限を超えることなく Salesforce のデータを最新の状態に保ちます。これは、Salesforce 組織に関連付けられたすべての Stripe アカウントに適用されるグローバル設定です。 有効にするには、以下のようにします。 1. アプリウィザードで、**Stripe Billing** アプリを開きます。 1. **同期の頻度** と **同期の開始時刻** を設定します。 1. グローバルコンフィギュレーションを保存します。 1. 対象の Stripe アカウントを開き、**Scheduled Recurring (継続スケジュール)** を有効にします。 1. 有効にすると、**同期タイプ** の下に **次回の実行時** が表示されます。 > スケジュール設定された定期的な同期は、常に **Stripe Billing** のアプリウィザードで管理します。**Setup > Environment > Jobs > Scheduled Jobs** で値を設定または変更しないでください。グローバル設定では、特定のオブジェクトを選択できません。すべてのオブジェクトが同期されるか、まったく同期されません。 グローバルな Scheduled Recurring Sync 設定に加えて、**Metadata Mappings** と **Custom Field Mappings** を設定して、Stripe メタデータとカスタムフィールドの値を Salesforce オブジェクトにマッピングします。Salesforce 組織でカスタムフィールドを手動で追加して、使用している **Stripe Object** の下に表示する必要があります。 1. **メタデータマッピング** セクションで、**オブジェクトを追加** をクリックします。 1. 必要な **Stripe オブジェクト** を選択し、**Salesforce フィールド** を **Stripe メタデータキー** にマッピングします。 1. **Custom Field Mappings (カスタムフィールドマッピング)** では、現在このオプションは **Stripe Invoice** でのみ使用できます。 ## Stripe Billing データ Salesforce の Stripe Billing Data では、Stripe Billing データを一元的に表示および管理することができます。これには主に、事前定義されたオブジェクトモデルベースの Stripe オブジェクトの同期オブジェクトと Salesforce ページレイアウトが含まれます。このアプリにアクセスするには、アプリランチャーを使用して **Stripe Billing Data** に移動します。 ![](https://b.stripecdn.com/docs-statics-srv/assets/sf_billing_data_app.50688b8b10ba38e049aa12f15bf090ef.png) ## 取引の追跡 この機能は、Salesforce が開始した Stripe 取引にフラグを立てることで重複処理を防止し、結果として生じる Stripe イベントが同期中に無視されるようにします。これらの取引を表示するには、アプリランチャーから **Stripe API 取引** に移動します。ここでは、イベントを生成する Stripe アカウントに関連付けられたべき等キーが表示されます。 > 新しいフローを作成するとき、または既存のパッケージ化されたフローを有効にするときは、取引の重複を防ぐため、べき等キーを必ず含めてください ## サンドボックスと環境の複製を使用する Stripe for Salesforce Platform でサンドボックスを作成するか、本番データをコピーする場合は、選択済みのデータを必ず複製から除外してください。本番環境や他の環境から接続や設定をコピーすることはできません。`stripeGC` オブジェクトを含まないサンドボックステンプレートを使用してください。 Stripe for Salesforce Platform を Salesforce 組織ごとに個別に設定し、Salesforce 組織ごとに設定プロセスを実行します。 ![](https://b.stripecdn.com/docs-statics-srv/assets/SFU_Sandbox_Template.08e0c4b1d657a14b28d5874a67508b58.png) ## 複製にコピーしたデータを削除する StripeGC オブジェクトから新しい Salesforce 組織にデータをコピーする際は、以下のように `Anonymous Apex` スクリプトを実行してデータを削除します。 #### Java ```java delete [SELECT Id FROM stripeGC__Setup_Data__c]; delete [SELECT Id FROM stripeGC__Stripe_Account__c]; delete [SELECT Id FROM stripeGC__Stripe_Event__c]; delete [SELECT Id FROM stripeGC__Stripe_Webhook_Endpoint__c]; delete [SELECT Id FROM stripeGC__Sync_Log__c]; ``` ## 再帰検出 Stripe の Salesforce プラットフォームには、ループで操作が止まることを防ぐためにチェック機能が搭載されています。一連のリソースが別のリソースによる更新を絶えず検出・応答すると、論理ループが発生する可能性があります。たとえば、Stripe の `customer.updated` イベントをリッスンして Salesforce の `Account` を更新するフローがあるとします。一方で、Salesforce の `Account` の更新を検出して、Stripe の顧客を更新する別のフローがあった場合、無制限に続く継続的なループが発生します。 ### 再帰検出の設定 再帰検出には特定のイベントを含めたり除外したりできます。管理者の場合は、再帰検出を設定して、設定内でこれらのイベントを変更できます。 **Recursion Detection Configuration (再帰検出の設定)** には次のステップに従ってアクセスできます。 1. **Setup (設定)** > **Custom Code (カスタムコード)** > **Custom Metadata Types (カスタムメタデータタイプ)** に移動します。 1. **Recursion Detection Configuration (再帰検出の設定)** で、**Manage Records (レコードの管理)** をクリックします。 1. **Default (デフォルト)** の横で、**Edit (編集)** をクリックします。 この設定内で、管理者は **Included Events (含まれるイベント)** または **Excluded Events (除外されるイベント)** を追加できます。 ## 記録保持の設定 レコードとログのクリーンアップを設定するには、Salesforce アプリウィザードで **Retention** を開きます。このセクションを使用して、Salesforce 組織から `Stripe Event` レコードと `Sync Log` レコードを自動的に削除するように設定します。 ![](https://b.stripecdn.com/docs-statics-srv/assets/sfPlatform_record_retention.d24d5238868093ce3e17aeb5b9074c80.png) ## See also - [トレーニング](https://docs.stripe.com/use-stripe-apps/stripe-app-for-salesforce/training.md) - [インストールガイド](https://docs.stripe.com/use-stripe-apps/stripe-app-for-salesforce/installation-guide.md)