WebhookでZapierやMakeなどのアプリに注文を送信する
Webhookを追加すると、Paylyが新しい注文、発送、返金、サブスクリプションを、ZapierやMake、またはWebhookに対応した任意のアプリに送信します。
Webhookは、ストアで起きたイベントを、発生と同時に別のアプリへ送る仕組みです。追加すると、支払い済みの注文がすべてZapierやMakeに届き、そこからGoogle Sheets、Slack、メールリスト、会計アプリなど、数千ものアプリに連携できます。コードは不要です。
Webhookを追加する
- サイトのダッシュボードで、連携をクリックします。
- 自動化の下で、Webhookをオンにします。ポップアップが開きます。

- イベントを選び、アプリから受け取ったWebhookのアドレスを貼り付けて、Webhookを追加をクリックします。
- テストを送信をクリックしてサンプルの注文を送信し、完了をクリックします。

Webhookは追加するとすぐに動作します。公開は不要です。
Zapierに接続する
- Zapierで、Zapを作成します。トリガーにはWebhooks by Zapierを選び、次にCatch Hookを選びます。
- Zapierが表示するWebhookのURLをコピーします。
- Paylyで、注文の支払いのWebhookを追加し、そのURLを貼り付けます。
- テストを送信をクリックします。Zapierに戻って、Test triggerをクリックします。John Smithの注文#9999が、サンプルの注文として表示されます。
- Google Sheetsに新しい行を追加するなど、実行したいアクションを追加し、Order Number、Order Total、Order Customer Emailなどのフィールドをマッピングします。
- Zapを公開します。これで、支払い済みの注文があるたびに実行されます。
Webhooks by ZapierはZapierのプレミアムアプリのひとつのため、Zapierの有料プランが必要です。
Makeに接続する
- Makeで、シナリオを作成します。Webhooks、Custom webhookの順に追加し、Addをクリックして新しいWebhookを作成します。
- Makeが表示するアドレスをコピーします。
- Paylyで、そのアドレスのWebhookを追加し、テストを送信をクリックします。Makeがサンプルを読み取り、フィールドを認識します。
- 必要なモジュールを追加し、フィールドをマッピングして、シナリオをオンにします。
イベント
- 注文の支払い:注文の支払いが完了したとき。サブスクリプションの初回の支払い、毎回の更新、手動で支払い済みとして追加した注文も含まれます。
- 注文の発送:注文を発送済みにしたとき。注文を分けて発送した場合は、発送ごとに送信されます。
- 注文の返金:返金が行われたとき。Paylyで返金した場合も、StripeやPayPalで返金した場合も対象です。一部返金もそのつど送信されます。
- サブスクリプションの開始:サブスクリプションの最初の注文。
- サブスクリプションの更新:最初の支払い以降の、毎回の支払い。
- サブスクリプションの終了:サブスクリプションがキャンセルされた、または期限が切れたとき。終了する当日に送信されます。
Paylyが送信する内容
各イベントはJSON形式で送信されます。すべての注文イベントには、次の情報が含まれます:
- 注文番号(#1000など)、ステータス、支払い日時
- 小計、割引と割引コード、送料、税、合計、返金額(通貨を含む)
- 各商品の名前、SKU、数量、価格、明細の合計
- お客様の名前、メールアドレス、電話番号、配送先住所
- 支払い方法(StripeやPayPalなど)
test_mode:テストモードで行われた注文ではtrueになります
発送のイベントには、配送業者と追跡番号が追加されます。返金のイベントには、これまでの返金合計が追加されます。サブスクリプションのイベントには、プラン、その価格、請求の頻度、次回の更新日が追加されます。テストを送信で送られるサンプルには"test": trueが含まれます。カード番号はStripeとPayPalが管理しているため、Webhookに含まれることはありません。
Webhookが失敗した場合
アプリが応答できる時間は5秒です。応答がない場合やエラーが返された場合、Paylyは約4時間半かけて、さらに最大7回まで再試行します。ポップアップには各Webhookの最近の配信が一覧表示されるので、何が起きたか確認できます。
3件のイベントが続けて、すべての再試行でも配信に失敗した場合、Webhookは一時停止され、連携画面にその旨が表示されます。アドレスを確認してから、再開をクリックします。
Webhookがストアから送られたものか確認する
ZapierとMakeでは必要ありません。独自のアプリを構築する場合、すべてのリクエストにX-Payly-Hmac-Sha256ヘッダーが付いています。これは、ストアの署名シークレットを使い、HMAC-SHA256でリクエスト本文に署名し、base64で表したものです。このシークレットはWebhookのポップアップにあります。受信した生の本文から同じ署名を計算し、2つを比較してください。
X-Payly-Webhook-Idヘッダーは、配信が再試行されても同じ値のままです。そのため、アプリは処理済みのものをスキップできます。