コンテンツにスキップ
アカウントを作成
または
サインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成
サインイン
始める
支払い
売上
プラットフォームおよびマーケットプレイス
資金管理
開発者向けリソース
概要
Connect の使用を開始
導入の基本
導入の例
アカウント管理
アカウント登録
    アカウント登録の設定を選択
    アカウントのケイパビリティ
    必要な確認情報
      確認要件の更新に対応する
      API を利用した確認処理
      トークンを利用して本人確認を処理
      アカウントの確認をテスト
      連結アカウントの本人確認
      確認済みの情報の更新
    利用規約の種類
    追加確認
    ネットワーク上のアカウント登録
    Stripe に移行
アカウントのダッシュボードを設定する
連結アカウントのタイプの操作
決済処理
決済を受け付ける
アカウントへの送金
プラットフォーム管理
Connect プラットフォームを管理
Connect プラットフォームの納税申告書
ホームプラットフォームおよびマーケットプレイスOnboard accountsRequired verification information

トークンを利用して本人確認を処理

Connect プラットフォームでは、Stripe.js、API、またはモバイルクライアントライブラリを使用することで、ユーザーからアカウントの詳細を安全に収集できます。

該当する連結アカウント

このコンテンツは、特定の設定の連結アカウントにのみ適用されます。
このコンテンツは、要件の期限が到来した場合や変更された場合にプラットフォームが最新情報の収集を担当する連結アカウントに適用されます。

接続アカウントでの課金や payouts を有効にする前に、Know Your Customer (KYC) 要件を満たす必要があります。そのためには、アカウントに関する 本人確認情報を Stripe に提供し、Stripe がそれを確認します。この作業は Account Tokens や Person Tokens を使って行うことができます。トークンを利用することで、個人を特定できる情報 (PII) があなたのサーバーに触れることなく、安全に統合を運用できます。また、トークンを使用することで、Stripe は潜在的な不正行為をより正確に検出できるようになります。

トークンは、次の場合にのみ使用できます。

  • 法人の詳細 (ビジネスまたは個人に関する情報)
  • 個人の詳細
  • Stripe Connect アカウント契約への同意を示す

トークンは、以下を含むその他のアカウント情報には_使用_できません。

  • アカウントの設定 (入金スケジュールなど)
  • アカウントの機密情報でない情報 (サポート URL、サポート電話番号など)
  • 連結アカウントの国

トークンは、Stripe.js、API、またはモバイルクライアントライブラリの 1 つを使用して作成します。このプロセスは、支払いの詳細や外部アカウントのトークン化と実質的に同じです。連結アカウントの情報は Stripe に直接送信され、作成と更新 API 呼び出しで使用できるトークンと交換されます。

地域的な考慮事項
フランス

フランスのプラットフォームはアカウントトークンを使用する必要があります。これは、プラットフォーム PSD2 準拠のための、エージェントモデルの代替です。フランスのプラットフォームでトークンを使用する主なメリットは、情報がユーザから Stripe に直接転送されることです。PII データを保存する必要がないこともメリットですが、これは必須の要件ではありません。その他の国のプラットフォームでは、アカウントトークンはオプションですが、使用をお勧めします。

トークンの作成と使用

トークンには、クライアント側とサーバ側の両方のコードが必要です。

  1. ユーザの入力を取り込む HTML フォームを作成します。
  2. Stripe にフォームデータを送信し、その返信としてトークンを受け取り、そのトークンをサーバに送信する JavaScript を追加します。
  3. そのトークンをサーバ側の Stripe API コールで使用します。

次の例は、アカウントトークンと Person トークンの使用方法を示しています。どちらのタイプも、会社の法人と個人の詳細を提供するときに必要です。個人のみをユーザー登録する場合は、Person トークンは必要ありません。代わりに、アカウントトークンを作成し、Accountオブジェクトのindividualハッシュをを使用して必要な情報を提供します。

HTML フォームを作成する

最初のステップは、アカウントと個人の必須情報を収集する HTML フォームを作成することです。これには、Stripe の Connect アカウント契約への同意も含まれます。

アカウントと個人の詳細を収集する

フォーム要素を作成して、名前、住所など、ユーザーの国によって必須とされる必要な情報を収集します。

form.html
<form class="my-form" action="/create-person" method="post"> <input type="hidden" name="token-account" id="token-account"> <input type="hidden" name="token-person" id="token-person"> <label> <span>Business Name</span> <input class="inp-company-name"> </label> <fieldset> <legend>Business Address</legend> <label> <span>Street Address Line 1</span>

Stripe Connect アカウント契約を提示する

プラットフォームとして、支払いの処理は Stripe Connected Account Agreement に従うことをユーザーに明確にする必要があります。Stripe Connected Account Agreement の受け入れを示すことは、アカウントトークンを使用して新しい連結アカウントを作成するための要件です。

注

tos_shown_and_accepted を指定した Account Token を作成できるのは、API を通じてサービス契約(Service Agreement)を受け入れられるプラットフォームのみです。

Stripe では、以下のような文章を含め、Stripe の利用規約とお客様の利用規約の両方へのリンクを含めることをお勧めします。

