💡

2021/11 stripeでsubscriptionをcreate→ Cannot find module 'stripe'というエラー

2021/11/23に公開

stripe をfirebase cloud functionsにアップしようとしたら

'''
Cannot find module 'stripe'
'''

上記のようなエラーが出現!!

解決策

npm install stripe --save

上記をfunctionsディレクトリに移動して叩いたら解決しました。

ちなみにコードの中身。

'''
const functions = require("firebase-functions");
const stripe = require("stripe")("ここにシークレットキー");

exports.stripePaymentSubscriptionRequest = functions.https.onRequest(async (req, res) => {
try {
let customerId;

    //リクエストされたメールのユーザーがいたら、customerListに格納
    const customerList = await stripe.customers.list({
        email: req.body.email,
        limit: 1
    });
            
   //顧客がいるかどうかをチェックし、なければcustomerIdを新しく作成
    if (customerList.data.length !== 0) {
        customerId = customerList.data[0].id;
    }
    else {
        const customer = await stripe.customers.create({
            email: req.body.email
        });
        customerId = customer.data.id;
    }

  //カスタマーIDを作成
    const ephemeralKey = await stripe.ephemeralKeys.create(
        { customer: customerId },
        { apiVersion: '2020-08-27' }
    );

    //リクエストされた料金をセット

    const subscription = await stripe.subscriptions.create({
      customer: customerId,
      items: [
        {price: parseInt(req.body.amount)},
      ],
    });

    res.status(200).send({
        paymentIntent: subscription.client_secret,
        ephemeralKey: ephemeralKey.secret,
        customer: customerId,
        success: true,
    })
    
} catch (error) {
    res.status(404).send({ success: false, error: error.message })
}

});

'''

Discussion