【2026.8月度】Appsアップデート情報

Webhookデータ構造(Apps API)

Webhookで通知されるイベントの共通的なデータ構造と、各種オブジェクトについて解説します。

イベント共通データ構造

すべてのイベントにideventcreate_atが含まれます。modeは通常含まれますが、payment_errorabandonedでは送信されません。

{
  "id": "イベントごとに一意なリクエストID",
  "event": "イベント名",
  "mode": "liveまたはtest(payment_errorとabandonedでは送信されません)",
  "create_at": "イベント発生日時(ISO-8601形式・UTC)"
}

値がnullの項目はキーごと省略されます。受信側ではキーの存在を確認して処理してください。

Webhookで取得できない項目

Webhookには、入会日、退会日、会員ステータス、契約開始日、契約終了日は含まれません。必要な情報がWebhookに含まれるかは、このページの各オブジェクトを確認してください。

同じ通知を複数回受け取る可能性について

リトライや手動再送により、同じイベントが複数回届くことがあります。イベントごとに一意なid、または同じ値を持つApps-Webhook-Idヘッダーで重複を判定してください。署名は送信のたびに変わるため、署名値は重複判定に使用できません。

イベントごとの主な違い

event 主な違い
customer 新しいApps顧客が作成されたとき。customerを含みます。
application 定期払い・毎月払いのみ。contract_idcustomerplanを含みます。
payment トップレベルにcontract_idpayment_idを含みます。
refund 基本構造はpaymentと同じです。payment.refund_idを含み、payment.charge_idは設定されません。
payment_error modecontract_idを含みません。顧客情報はcustomerオブジェクトではなく、emailnameなどがトップレベルに並びます。
abandoned modeを含みません。複数顧客をcart_abandoned_listでまとめて通知します。
canceled 定期払い・毎月払いのみ。決済情報のpaymentは含みません。

顧客情報オブジェクト(customer)

{
  "customer_id": "顧客の一意なID(UUID)",
  "email": "メールアドレス",
  "name": "顧客名(任意)",
  "company": "会社名(任意)",
  "phone_number": "電話番号(E.164形式・任意)"
}

決済情報オブジェクト(payment)

{
  "price": "決済金額(割引適用後)",
  "original_price": "割引適用前の金額(任意)",
  "total_price": "合計金額(任意)",
  "discount": "割引価格の場合true(任意)",
  "coupon": "クーポン名(任意)",
  "quantity": "顧客が選択した個数・1回払いのみ(任意)",
  "installments": "顧客が選択した分割回数・1回払いのみ(任意)",
  "installment_index": "分割払いの何回目か(任意)",
  "platform_id": "決済プラットフォームID",
  "charge_id": "決済プラットフォームの決済ID(任意)",
  "refund_id": "返金イベントの返金ID(任意)",
  "card": "決済時のカード情報(任意)"
}

Appsのpayment_idはこのオブジェクト内ではなく、paymentイベントとrefundイベントのトップレベルに含まれます。Webhook共通のidとは別の値です。

platform_idは、1=Stripe、2=PayPal、4=UnivaPay、8=Stripe Billing、16=Stripe銀行振込、32=UnivaPay銀行振込です。

プラン情報オブジェクト(plan)

{
  "payment_type": "決済タイプ(1: 1回払い, 4: 定期払い, 5: 毎月払い[回数制限付き])",
  "name": "プラン名"
}

Discord連携情報オブジェクト(discord)

{
  "discord_id": "DiscordユーザーID",
  "discord_name": "Discordユーザー名(任意)"
}

LINE連携情報オブジェクト(line)

{
  "line_id": "LINEユーザーID",
  "line_name": "LINEユーザー名(任意)"
}

お届け先情報オブジェクト(shipping)

{
  "name": "お届け先の名前(任意)",
  "address_country": "国(任意)",
  "address_zip": "郵便番号(任意)",
  "address_state": "都道府県(任意)",
  "address_city": "市町村(任意)",
  "address_line1": "住所1(任意)",
  "address_line2": "住所2(任意)"
}

備考欄オブジェクト(remarks)

[
  {
    "name": "備考欄の項目名(任意)",
    "value": "顧客が入力した値(任意)"
  }
]

UTMパラメータオブジェクト(utm)

{
  "utm_source": "google",
  "utm_medium": "cpc",
  "utm_campaign": "spring_sale"
}

utmはオブジェクトの配列ではなく、キーと値のマップです。

Webhookイベントのサンプル

以下は「決済成功(payment)」イベントのWebhook通知例です。

{
  "id": "00000000000000000000000000000001",
  "event": "payment",
  "mode": "live",
  "create_at": "2026-08-04T00:00:00Z",
  "contract_id": "00000000000000000000000000000002",
  "payment_id": "00000000000000000000000000000003",
  "customer": {
    "customer_id": "00000000000000000000000000000004",
    "email": "customer@example.com"
  },
  "payment": {
    "platform_id": 4,
    "price": 1000
  },
  "plan": {
    "payment_type": 4,
    "name": "サンプルプラン"
  }
}

関連情報


Apps APIメニュー

メニュー 説明
API設定方法 アクセストークンの取得やAPI認証方法
APIエンドポイント一覧 顧客情報・決済情報取得のためのAPI仕様
登録ページAPI 登録ページのプラン登録・更新・削除と契約者一覧の取得
Discord連携API Discordのロール・チャンネル管理(カテゴリ指定 parent_id 対応)
APIレスポンスデータ構造 APIから取得できるデータの詳細
共通レスポンス・エラー APIの共通レスポンス形式とエラーコード(400等)の見方
Webhookの設定方法 イベント通知を受け取るためのWebhook設定方法
Webhookデータ構造 Webhookで通知されるデータ形式
サンプルJSONデータ API/Webhookで利用可能なサンプルデータ
API変更履歴 / リリースノート Apps APIの更新、新機能、仕様変更を時系列で確認できます。
サポートコミュニティ 準備中
よくあるご質問 準備中