英語
フランス語
No results
<p>By clicking, you agree to <a href="#">our terms</a> and the <a href="https://stripe.com/connect-account/legal">Stripe Connected Account Agreement</a>.</p>

JavaScript の追加

次に、ページには以下を実行する JavaScript が必要です。

  1. フォーム送信を中断します。
  2. stripe.createToken() メソッドを呼び出して、アカウントと個人のトークンを要求する。
  3. 受信したトークンの ID をサーバに送信する。

わかりやすくするために、次のコードではデータ検証とエラー処理は省略されていますが、実際の導入には両方を追加することを忘れないでください。

stripe.createToken() メソッドには、以下の 2つの引数 を渡します。

  • 作成するトークンの種類を指定するための値 account または person
  • 情報の一般的なオブジェクト

第二引数として渡すJavaScript オブジェクトは、トークン化する Account または Person オブジェクトの構造に沿っている必要があります。アカウントトークンには、にはトップレベルに company または individua プロパティで、person トークンには最上位のpersonプロパティが必要です。オブジェクトの構造に従い、必要な属性すべてを正しくネストしてください。例えば下のコードブロック内の address の line1 はperson.address.line1 のように指定します。

Stripe Connected Account Agreement へのユーザーの同意を表すには、トップレベルに tos_shown_and_accepted プロパティを設け、その値を true に設定します(これは Account Token の場合のみ使用されます)。

Person を作成または更新する場合は、引き続きサーバーサイドのコードでトークンを使用する必要があります。トークン ID は、アプリケーションに適した方法(例:XHR リクエストなど)でサーバーに送信できます。簡単にするため、このコード例ではトークン ID を隠しフォーム入力に格納し、フォームを送信しています。

script.js
// Assumes you've already included Stripe.js! const stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
); const myForm = document.querySelector('.my-form'); myForm.addEventListener('submit', handleForm); async function handleForm(event) { event.preventDefault(); const accountResult = await stripe.createToken('account', { business_type: 'company', company: { name: document.querySelector('.inp-company-name').value, address: { line1: document.querySelector('.inp-company-street-address1').value, city: document.querySelector('.inp-company-city').value, state: document.querySelector('.inp-company-state').value, postal_code: document.querySelector('.inp-company-zip').value, }, }, tos_shown_and_accepted: true, }); const personResult = await stripe.createToken('person', { person: { first_name: document.querySelector('.inp-person-first-name').value, last_name: document.querySelector('.inp-person-last-name').value, address: { line1: document.querySelector('.inp-person-street-address1').value, city: document.querySelector('.inp-person-city').value, state: document.querySelector('.inp-person-state').value, postal_code: document.querySelector('.inp-person-zip').value, }, }, }); if (accountResult.token && personResult.token) { document.querySelector('#token-account').value = accountResult.token.id; document.querySelector('#token-person').value = personResult.token.id; myForm.submit(); } }

Stripe からトークンを正常に受け取ると、JavaScript はそのトークン ID を非表示のフォーム入力に格納し、そのフォームを (お客様のサーバに) 送信します。最後のステップでは、サーバ側コードでトークンを使用してアカウントと個人を作成します。

アカウントを作成する

アカウントトークン ID を使用して、アカウントを作成します。国とビジネスタイプはトークン外で指定されます。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/accounts \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "controller[stripe_dashboard][type]"=none \ -d "controller[fees][payer]"=application \ -d "controller[losses][payments]"=application \ -d "controller[requirement_collection]"=application \ -d country=US \ -d "capabilities[card_payments][requested]"=true \ -d "capabilities[transfers][requested]"=true \ -d account_token=
{{ACCOUNT_TOKEN_ID}}

アカウントトークンを作成する際に、tos_shown_and_accepted を true に設定すると、Account オブジェクトの tos_acceptance 属性の、date、ip、user_agent 属性が自動的に入力されます。アカウントトークンを使用せずにアカウントを作成した場合は、これらの属性の値を指定する必要があります。

アカウントの個人オブジェクトを作成する際に使用できるようにするため、返されたアカウント ID を必ずメモしておいてください。

個人を作成する

person_token パラメータに本人トークンの ID を指定することで、個人を作成できます(このとき、その Person が属するアカウントの ID も必要です)。どの情報を収集する必要があるか、またどの Person から収集するかは、Account オブジェクトの requirements ハッシュを参照することで確認できます。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/accounts/
{{CONNECTED_ACCOUNT_ID}}
/persons
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d first_name=Jane \ -d last_name=Diaz \ -d person_token=
{{PERSON_ID}}

モバイル SDK を使用したアカウントトークンの作成

Android または iOS SDK を使用してアカウントトークンを作成することもできます(モバイルはアカウントトークンのみをサポートします)。個人アカウントを作成するにはこれで十分ですが、会社アカウントに必要な Person トークンを作成するには Stripe.js を使用する必要があります。

