Stripeでオンライン決済や請求書の処理などを行う際、ZapierなどのIPaaSを使うことで、メール送付やkintone / Notionなどへのデータ連携などをノーコードで実現できます。
Zapierの場合は、Stripeと連携するアクションが用意されています。
顧客データやサブスクリプション契約の作成など、複数のアクションをコーディングすることなく実現できます。
サポートされていないAPIや引数を呼び出す方法
しかしビジネスのケースによっては、「ZapierにないAPIリクエスト」が必要になる場合もあります。
その場合は、「Custom Request in Webhooks by Zapier」アクションを利用します。
「Custom Request in Webhooks by Zapier」アクションは、「Professional」プラン以上の契約が必要です。
https://zapier.com/app/pricing
アクションで「Webhooks」を追加する
「Custom Request in Webhooks by Zapier」アクションは、アクション追加時に「Webhooks by Zapier」の名称で検索・選択できます。
Event
でCustom Request
を選択する
このアクションでは、呼び出すAPIのメソッドやURLなどを指定できます。
今回はCustom Request
を選択しましょう。
呼び出したいAPIリクエストを定義しよう
メソッドやURL,パラメータを指定する画面が開きます。
Stripe API DocumentのcURL
に掲載されているリクエストサンプルをもとに、リクエスト内容を設定しましょう。
Data Pass-Throughはfalse
に設定しましょう。
Stripeダッシュボードで、制限付きAPIキーを作成しよう
APIを呼び出すための認証として、StripeのAPIキーを利用します。
システムの開発などでは、「シークレットAPIキー」を利用することが多いですが、今回のケースでは「制限付きAPIキー」をZapier用に発行することをお勧めします。
呼び出したいAPIのアクションだけ許可する形にすることで、万が一Zapierアカウントに不正アクセスがあった場合などでも、Stripeアカウントの情報にアクセスされる可能性のあるエリアを絞り込むことができます。
制限付きキーについてもっと知る
Basic Auth
に制限付きAPIキーを作成しよう
作成したAPIキーの設定は、Basic Auth
で行います。
下のスクリーンショットのように、rk_から始まる制限付きAPIキー|
で入力しましょう。
API呼び出しをテストする
Test action
でAPI呼び出しをテストしましょう。
ここで意図したレスポンスや操作ができていれば、アクション作成が成功しています。
もしAPIがエラーを返していると表示された場合は、Stripeダッシュボードの[開発者 > ログ]でデバッグできます。
Webhookアクションを組み合わせたワークフローの例
次のスクリーンショットのワークフローでは、CheckoutやPayment Linksの注文完了イベントをトリガーに、注文内容をGoogleシートやGmailに共有しています。
この他にも、データのフォーマットアクションやフィルターなどを使うことで、「特定の条件の顧客にのみ、処理を行う」などのワークフローも可能です。
まとめ
Zapierの「Custom Request in Webhooks by Zapier」アクションを使う方法について紹介しました。
このアクションを使って、StripeなどのAPI連携をより柔軟に設定できます。
APIの呼び出し方は、APIドキュメントのcURL
サンプルが参考になります。
ただし、「このアクションを利用するため」および「*3ステップ以上のワークフローを組むため」、Zapierの有料プランを契約する必要がある点に注意しましょう。
また、StripeのAPIキーを安全に運用するため、シークレットAPIキーの代わりに制限付きAPIキーを作成することをお勧めします。