0
votes

I'm trying to set up my stripe webhooks to fire invoking a firebase cloud function automatically whenever a Stripe Connect account is created, updated, or anything at this point. It only fires if I manually go to the Stripe Dashboard > Webhooks and hit the "send test webhook button".

so far what I've done:

1) created a Stripe Connect Webhook:

 Stripe Webhooks Dashboard

2) set up Webhook endpoint with firebase URL

enter image description here

3) set up node.js Firebase Cloud function to fire whenever stripe's webhook pings the Firebase URL.

const admin = require('firebase-admin');
const functions = require('firebase-functions');
admin.initializeApp(functions.config().firebase);
const stripeToken = require('stripe')(functions.config().stripe.token);
const stripeWebhooks = require('stripe')(functions.config().keys.webhooks);
const express = require('express');
const cors = require('cors');
const endpointSecret = functions.config().keys.signing;
const request = require('request-promise');
const app = express();

// Automatically allow cross-origin requests
app.use(cors({ origin: true }));

exports.stripeCreateOathResponseToken = functions.https.onRequest(cors((req, res) => {

    res.send("cloud function fired");

}));

What am I missing that doesnt let the Stripe Webhook fire automatically?

here are some of the tutorials I've been following:

https://medium.com/@koss_lebedev/stripe-webhooks-in-connect-applications-a7d71bdd44e1

https://github.com/GaryH21/Stripe-Webhooks-Tutorial/blob/master/functions/index.js

https://medium.com/@GaryHarrower/working-with-stripe-webhooks-firebase-cloud-functions-5366c206c6c

1

1 Answers

0
votes

You have set this up as a Connect Endpoint. You'll need to make sure the events are actually occurring on connected accounts (and not your own platform account), as your own account's events won't get sent to a Connect Endpoint.

You can test this by creating a connected account and verifying that events from it get sent.