Swift
Objective C
No results
import UIKit import StripePayments let companyParams = STPConnectAccountCompanyParams() companyParams.name = company.name companyParams.address = STPConnectAccountAddress() companyParams.address.line1 = company.address_line_1 companyParams.address.city = company.address_city companyParams.address.state = company.address_state companyParams.address.country = company.address_country companyParams.address.postalCode = company.address_postal_code guard let accountParams = STPConnectAccountParams(tosShownAndAccepted: true, company: companyParams) else { // The TOS was not accepted return } STPAPIClient.shared.createToken(withConnectAccount: accountParams) { (accountToken, error) in if let error = error { // display an error to your user } else { // use account token to create a Connect account server-side } }

ファイルのアップロードを処理する

連結アカウントがパスポートなどの本人確認書類を直接撮影したファイルを Stripe に提供する必要がある場合は、アカウントトークンを使用できます。ただし、JavaScript は、ファイルを XHR リクエストの一部として Stripe に送信する必要があるため、より複雑になります。このフローでは、JavaScript によって以下が実行されます。

  1. フォーム送信を中断します。
  2. ファイルがアップロードされた場合、そのファイルは Stripe に送信され、その見返りとしてファイルトークンを受け取ります。
  3. そのファイルトークン ID を、アカウントトークンリクエストの汎用オブジェクトに追加します。
  4. stripe.createToken() メソッドを呼び出して、トークンをリクエストします。
  5. 受信したアカウントトークンの ID をサーバに送信して、サーバで使用できるようにします。

まず、フォームにファイル要素を追加します。アップロードするファイルは、カラー画像 (8,000 ピクセル× 8,000 ピクセル未満)、JPG、PNG、PDF形式で、サイズが10MB未満である必要があります。

<input type="file" id="id-file" name="id-file" accept=".jpeg,.jpg,.png">

次に、フォーム送信を処理する JavaScript で、アップロードされたファイルを Stripe に送信します。これは、アカウントトークンを作成する前に実行する必要があります。

const data = new FormData(); data.append('file', document.querySelector('#id-file').files[0]); data.append('purpose', 'identity_document'); const fileResult = await fetch('https://uploads.stripe.com/v1/files', { method: 'POST', headers: {'Authorization': 'Bearer
pk_test_TYooMQauvdEDq54NiTphI7jx
'
}, body: data, }); const fileData = await fileResult.json();

最後に、返されたファイル ID を、createToken() コールで指定する汎用オブジェクトに verification.document.front 値として含めます。

const result = await stripe.createToken('account', { person: { first_name: document.querySelector('.inp-first-name').value, last_name: document.querySelector('.inp-last-name').value, address: { line1: document.querySelector('.inp-street-address1').value, city: document.querySelector('.inp-city').value, state: document.querySelector('.inp-state').value, postal_code: document.querySelector('.inp-zip').value, }, verification: { document: { front: fileData.id, }, }, }, tos_shown_and_accepted: true, });

法人と個人の詳細を更新する

トークンを使用して、既存のアカウントの法人および個人情報を更新できます。上記と同じ HTML と JavaScript の組み合わせを使用して必要なトークンを作成し、その後、新しいトークン ID を指定して update account または update person の呼び出しを行います。

以前アカウントトークンを通じて設定した法人詳細を更新する際は、新しいトークンを作成して提供する必要があります。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/accounts/
{{CONNECTED_ACCOUNT_ID}}
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d account_token=
{{ACCOUNT_TOKEN_ID}}

法人と個人の詳細を取得する

アカウントや Person の詳細情報は、後から取得アカウントまたは取得者呼び出しを使って取得できます。

更新にトークンを使用する場合は、次のとおりです。

  • 既存の値は新しい値に置き換えられます。
  • 新しい値が提供されない場合、既存の値が残ります。
  • 既存の値の設定を解除することはできません。
  • tos_shown_and_acceptedパラメータは無視され、省略できます。
  • アカウントまたは個人の作成時にトークンが最初に使用されたかどうかに関係なく、更新にアカウントまたは個人トークンを使用できます。
  • アカウントまたは個人が元々アカウントトークンを使用して作成された場合、別のトークンを使用してのみ値を更新できます。

例えば、アカウントが名前と生年月日のみを含むトークンで作成された場合、その後、住所情報だけを含む別のトークンを作成し、アカウントの更新コールを実行して、住所の詳細をアカウントに追加します。

法人と個人の詳細を削除する

法人情報や個人情報を消去する場合や、値を明示的に null に設定する場合は、update account (アカウントの更新) コールまたは update person (個人の更新) コールで、空白の文字列を渡します。元々トークンを使用していた場合でも、トークンではなく更新コールを使用します。空白の文字列は、オプションの属性にのみ割り当てることができます (住所の 2 行目など)。必須の属性に割り当てることはできません。

参照情報

  • 連結アカウントの本人確認
  • 連結アカウントへの入金
このページはお役に立ちましたか。
はいいいえ
  • お困りのことがございましたら 、サポートにお問い合わせください。
  • 早期アクセスプログラムにご参加ください。
  • 変更ログをご覧ください。
  • ご不明な点がございましたら、お問い合わせください。
  • LLM ですか?llms.txt を読んでください。
  • Powered by Markdoc