400 Billing account for project is not found. Billing must be enabled for activation of service(s)

Viewed 23727

I am create API with firebase via this tutorial here.

On I run:

firebase deploy

I get this error on the command line:

HTTP Error: 400, Billing account for project '381106441303' is not found. Billing must be enabled for activation of service(s) 'cloudbuild.googleapis.com,containerregistry.googleapis.com' to proceed.

Please show me how to fix this problem!

9 Answers

If you just want to finish a tutorial, just change Node version from 10 to 8 in package.json

"engines": {
  "node": "8"
}

This will now work, but eventually after February 15, 2021 deployment of Node.js 8 functions will no longer be allowed. So, if you want to use cloud functions after this date you must be on Blaze pay-as-you-go billing plan.

If you just want to test or follow the tutorial, see this answer.

If you want to use at the real projects, follow these steps:

  1. Enable Billing for your projects
  2. Enable Cloud Build API
  3. Enable Container Registry API

From Firebase FAQ:

From updates on August 17, 2020, Cloud Functions for Firebase will rely on some additional paid Google services, so You have to add billing, enable Container Registry API and Cloud Storage API to use it.

See more: Cloud Functions pricing

Edit: Following these steps automatically upgrades your Project plan to Blaze-Pay as you go. - Thanks to @Abhimanyu

It works fine for me you don't have to pay I'm using firebase free tier

1st Downgrade node version from 10 to 8 on package.json

"engines": {
"node": "8"
  }
  1. firebase deploy

  2. you'll get + Deploy complete! message above that you'll see

    + functions[helloWorld(us-central1)]: Successful update operation.

  3. this us-central is my project hosted region in your case may be differ

    prefix to this region [helloWorld is my exported function name your case it may differ get this information from your terminal by firebase deploy command

  4. After that your hosted project link will be

https://yourregion-firebaseprojectname.cloudfunctions.net/yourexportedfunctionname 

(exported function name) which is helloWorld

You can lower the node version from 10 to 8, but you should upgrade your plan to 'Blaze' as it has the whole free plan, It will only charge you if you pass the free plan

You can try this :

firebase deploy --only hosting

Full docs

This is a example of scheduler , but this will not work in free account . Billing must be enabled for activation of service(s) 'cloudscheduler.googleapis.com' to proceed.

import * as functions from 'firebase-functions';
import {db, notificationSentEvent, deviceData} from './init';

export const dailyDelete = functions.pubsub.schedule( '10 1 * * *' ).onRun(context => {
    console.log('At 01:10');
})
  1. Go to firebase console
  2. Go to usage and billings
  3. Change plan from Free to Pay as you go
Related