ハイテク好きが楽しめるwebメディア | off.tokyo

--

stripeimg.png

スキルシェアのサービスを2020年から作り始めたのだが、完全に放置になってしまった。

でも、最近また開発を再開しました。

個人間取引の市場に対する情熱が、まだ潰えてないようです。

まあ、そんなことはどうでもいいのだが・・・

色々とコードが動かなくなってて、Stripe周りが動かなくなってた。

やりたいことはC2Cのサービスで、ユーザーへの売り上げなどを口座へ振り込む際に、

そのユーザーの本人確認などの検証をしなければいけない。

住所や、本名や、免許証などの画像が必要です。

それで、今回は免許証などの画像を検証する方法を紹介します。

画像を作る

Create a file


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を使っていきますので、どこかの変数に取っておいてください。

本人確認を登録する

Update an account

ここはこの記事の本題なので、僕が実際に書いたコードを記します。

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に送れてると思う。

あとは、しばらく待ってれば、個人情報が正しく認証されるか否かわかります。

stripe.png

--

ハイテク好きが楽しめるwebメディア | off.tokyo