Search code examples
javascriptapistripe-paymentsloopbackjsstrongloop

Loopback and Stripe Webhooks


I currently have a loopback project setup, and I am trying to receive webhooks from stripe.

My current Remote method looks like the following:-

Stripeconnect.stripeWebhook = function(msg, cb) {
  cb(null, msg);
};

Stripeconnect.remoteMethod(
  'stripeWebhook', {
    description: 'This will insert the description',
    http: {
      path: '/stripeWebhook',
      verb: 'get'
    },
    accepts:
      {arg: 'msg', type: 'any'},
    returns: {
      arg: 'status',
      type: 'any'
    }
  }
)

But in the response I receive from Stripe is:-

undefined [Function: callback]

I am unable to find any documentation online regarding Loopback and Stripe webhooks.

Would anybody be able to help, or point me in the right direction?

I have setup Stripe to point at this endpoint of the API.

Thanks in advance. If you need anymore info please let me know.


Solution

  • Ok so I was able to get this working by getting the response from the body:-

    /**
     * Receiving Webhook
     * @desc Webhook EP
     * @param {data} Object from Stripe.
     * @return {response} response code
     */
    
    Stripeconnect.stripeWebhook  = function(request, cb) {
      console.log(request.type, request.data);
    };
    
    Stripeconnect.remoteMethod(
      'stripeWebhook', {
        accepts: { arg: 'data', type: 'object', http: { source: 'body' } },
        returns: [
          {arg: 'response', type: 'any', root: true }
        ]
      });
    

    Which you can see from:-

    accepts: { arg: 'data', type: 'object', http: { source: 'body' } },
    

    Hopefully this helps anybody else who is having this or a similar issue.