Stripe Connectで画像検証を登録する方法 | 子アカウントの本人確認 | Node.js
ハイテク好きが楽しめるwebメディア | off.tokyo
--
スキルシェアのサービスを2020年から作り始めたのだが、完全に放置になってしまった。
でも、最近また開発を再開しました。
個人間取引の市場に対する情熱が、まだ潰えてないようです。
まあ、そんなことはどうでもいいのだが・・・
色々とコードが動かなくなってて、Stripe周りが動かなくなってた。
やりたいことはC2Cのサービスで、ユーザーへの売り上げなどを口座へ振り込む際に、
そのユーザーの本人確認などの検証をしなければいけない。
住所や、本名や、免許証などの画像が必要です。
それで、今回は免許証などの画像を検証する方法を紹介します。
画像を作る
const file = await stripe.files.create({
purpose: 'dispute_evidence',
file: {
data: fp,
name: 'file.jpg',
type: 'application/octet-stream',
},
});
まず、画像ファイルをサーバーに送っておかないといけないので、上記みたいな感じで画像を作ります。
免許証などの画像ファイルをapiへ送って、返ってきたidを使って、別のapiを叩いて本人認証を依頼する感じです。
上記のようにapiを叩くと、レスポンスでidが帰ってくるので、これを使う。
{
"id": "file_19yVPOfwefwefwefwefweO",
"object": "file",
idを使っていきますので、どこかの変数に取っておいてください。
本人確認を登録する
ここはこの記事の本題なので、僕が実際に書いたコードを記します。
async function UpdateAccounts(
stripe_user_id,
HEAD_ID_STRIPE_IMG,
BACK_ID_STRIPE_IMG
) {
try {
const account = await stripe.accounts.update(
stripe_id_get_edit_connect_user,
{
individual: {
verification:{document:{front: HEAD_ID_STRIPE_IMG, back: BACK_ID_STRIPE_IMG } },
},
},
);
console.log("アカウント")
console.log(account)
} catch (err) {
console.log("エラー");
console.log(err);
}
}
上記の関数を呼び出します。
引数には、先ほど作っておいた画像ファイルのidと、Stripe Connectのユーザーのアカウントidを引数に渡してください。
Stripe Connectのユーザーアカウントのことはこの記事では説明しません。
それで、個人間取引なので、individual の中に書かれてるように画像のidをstringで渡します。
ちなみに、このオブジェクトの中には、その他にも住所や名前も入れることが出来ます。
ここら辺のパラメータの詳細は、公式ドキュメントで見れば、何がパラメータに入るのか知ることが出来ます。
この状態でapiを叩くと、optionalなパラメータしかapi定義にないので、そのままオブジェクトが正しければapiが通るはずです。
Stripeで確認
では、Stripeのダッシュボードで確認してみましょう。
下記の画像のようにdentity documentとIdentity document backがProvidedになってれば、
正しく画像のidがStripeのapiに送れてると思う。
あとは、しばらく待ってれば、個人情報が正しく認証されるか否かわかります。
--