Stripeをデータパイプラインソースとして設定
Stripeをデータパイプラインソースとして設定し、支払い、請求、財務レコードを宛先に抽出します。 このガイドでは、Stripe APIキーの生成、コネクションの設定、パイプラインの構成、オブジェクトの追加、同期動作の確認、既知の制限事項の把握を行います。
サポートされている機能
Stripeをパイプラインソースとして使用する場合、次の機能がサポートされます:
- クラウド接続:
https://api.stripe.comを通じてHTTPS経由でStripeに接続します。 オンプレミスエージェントは不要です。 - ライブモードとテストモード: 対応するシークレットキーを指定して、ライブモードまたはテストモードのデータに接続します。 Workatoは各モードを別々のEnvironmentとして扱います。
- 完全更新と増分同期: 完全更新モードと増分同期モードをサポートします。 増分同期では、Stripe Events APIとリストエンドポイントのカーソルベースのページネーションを組み合わせて使用します。 詳細については、同期モードを参照してください。
- オブジェクトレベルの選択: 宛先内の個別のテーブルとして同期するStripeオブジェクトを選択します。 完全なリストについては、サポートされているオブジェクトを参照してください。
- ソフト削除の追跡: Stripeイベントを通じてサポートされているオブジェクトの削除を検出し、宛先内の削除済みレコードにソフト削除フラグを付けます。
- スキーマドリフトの検出と処理: 新しいフィールドを自動同期でスキーマの変更を自動的に検出して適用するか、新しいフィールドをブロックでスキーマを固定します。
- フィールドレベルのデータ保護: 機密フィールドをそのままレプリケートするか、宛先に到達する前にハッシュ化します。
- 構成可能な同期頻度: 時間ベースの間隔またはcron式を使用して同期をスケジュールします。 サポートされる最小間隔は15分です。
前提条件
Stripeをデータパイプラインソースとして接続する前に、次の要件を満たしてください。
- ライブモードまたはテストモードのStripeアカウント
- 選択した認証方法の認証情報:
- APIキー: 同期する予定のリソースに対する読み取り権限を持つStripe APIシークレットキー、およびそれを生成するためのStripeダッシュボードへのアクセス。 設定手順については、Stripe APIキーを生成を参照してください。
- 認可コードグラント: サードパーティアプリケーションを認可する権限を持つStripeアカウントユーザー。
必要な権限
APIキー認証を使用する場合、Workatoでは、同期する予定のリソースにスコープ設定された読み取り専用権限を持つ制限付きAPIキーを推奨します。 制限付きキーは、データ抽出の最も安全なオプションです。 アカウントで特定のリソースに必要な場合にのみ、標準のシークレットキーを使用してください。
Stripe APIキーを生成
APIキー認証でStripeに接続する場合は、Workatoでコネクションを作成する前にStripeダッシュボードでキーを生成します。 認可コードグラントで接続する場合は、このセクションをスキップしてください。
Stripeダッシュボードにサインインし、同期する予定のデータに一致するモード(ライブまたはテスト)を選択します。
設定 > 開発者 > APIキーを管理に移動します。
APIキーを管理
制限付きキーセクションを見つけ、制限付きキーを作成をクリックします。
制限付きキーを作成
Stripeからキーの使用方法を尋ねられたら、このキーをサードパーティアプリケーションに提供するを選択し、続行をクリックします。
名前フィールドにキーの名前を入力します。 例: Workato Data Pipeline。
キーの詳細を入力
URLフィールドにhttps://www.workato.comを入力します。
このキーの権限をカスタマイズを選択し、続行をクリックします。 Stripeにより、サードパーティアプリケーション用のデフォルト選択が設定された権限グリッドが開きます。
各リソースタイプを確認し、同期する予定のオブジェクトに対応するすべてのリソースについて権限を読み取りに設定します。 使用しないリソースはなしに設定します。 Workatoデータパイプラインはデータの抽出のみを行うため、どのリソースにも書き込みを付与しないでください。
リソース権限をカスタマイズ
Workatoオブジェクトにマッピングされる権限カテゴリの完全なリストについては、推奨権限を参照してください。
Create key(キーを作成)をクリックします。
生成されたキーをコピーし、安全な場所に保管します。 Workatoコネクションを作成するには、この値が必要です。
制限付きキーは、ライブモードではrk_live_、テストモードではrk_test_で始まります。 ライブモードのキーは作成後にダッシュボードでマスクされるため、すぐにキーをコピーして保管してください。
キーのモードは目的のEnvironmentと一致している必要があります
ライブモードキーはライブデータを返します。 テストモードキーはテストデータを返します。 2つのEnvironmentはデータを共有しません。 接続する前に、キーのプレフィックスが同期する予定のEnvironmentと一致していることを確認してください。
推奨権限
サポートされているStripeオブジェクトを同期するには、Stripeの権限グリッドで次のリソースカテゴリに読み取り権限を付与します:
| Stripe権限カテゴリ | Workatoオブジェクト |
|---|---|
| 残高トランザクションソース | BalanceTransactions |
| 請求と返金 | Charges, Refunds |
| クーポン | Coupons |
| クレジットノート | CreditNotes |
| 顧客 | Customers, Cards, BankAccounts |
| 不審請求の申請 | Disputes |
| イベント | Events |
| 請求書 | Invoices, InvoiceLineItems, InvoiceItems, InvoiceTaxRates, InvoiceDiscounts |
| 支払いインテント | PaymentIntents |
| 支払い方法 | PaymentMethods |
| 入金 | Payouts |
| 製品 | Products, Prices, Plans |
| プロモーションコード | PromotionCodes |
| Setup Intents | SetupIntents, SetupAttempts |
| サブスクリプション | Subscriptions, SubscriptionItems, SubscriptionHistory, SubscriptionDiscounts, UsageRecordSummaries |
| 税率 | TaxRates |
| 送金 | Transfers |
ユースケースに基づいて、その他のカテゴリの権限を構成します。
サポートされるコネクションタイプ
Stripeデータパイプラインは、次の2つの認証方法をサポートしています:
- APIキー: Stripeダッシュボードから生成された制限付きまたは標準のシークレットキーを指定します。 Workatoでは、データパイプラインにこの方法を推奨します。 設定手順については、Stripe APIキーを生成を参照してください。
- 認可コードグラント: StripeアカウントからWorkatoアクセスを認可し、OAuth 2.0を通じて接続します。 事前に認証情報は必要ありません。
Stripeに接続
Stripeをデータパイプラインソースとして接続するには、次の手順を実行します。
Stripeに接続
パイプラインの設定
Stripeをデータパイプラインソースとして構成するには、次の手順を実行します:
作成 > データパイプラインを選択するか、C+Iを押します。
データパイプライン名フィールドにデータパイプラインの名前を入力します。
データパイプライン設定
ロケーションドロップダウンメニューを使用して、データパイプラインを保存するプロジェクトを選択します。
ビルドを開始をクリックします。
ソースアプリから新規/更新済みレコードを抽出トリガーをクリックします。 このトリガーは、パイプラインがStripeからデータを取得する方法を定義します。
ソースアプリから新規/更新済みレコードを抽出トリガーを設定
接続済みソースアプリドロップダウンメニューを使用してStripeを選択します。
このパイプラインで使用する予定のStripeコネクションを選択します。 または、+ 新規コネクションをクリックして新しいコネクションを作成します。
オブジェクトを追加をクリックして、新しいオブジェクトを追加パネルを開きます。
オブジェクトを追加
利用可能なStripeオブジェクトのリストを検索または参照し、同期する予定のオブジェクトを選択して、追加をクリックします。
選択した各オブジェクトのスキーマを確認してカスタマイズします。 オブジェクトを選択すると、パイプラインはそのスキーマを自動的に取得し、宛先がソースと一致するようにします。
任意のオブジェクトを展開して、そのフィールドを表示します。 使用可能なすべてのデータを抽出するにはすべてのフィールドを選択したままにし、データ抽出とスキーマレプリケーションから除外するには特定のフィールドの選択を解除します。
任意です。 オブジェクトを展開し、各フィールドの処理方法を選択して、フィールドレベルのデータ保護を設定します。
- そのまま複製: ソースのデータ値が宛先に同一に複製されます。
- ハッシュ: 宛先に同期する前に、フィールド内の機密データ値をハッシュ化します。
Workatoでは、個人を特定できる情報(PII)やその他の機密フィールドをハッシュ化することを推奨します。 PIIが一般的に含まれるフィールドのリストについては、機密データの処理を参照してください。
さらにオブジェクトを追加するには、もう一度オブジェクトを追加をクリックします。 この手順を繰り返して、パイプラインに追加のStripeオブジェクトを含めます。
スキーマ変更の処理方法を選択ドロップダウンメニューを使用して、スキーマドリフトの処理オプションを選択します。
- 新しいフィールドを自動同期: ソースに追加された新しいフィールドを自動的に検出して同期します。
- 新しいフィールドをブロック: パイプラインの開始後、スキーマを固定します。 新しいフィールドは手動で追加する必要があります。
頻度フィールドで、パイプラインがStripeから宛先にデータを同期する頻度を構成します。 標準の時間ベースのスケジュールを選択するか、カスタムcron式を定義します。
サポートされるオブジェクト
Stripeデータパイプラインは、Stripe REST APIリソースからデータを同期します。 次の表は、サポートされているオブジェクトをカテゴリ別に示しています。 各オブジェクトは、宛先内の個別のテーブルとして同期されます。
コア支払いオブジェクト
| オブジェクト | 同期モード | 増分メカニズム | 削除追跡 |
|---|---|---|---|
Customers | 完全更新、増分 | createdカーソルとcustomer.*イベント | はい(ソフト) |
Charges | 完全更新、増分 | createdカーソルとcharge.*イベント | いいえ |
PaymentIntents | 完全更新、増分 | createdカーソルとpayment_intent.*イベント | いいえ |
PaymentMethods | 完全更新、増分 | payment_method.*イベント | いいえ |
SetupIntents | 完全更新、増分 | setup_intent.*イベント | いいえ |
SetupAttempts | 完全更新、増分 | 親SetupIntentイベントを通じて | いいえ |
請求とサブスクリプション
| オブジェクト | 同期モード | 増分メカニズム | 削除追跡 |
|---|---|---|---|
Invoices | 完全更新、増分 | invoice.*イベント | はい(ソフト) |
InvoiceLineItems | 完全更新、増分 | 親イベントを通じて | いいえ |
InvoiceItems | 完全更新、増分 | invoiceitem.*イベント | はい(ソフト) |
Subscriptions | 完全更新、増分 | customer.subscription.*イベント | はい(ソフト) |
SubscriptionItems | 完全更新、増分 | 親イベントを通じて | いいえ |
SubscriptionHistory | 追加専用 | customer.subscription.*イベント | 該当なし |
Products | 完全更新、増分 | product.*イベント | はい(ソフト) |
Prices | 完全更新、増分 | price.*イベント | はい(ソフト) |
Plans | 完全更新、増分 | plan.*イベント | はい(ソフト) |
Coupons | 完全更新、増分 | coupon.*イベント | はい(ソフト) |
PromotionCodes | 完全更新、増分 | promotion_code.*イベント | いいえ |
CreditNotes | 完全更新、増分 | credit_note.*イベント | いいえ |
UsageRecordSummaries | 完全更新のみ | 実行ごとに再取得 | いいえ |
財務照合
| オブジェクト | 同期モード | 増分メカニズム | 削除追跡 |
|---|---|---|---|
BalanceTransactions | 完全更新、増分 | createdカーソル | いいえ |
Payouts | 完全更新、増分 | payout.*イベント | いいえ |
Refunds | 完全更新、増分 | refund.*イベント | いいえ |
Disputes | 完全更新、増分 | charge.dispute.*イベント | いいえ |
Transfers | 完全更新、増分 | transfer.*イベント | いいえ |
税金と割引
| オブジェクト | 同期モード | 増分メカニズム | 削除追跡 |
|---|---|---|---|
TaxRates | 完全更新、増分 | tax_rate.*イベント | いいえ |
InvoiceTaxRates | 完全更新、増分 | 親Invoiceイベントを通じて | いいえ |
InvoiceDiscounts | 完全更新、増分 | 親Invoiceイベントを通じて | いいえ |
SubscriptionDiscounts | 完全更新、増分 | 親Subscriptionイベントを通じて | いいえ |
アカウントとイベント
| オブジェクト | 同期モード | 増分メカニズム | 削除追跡 |
|---|---|---|---|
Accounts | 完全更新 | 実行ごとに全体を再インポート | いいえ |
Events | 追加専用 | createdカーソル | 該当なし |
支払い方法の詳細
| オブジェクト | 同期モード | 増分メカニズム | 削除追跡 |
|---|---|---|---|
Cards | 完全更新、増分 | 親Customerイベントを通じて | いいえ |
BankAccounts | 完全更新、増分 | 親CustomerまたはAccountイベントを通じて | いいえ |
Stripe Issuing
次のオブジェクトは、アカウントでStripe Issuing製品を使用している場合にのみ同期されます:
| オブジェクト | 同期モード | 増分メカニズム | 削除追跡 |
|---|---|---|---|
IssuingCards | 完全更新、増分 | issuing_card.*イベント | いいえ |
IssuingCardholders | 完全更新、増分 | Stripe Issuingイベント | いいえ |
IssuingTransactions | 完全更新、増分 | createdカーソル | いいえ |
同期モード
Stripeデータパイプラインは、完全更新と増分同期をサポートしています。 同期モードは、パイプラインに追加するときにオブジェクトごとに設定されます。
完全更新
完全更新同期では、選択したオブジェクトについてStripeから利用可能なすべてのレコードを読み取り、宛先テーブルを上書きします。 実行ごとに完全なスナップショットが必要なオブジェクトには、完全更新を使用します。
増分同期
増分同期では、最後に成功した実行以降に変更されたレコードのみが抽出されます。 Workatoは、イベントを発行するオブジェクトの作成、更新、削除を検出するためにStripe Events APIを使用します。 更新イベントを発行しないオブジェクトについては、Workatoはcreatedタイムスタンプを増分カーソルとして使用して新しいレコードを抽出します。
各オブジェクトの増分メカニズムを確認するには、サポートされているオブジェクトの表を参照してください。
削除追跡
ソフト削除追跡をサポートするオブジェクトについて、WorkatoはStripeからの*.deletedイベントをリッスンし、宛先行を物理的に削除するのではなく、ソフト削除フラグ(is_deleted = true)を設定します。 削除追跡をサポートするオブジェクトを確認するには、サポートされているオブジェクトの表を参照してください。
Stripeは、すべてのオブジェクトタイプに対して削除イベントを発行するわけではありません。 削除追跡のないオブジェクトは、宛先に最後に確認された状態を保持します。
スキーマとデータ型の処理
Stripeからデータを同期する場合、スキーマとデータ型には次の考慮事項が適用されます。
金額
Stripeでは、すべての金額が該当通貨の最小通貨単位の整数として保存されます。 たとえば、1000はUSDでは$10.00、JPYでは¥1,000を表します。 Workatoは、これらの値を宛先で整数として保持します。 Workatoは通貨換算を実行しません。
JPYやKRWなどの小数なし通貨は、小数通貨とは異なる動作をします。 JPYの値100は¥1ではなく¥100を表します。 小数なし通貨のリストについては、Stripeの通貨ドキュメントを参照してください。
タイムスタンプ
Stripeは、タイムスタンプをUnixエポック整数として返します。
メタデータフィールド
ほとんどのStripeオブジェクトには、任意のデータを入力できるJSONキー値マップであるmetadataフィールドが含まれます。 Workatoは、metadataフィールドを宛先のJSON文字列列として保存します。 Workatoは、メタデータキーを個別の列にフラット化しません。
metadataフィールドを含むオブジェクトには、Customer、Charge、Card、Dispute、Invoice、InvoiceLineItem、PaymentIntent、PaymentMethod、Payout、Plan、Price、Refund、Subscription、Transferがあります。
Livemodeフラグ
ほとんどのStripeオブジェクトには、レコードがライブモードとテストモードのどちらに由来するかを示すlivemodeブールフィールドが含まれます。 Workatoは、宛先スキーマでこのフラグを保持します。
合成列
Workatoは、特定のオブジェクトの宛先テーブルに次の合成列を追加します:
| 列 | タイプ | 目的 |
|---|---|---|
_workato_is_deleted | ブール値 | 削除追跡を持つオブジェクトのソフト削除されたレコードではtrueに設定されます。 詳細については、削除追跡を参照してください。 |
_workato_event_created | タイムスタンプ | Workatoが最後に行を更新した時刻を記録します。 増分同期中は、これは更新をトリガーしたStripeイベントのタイムスタンプです。 完全同期中は、これは同期開始時刻です。 親に依存するオブジェクトに適用されます: InvoiceLineItems、SubscriptionItems、SetupAttempts、InvoiceTaxRates、InvoiceDiscounts、SubscriptionDiscounts、Cards、BankAccounts。 |
workato_valid_from | タイムスタンプ | 各SubscriptionHistoryレコードが有効になった時刻を示します。 SubscriptionHistoryを緩やかに変化するディメンションとしてモデル化するために使用されます。 |
主キー列と_workato_is_deletedはnull不可です。 削除追跡対象オブジェクトのその他の列は、主キーと削除フラグのみを含むソフト削除行に対応するため、null可能です。
機密データの処理
Stripeオブジェクトには、大量のPIIや財務データが含まれる場合があります。 次のオブジェクトには、一般的に機密フィールドが含まれます:
| オブジェクト | 機密フィールド |
|---|---|
Customer | name, email, phone, address(請求先と配送先), tax_ids |
Charge | billing_details.name, billing_details.email, billing_details.phone, billing_details.address |
Card | name, address_*フィールド, last4, exp_month, exp_year |
BankAccount | account_holder_name, routing_number, last4 |
PaymentMethod | 請求先の詳細(名前、メール、電話、住所) |
PaymentIntent | receipt_email, description |
Invoice | customer_name, customer_email, customer_address, customer_tax_ids |
Payout | destination(銀行口座またはカードの詳細) |
IssuingCard | number, cvc, last4, exp_month, exp_year, カード保有者参照 |
IssuingCardholder | 氏名、メール、電話、請求先住所、生年月日を含む完全なPII |
Transfer | destinationアカウントの詳細 |
StripeはAPIを通じて公開していないため、顧客の支払い方法(Cardオブジェクト)について、生のカード番号やCVV値を返しません。 プラットフォーム発行カード(IssuingCardオブジェクト)の場合、これらのフィールドが要求されると、Stripeは完全なカード番号とCVVを返します。 Workatoは、これらの値を宛先に渡します。 IssuingCardsを同期する場合は、フィールドレベルのデータ保護でハッシュオプションを使用してnumberフィールドとcvcフィールドをマスクするか、同期から除外するためになしに設定します。
その他のPIIが宛先に到達する前に保護するには、パイプライン構成中にフィールドレベルのデータ保護でハッシュオプションを使用します。 詳細については、パイプラインを構成手順を参照してください。
制限事項
Stripeをデータパイプラインソースとして使用する場合、次の制限事項が適用されます。
Events APIの30日間の保持
Stripeはイベントを30日間保持します。 パイプラインカーソルが30日を超えて遅れると、パイプラインはイベントだけではギャップ期間の更新や削除を再構築できません。 カーソルが30日の制限に達する前に、一時停止したパイプラインを再開または再実行してください。 詳細については、同期モードを参照してください。
レート制限
Stripeは、ライブモードでアカウントあたり1秒あたり25リクエストというデフォルトのレート制限を適用します。 テストモードのレート制限は、ライブモード制限の約25%です。 アカウントでより高いレート制限が必要な場合は、Stripe Supportにお問い合わせください。
ページネーション制限
数百万件のレコードを持つアカウントでは、大規模な履歴同期の完了に時間がかかります。
メタデータのみの更新はキャプチャされません
Stripeは、オブジェクトのmetadataフィールドのみが更新された場合、イベントを発行しません。 メタデータのみの変更は増分同期に表示されません。 メタデータのみの変更をキャプチャするには、影響を受けるオブジェクトの完全更新を実行します。
SubscriptionHistoryは追加専用です
SubscriptionHistoryオブジェクトは追加専用の監査ログです。 このオブジェクトを再同期すると、履歴レコードが削除され、現在の状態のみで置き換えられます。 SubscriptionHistoryを再同期しないでください。
Stripe Connectプラットフォームアカウントはサポートされていません
Workatoは、指定したAPIキーのアカウントのデータのみを同期します。 Connectプラットフォームのマルチアカウント同期は現在サポートされていません。
一部のCard列にはStripe Supportによる有効化が必要です
iinやissuerなど、特定のCardオブジェクト列は標準のAPIレスポンスでは返されません。 宛先でこれらの列を利用する前に、Stripe Supportに連絡してアカウントでこれらの列を有効にしてください。
最小同期頻度
サポートされる最小同期間隔は15分です。 これより高い頻度で同期をトリガーすることはできません。
最終更新日:
Stripeコネクションを構成
Stripeコネクションを構成