# 2 者間の承認を設定する

特定の機密アクションには、2 者間の承認が必要です。

Approvals を使うと、管理者は機密性の高いアクションが有効になる前に、別の担当者によるレビューを必須にできます。ルールは、Dashboard、CLI、または MCP を通じて操作する人間のユーザーと、API、CLI、または MCP を通じて[エージェントタグ付き API キー](https://docs.stripe.com/keys.md#agent-keys)を使用する自律エージェントに適用されます。

アクションが承認ルールをトリガーすると、そのアクションは一時停止され、承認リクエストが作成されます。指定されたレビュー担当者はリクエストを承認または拒否します。承認されたアクションは自動的に完了し、拒否されたアクションは変更されずに破棄されます。

## サポートされるアクション

以下のアクションの承認を必須にできます:

- 銀行口座が追加または更新された場合
- 銀行口座が削除された場合
- 決済インテントが作成された場合
- 請求書が作成された場合
- 返金が作成された場合
- サブスクが作成された場合
- サブスクがキャンセルされた場合

## 承認ルールの作成

1. **設定** > [承認](https://dashboard.stripe.com/settings/approvals/rules)に移動します。
1. **ルールを作成**をクリックして、承認をトリガーするアクションを選択します。
1. オプションで、 **条件を追加** をクリックして、1 つ以上のトリガー条件を追加します。たとえば、金額がしきい値を超えた場合にのみ払い戻しの承認を要求します。複数の条件を追加する場合は、`and` または `or` で組み合わせるかどうかを選択できます。
1. 制御を設定します。
   - **承認が必要**: レビュー担当者が承認するまで、アクションは一時停止されます。
   - **ブロック**: アクションは直ちに拒否されます。
1. **リクエストをレビューできるユーザー** を選択します。対象は、特定のチームメンバー、または Administrator または Super Administrator ロールを持つユーザーです。
1. 必要に応じて、ルールの **名前** を入力します。
1. **有効化** をクリックするとルールが保存され、すぐに有効になります。非アクティブなまま保存するには、**変更を保存** をクリックします。

ルールは承認の設定ページからいつでも有効化、無効化、または削除できます。特定のアクションに適用できる有効なルールは 1 つだけです。

## 2 者間の承認を必要とする API リクエストを処理する

エージェントタグ付きの API キーが承認ルールをトリガーするアクションを試行すると、Stripe はリクエストをブロックし、保留中の `approval_request` オブジェクトを含む `approval_required` エラーを返します。エージェントは、その後の対応方法を判断する必要があります。

### エラーの受信

```bash
stripe refunds create \
  --charge=ch_1NirD82eZvKYlo2CIvbtLWuY
```

```json
{
  "error": {
    "code": "approval_required",
    "type": "invalid_request_error",
    "message": "This action requires approval before it can be completed. An approval request (apreq_test_61UTlnIc6qlJSHVBD16TkRqlEkSQ55yeUApuueFJIDCS) has been automatically generated but has not been submitted. To proceed, submit the request for review via POST /v2/core/approval_requests/apreq_test_61UTlnIc6qlJSHVBD16TkRqlEkSQ55yeUApuueFJIDCS/submit — if approved, it will automatically execute.",
    "approval_request": {
      "id": "apreq_test_61UTlnIc6qlJSHVBD16TkRqlEkSQ55yeUApuueFJIDCS",
      "object": "approval_request",
      "action": "create_refund",
      "status": "pending",
      "dashboard_url": "https://dashboard.stripe.com/approval_requests/apreq_test_61UTlnIc6qlJSHVBD16TkRqlEkSQ55yeUApuueFJIDCS",
      "expires_at": "2026-03-10T19:00:00Z"
    }
  }
}
```

### リクエストに応答する

エージェントはリクエストを送信して手動レビューを求めるか、アクションが必要ない場合は無視できます。送信されたリクエストは、ダッシュボードの **設定 > 承認 > [リクエスト](https://dashboard.stripe.com/settings/approvals/requests)** に表示されます。送信されていない承認リクエストは、24 時間後に自動的に期限切れになります。

> エージェントのタグ付き API キーは、承認リクエストを送信するために `approval_requests.write` 権限が必要です。

リクエストを送信するには。

```curl
curl -X POST https://api.stripe.com/v2/core/approval_requests/apreq_1R4kXn2eZvKYlo2C/submit \
  -H "Authorization: Bearer <<YOUR_SECRET_KEY>>" \
  -H "Stripe-Version: 2026-04-22.preview" \
  --json '{
    "reason": "Customer support request for Jenny Rosen"
  }'
```

## 承認リクエストの確認

指定審査者は、ダッシュボードの[リクエストページ](https://dashboard.stripe.com/settings/approvals/requests)でリクエストを承認または拒否できます。フィルターを使用してステータス別のリクエストを表示し、リクエストをクリックして詳細を確認し、応答します。

リクエストが承認されると、アクションは自動的に完了します。リクエストが拒否されても、変更は行われません。ユーザーは自分のリクエストを承認できません。

## 承認アクティビティの監視

承認イベントは、**設定** > **チームとセキュリティ**の[セキュリティ履歴](https://dashboard.stripe.com/settings/security_history)に表示されます。以下のイベントがログに記録されます。

- 承認ルールの作成、更新、有効化、無効化、または削除
- 承認リクエストが作成されました
- 承認リクエストが承認または拒否されました

承認が必要だった API リクエストを[ワークベンチのログ](https://dashboard.stripe.com/workbench/logs)から確認することもできます。API リクエストをクリックして表示します。

## Webhook とイベント

承認依頼は非同期で審査されるため、承認依頼が承認された (`v2.core.approval_request.approved`) か、拒否された (`v2.core.approval_request.rejected`) ときのイベントをリッスンする Webhook を作成できます。承認依頼の審査が不要になった場合はキャンセルできます。その場合、`v2.core.approval_request.canceled` イベントが生成されます。

承認後、リクエストは自動的に実行され、`v2.core.approval_request.succeeded` または `v2.core.approval_request.failed` のいずれかのイベントが送信されます。

## See also

- [API キー](https://docs.stripe.com/keys.md)
- [ユーザーロール](https://docs.stripe.com/get-started/account/teams/roles.md)
