# エージェント向け Issuing エージェント向けのカード発行方法を学びましょう。 エージェント向け Issuing を使用すると、エージェントが自律的に購入を行うためのバーチャルカードを発行できます。支出管理、リアルタイムのオーソリ判定、取引の完全な可視性を備えています。エージェントが購入を行う前に、何に、どこで、いくら使えるかを決定できます。カードは金融口座を基盤としており、Stripe Issuing API を使用して発行されます。 ## エージェント向け Issuing の製品 エージェント向け Issuing は、以下の Issuing 製品と組み合わせて使用できます。 | 製品 | 説明 | アクセスをリクエスト | | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ | | 自社事業向けカード | Issuing を使用すると、各エージェントに専用のバーチャルカードを付与できます。エージェントごとの支出上限、加盟店カテゴリーの管理、カスタムのオーソリルールを設定できます。一般的なユースケースには、転売用在庫の購入、運営費の支払い、サービス提供を履行するための購入などがあります。 | [Stripe ダッシュボードで申請](https://dashboard.stripe.com/issuing/overview) | | プラットフォーム向けカード | フィンテック、業種特化型 SaaS、マーケットプレイスなどのプラットフォームであれば、Issuing を使用して、プラットフォーム上の事業者や消費者に代わってエージェントが支出できるようにできます。経費を管理する事業者向けに法人カードを発行したり、個人的な購入を行う個人向けにコンシューマーカードを発行したりできます。カード会員は、利用上限、加盟店カテゴリーの制限、オーソリルールをそれぞれ設定できます。プラットフォームが発行するすべてのカードについて、取引レベルで可視性を維持できます。 | [お問い合わせ](https://stripe.com/contact/embedded-finance) | ## エージェント向け Issuing の機能 | ケイパビリティ | 説明 | | ----------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | | [シングルユースカード](https://docs.stripe.com/issuing/controls/lifecycle-controls.md) | 単一のタスクまたはセッションに限定したバーチャルカードを発行できます。カードは使用後に自動的に無効化されます。 | | [リアルタイムのオーソリ](https://docs.stripe.com/issuing/controls/real-time-authorizations.md) | Webhook を使用してすべてのトランザクションを承認または拒否できます。事業者の詳細とカードのメタデータに基づいてオーソリの判定を行います。オーソリの連携はお客様が管理します。 | | [支出管理機能](https://docs.stripe.com/issuing/controls/spending-controls.md#limit-a-cardholders-monthly-spend-across-all-of-their-cards) | 消費者が使用できる金額や頻度、利用可能な加盟店カテゴリーに制限を設定できます。カードレベルまたはカード会員レベルで管理を設定できます。 | | [完全な取引の可視性](https://docs.stripe.com/issuing/purchases/transactions.md) | 確定、返金、部分確定、超過確定、強制確定を含むすべてのトランザクションを追跡し、メタデータを使用して元のカードおよび購入に照合できます。 | | [高度な不正利用シグナル](https://docs.stripe.com/issuing/controls/advanced-fraud-tools.md#get-started-with-advanced-fraud-tooling) | すべてのオーソリに対して機械学習によるリスクスコアが生成されます。不正利用リスク、加盟店との不審請求の申し立てリスク、カードテスティングの検出が含まれます。Stripe ダッシュボードからオプトインできます。 | ## バーチャルカード バーチャルカードは、エージェント向けのユースケースで最も一般的なカードタイプです。カード番号、有効期限、CVC のみで構成され、物理カードは存在しません。発行すると、エージェントはすぐに購入を開始できます。デジタルであるため、エージェントが使用する前に、特定の加盟店、1 回の取引、または特定の金額にカードの機能を限定できます。 まず、次のコールを使用して、特定の加盟店カテゴリーと支出上限に限定したバーチャルカードを発行できます。 ```curl curl https://api.stripe.com/v1/issuing/cards \ -u "{{SECRET_KEY}}:" \ -d "cardholder"="ich_123" \ -d "currency"="usd" \ -d "type"="virtual" \ -d "status"="active" \ -d "spending_controls[allowed_categories][]"="computer_software_stores" \ -d "spending_controls[spending_limits][0][amount]"=50000 \ -d "spending_controls[spending_limits][0][interval]"="monthly" ``` 次に、カード番号と CVC を取得し、決済時にエージェントに渡すことができます。 ```curl curl -G https://api.stripe.com/v1/issuing/cards/ic_123 \ -u "{{SECRET_KEY}}:" \ -d "expand[]"=number \ -d "expand[]"=cvc ``` レスポンスには、エージェントが購入を完了するために必要なカード情報が含まれます。 ```json { "id": "ic_123", "number": "4242424242424242", "cvc": "123", "exp_month": 12, "exp_year": 2027, "status": "active" } ``` ## シングルユースカード 仕入先への決済、フルフィルメント注文、顧客トランザクションなどの 1 回限りの購入には、1 回のオーソリが完了すると自動的にキャンセルされるカードを発行できます。これにより、購入後にカード情報が漏洩しても、再び使用されることはありません。メタデータを使用して、各カードを、それをトリガーした特定のタスク、注文、またはエージェントに関連付けることができます。 まず、次のメソッドを使用して、特定の金額の 1 回の成功した請求後に自動的にキャンセルされるカードを発行できます。 ```curl curl https://api.stripe.com/v1/issuing/cards \ -u "{{SECRET_KEY}}:" \ -d "cardholder"="ich_123" \ -d "currency"="usd" \ -d "type"="virtual" \ -d "status"="active" \ -d "lifecycle_controls[cancel_after][payment_count]"=1 \ -d "spending_controls[spending_limits][0][amount]"=7500 \ -d "spending_controls[spending_limits][0][interval]"="per_authorization" \ -d "metadata[agent_id]"="agent_fulfillment_01" \ -d "metadata[customer_order_id]"="order_8821" \ -d "metadata[supplier]"="supplier_logistics_co" ``` 次に、カード情報を取得し、決済時にエージェントに渡すことができます。 ```curl curl -G https://api.stripe.com/v1/issuing/cards/ic_123 \ -u "{{SECRET_KEY}}:" \ -d "expand[]"=number \ -d "expand[]"=cvc ``` ## 支出管理 エージェントが購入を行う前に、何に、どこで、どのくらいの頻度で使えるかを定義できます。これらの管理はカード作成時に設定され、いつでも更新できます。タスクの範囲が変わった場合は制限を厳しくし、より多くの予算が承認された場合は緩め、広範な権限を持つ信頼できるエージェントには解除できます。 加盟店カテゴリー管理では、カードを特定の種類の事業者に限定できます。たとえば、旅行予約エージェントは航空会社とホテルにのみ請求できるようにし、レストランや小売店では使用できないようにします。 ```curl curl https://api.stripe.com/v1/issuing/cards \ -u "{{SECRET_KEY}}:" \ -d "cardholder"="ich_123" \ -d "currency"="usd" \ -d "type"="virtual" \ -d "status"="active" \ -d "spending_controls[allowed_categories][]"="airlines_air_carriers" \ -d "spending_controls[allowed_categories][]"="hotels_motels_and_resorts" ``` 支出上限では、カードに請求できる金額を、取引ごとまたはローリング期間ごとに設定します。 ```curl curl https://api.stripe.com/v1/issuing/cards/ic_123 \ -u "{{SECRET_KEY}}:" \ -d "spending_controls[spending_limits][0][amount]"=100000 \ -d "spending_controls[spending_limits][0][interval]"="monthly" \ -d "spending_controls[spending_limits][1][amount]"=10000 \ -d "spending_controls[spending_limits][1][interval]"="per_authorization" ``` ## リアルタイムのオーソリ エージェントにカードを渡した後は、請求が処理される前に、購入の試行ごとにリアルタイムのオーソリリクエストがトリガーされます。これにより、支出ルール、不正利用のシグナル、加盟店カテゴリーの制限、またはエージェントに指示した内容に基づいて、トランザクションを承認または拒否できます。 まず、`issuing_authorization.request` イベントをリッスンします。各イベントには、事業者、金額、およびカード発行時に添付したメタデータが含まれます。Stripe がカードのデフォルトルールにフォールバックする前に応答するためのデフォルトのタイムアウトは 2 秒です。 ```json { "type": "issuing_authorization.request", "data": { "object": { "id": "iauth_123", "amount": 9900, "merchant_data": { "name": "Acme Supplies", "category_code": "5045", "city": "San Francisco", "country": "US" }, "card": { "metadata": { "agent_id": "agent_fulfillment_01", "customer_order_id": "order_8821", "allowed_merchant": "supplier_acme" } } } } } ``` 次に、承認する前に必要なチェックを実行するため、認可ペイロードを使用します。一般的なパターンは次のとおりです。 - **業種の一致**: ビジネス名または業種がエージェントのタスクと一致していることを確認する - **金額確認**: 請求額が注文またはタスクの想定予算内に収まっていることを確認する - **利用頻度チェック**: エージェントが短時間に異常な件数の取引を試みた場合にフラグを立てる - **不正利用シグナル**: 事業者の所在国、IP、または業種を既知の不正利用パターンと照合する トランザクションが正当と思われる場合は承認します。少しでも不審な点があれば拒否し、エージェントまたは人間のレビュアーによる確認対象としてフラグを立てます。 Stripe の高度な不正利用対策ツールを、意思決定プロセスに活用できます。Stripe はすべてのオーソリを不正利用シグナルの観点から評価し、承認ロジックに組み込めるリスクスコアを生成します。 ```json { "type": "issuing_authorization.request", "data": { "object": { "id": "iauth_123", "amount": 9900, "fraud_challenges": [], "network_risk_score": 23, "merchant_data": { "name": "Acme Supplies", "category_code": "5045" }, "verification_data": { "address_line1_check": "match", "postal_code_check": "match", "cvc_check": "match" } } } } ``` 低いリスクスコアに加えて、住所確認と CVC チェックも通過している場合は、承認のシグナルです。高いリスクスコアは、特に住所の不一致や見慣れない事業者の所在国と組み合わさっている場合、エージェントを先に進める前に拒否して調査するシグナルです。 ## エージェントのトランザクションの監視 エージェントが行うすべての取引は追跡可能です。Stripe の Webhook と取引データを使用すれば、手動で監視しなくても、支出を追跡し、異常を検出し、購入を消し込みし、過剰請求に対する不審請求の申し立てを自動化できます。 ### 異常な支出の検出 エージェントはトランザクション履歴を継続的にスキャンして、見慣れない法人からの請求、通常額を超えるトランザクション、想定外の時間帯のアクティビティなど、異常な購入を検出できます。エージェントが不審なトランザクションを検出した場合は、自動的にカードを凍結するか、レビュー対象としてフラグを立てることができます。 まず、カード会員の最近のトランザクションを取得して、エージェントが確認できるアクティビティの範囲を提供します。 ```curl curl -G https://api.stripe.com/v1/issuing/transactions \ -u "{{SECRET_KEY}}:" \ -d "cardholder"="ich_123" \ -d "limit"=100 ``` 次に、トランザクションのリストをエージェントに渡します。加盟店カテゴリが想定範囲外である場合や、金額がカード会員の過去の平均を大幅に上回るトランザクションにはフラグを立てます。 ```json { "transactions": [ { "amount": 42000, "merchant_data": { "category_code": "5999", "name": "Unknown Merchant" }, "card": { "metadata": { "agent_id": "agent_finance_01", "cost_center": "engineering" } } } ] } ``` エージェントがトランザクションにフラグを立てた場合は、問題を調査している間、直ちにカードを凍結します。 ```curl curl https://api.stripe.com/v1/issuing/cards/ic_123 \ -u "{{SECRET_KEY}}:" \ -d "status"="inactive" ``` ### 予算に対する支出の追跡 すべてのカードに、支出上限、月間上限、取引ごとの上限、またはその両方を設定できます。エージェントは、その予算がどの程度使用されたかをリアルタイムで監視し、上限に達する前に、カード会員への通知、予算上限の引き上げのリクエスト、次の期間にリセットされるまでの新規購入のブロックなどの対応を行えます。 まず、`issuing_authorization.created` をサブスクライブして、各購入が承認された時点で取得します: ```json { "type": "issuing_authorization.created", "data": { "object": { "amount": 15000, "card": { "spending_controls": { "spending_limits": [{ "amount": 50000, "interval": "monthly" }] }, "metadata": { "agent_id": "agent_finance_01" } } } } } ``` オーソリが発生したら、カードの月間上限に対して合計します。支出がしきい値 (たとえば 80%) を超えたら、カード会員に通知するか、上限を調整します: ```curl curl https://api.stripe.com/v1/issuing/cards/ic_123 \ -u "{{SECRET_KEY}}:" \ -d "spending_controls[spending_limits][0][amount]"=40000 \ -d "spending_controls[spending_limits][0][interval]"="monthly" ``` ### 購入の自動照合 購入が確定すると (通常は元のオーソリから 1 ~ 2 日以内)、Stripe は最終金額と事業の詳細を含むトランザクションレコードを作成します。エージェントはこれを使用して、請求をそのきっかけとなったタスクや注文に自動的に照合し、確定した金額がオーソリされた金額と異なる場合に差異をフラグ付けし、手動で介入しなくても帳簿を最新の状態に保つことができます。 まず、`issuing_transaction.created` をサブスクライブして、チャージが完全に確定するたびに通知を受け取ります: ```json { "type": "issuing_transaction.created", "data": { "object": { "amount": 7500, "merchant_data": { "name": "Logistics Co", "category_code": "4215" }, "card": { "metadata": { "customer_order_id": "order_8821", "agent_id": "agent_fulfillment_01" } } } } } ``` トランザクションのメタデータを使用して、これをシステム内の元の注文またはタスクに照合します。確定した金額が最初にオーソリされた金額と異なる場合は、確認用にフラグを立てます: ```curl curl https://api.stripe.com/v1/issuing/transactions \ -u "{{SECRET_KEY}}:" \ -d "cardholder"="ich_123" \ -d "created[gte]"=1672531200 ``` ### 過剰請求の検出と異議申し立て カードが使用されると、Stripe はまず想定金額に対するオーソリを作成します。チャージが完全に確定すると、Stripe はトランザクションを作成しますが、この 2 つの金額は常に一致するとは限りません。レストランがチップを追加したり、サプライヤーが注文の一部のみを発送しながら全額を請求したり、事業者が誤った金額を処理したりすることがあります。エージェントは、オーソリされた金額と実際に請求された金額を自動的に比較し、不一致がある場合は代理で異議を申し立てることができます。 トランザクションが確定したら、元のオーソリを取得して金額を比較します: ```curl curl https://api.stripe.com/v1/issuing/authorizations/iauth_123 \ -u "{{SECRET_KEY}}:" ``` エージェントは、オーソリされた金額と確定したトランザクション金額を比較します。差額が定義したしきい値を超えた場合は、トランザクションにフラグを立て、異議申し立てを開始します: ```json { "authorization_amount": 7500, "transaction_amount": 9200, "delta": 1700, "card": { "metadata": { "customer_order_id": "order_8821", "agent_id": "agent_fulfillment_01" } } } ``` トランザクションに対して直接異議を申し立てることもできます: ```curl curl https://api.stripe.com/v1/issuing/disputes \ -u "{{SECRET_KEY}}:" \ -d "transaction"="ipi_123" \ -d "evidence[reason]"="canceled" \ -d "evidence[incorrect_amount][dispute_amount]"=7500 \ -d "evidence[incorrect_amount][original_transaction]"="ipi_123" ``` 次に、`issuing_dispute.updated` をサブスクライブして、未解決の異議申し立てのステータスを追跡し、異議申し立てが解決して資金が回収されたときにカード会員に通知します: ```json { "type": "issuing_dispute.updated", "data": { "object": { "status": "won", "amount": 1700, "transaction": "ipi_123" } } } ``` ## See also - [事業者向け Issuing](https://docs.stripe.com/issuing/for-your-business.md) - [プラットフォーム向けの Issuing](https://docs.stripe.com/issuing.md) - [個人経費向けのエージェント型支出](http://link.com/agents)