前提・実現したいこと
firebaseのFunctions(ts)とstripe APIを使って決済システムを構築しています。
発生している問題・エラーメッセージ
functions公式であがっていたGitHubのサンプルコードを参考にしながらですが、下記部分でエラーになります。
typescript
1const customer = (await snap.ref.parent.parent.get()).data().customer_id;
Error
1オブジェクトは 'undefined' である可能性があります。 2オブジェクトは 'null' である可能性があります。
サンプルはJavaScriptなので、言語の違いということもあるのかもしれませんが、解決方法や考え方をご教授いただければ幸いです。
該当のソースコード
参考にしているGitHubから該当箇所の抜粋したものが下記となります。
typescript
1exports.createStripePayment = functions.firestore 2 .document('stripe_customers/{userId}/payments/{pushId}') 3 .onCreate(async (snap, context) => { 4 const { amount, currency, payment_method } = snap.data(); 5 try { 6 // Look up the Stripe customer id. 7 const customer = (await snap.ref.parent.parent.get()).data().customer_id; 8 // Create a charge using the pushId as the idempotency key 9 // to protect against double charges. 10 const idempotencyKey = context.params.pushId; 11 const payment = await stripe.paymentIntents.create( 12 13以下省略
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。