質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Stripe

Stripeとは、米国のオンライン決済システム提供企業、及び同社が提供する決裁システムを指します。Webサイトやモバイルアプリにコードを組み込むことでクレジットカードなどの決済サービスが簡潔に追加できます。

Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

Q&A

0回答

804閲覧

Stripeに本人確認書類を送信する方法がわかりません。

Khy

総合スコア118

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Stripe

Stripeとは、米国のオンライン決済システム提供企業、及び同社が提供する決裁システムを指します。Webサイトやモバイルアプリにコードを組み込むことでクレジットカードなどの決済サービスが簡潔に追加できます。

Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

0グッド

0クリップ

投稿2021/08/16 03:20

Stripeでcustomアカウント作成のために、Nuxt.jsとFirebaseで本人確認書類をアップロードする機能を作りたいのですがなかなか上手くできず困っております。

やりたいこと

①フロントでFirebase Storageに本人確認書類をアップロードし、そのURLをFirebas Firestore(informationsコレクション)に保存
②Firestoreに変更があったらCloud Functionsを発火して、本人確認書類をStripeに送る

上記のうち①は実装できましたが、②のところでFirestorageにアップした本人確認書類をStripeに送ることができません。
以下のコードのうち★マークのところで、no such file or directoryのエラーが表示されてしまいます。

何が問題なのか見当が付かないのでご教授いただければ幸いです。
よろしくお願い致します。

// functions/index.js exports.updateAccountInformation = functions .firestore.document('informations/{informationId}') .onUpdate((change, context) => { const fs = require('fs') const beforeData = change.before.data() const afterData = change.after.data() let stripeId if (afterData.stripeId) { stripeId = afterData.stripeId } else { stripeId = beforeData.stripeId } if ( beforeData.vertification_front !== afterData.vertification_front && afterData.vertification_front ) { // 本人確認(表)をアップロード stripe.files .create( { purpose: 'identity_document', file: { data: fs.readFileSync(afterData.vertification_front), // ★vertification_frontにはアップロードした画像URLが入っております name: 'front.jpg', type: 'application/octet-stream', }, }, { stripeAccount: stripeId, } ) .then((file) => { stripe.accounts.updatePerson(stripeId, afterData.personId, { verification: { document: { front: file.id, }, }, }) }) } if ( beforeData.vertification_back !== afterData.vertification_back && afterData.vertification_back ) { // 本人確認(裏)をアップロード stripe.files .create( { purpose: 'identity_document', file: { data: fs.readFileSync(afterData.vertification_back), name: 'back.jpg', type: 'application/octet-stream', }, }, { stripeAccount: stripeId, } ) .then((file) => { stripe.accounts.updatePerson(stripeId, afterData.personId, { verification: { document: { back: file.id, }, }, }) }) } //...その他の処理 })

参考URL

ファイルアップロードガイド

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問