Next.js webhook returns a 301 (redirect) instead of 200

Viewed 11

I have a Next.js app and I created an endpoint to handle a webhook from a third-party payment application.

The code for that endpoint is very simple, it checks that the order was paid and updates my database:

export default async function WebhookHandler(req, res) {
    if (req.method === 'POST') {
    const requestData = JSON.parse(req)

        if (requestData.status === "paid") {
            // Code to update database
    }

        res.status(200).json({ received: true });
    } else {
        res.setHeader('Allow', 'POST');
        res.status(405).end('Method not allowed.');
    }
}

The problem is that this webhook is falling. When I go to my payment application logs, I can see the webhook requests are going to the right endpoint, but my endpoint response is a 301 (redirect) and the payment application expects a 200.

Any ideas why Next.js is creating this redirect? I don't even know where to look for this...

1 Answers

After a lot of digging, I found that it was my server configuration. It was redirecting my www.site.com to site.com ‍♂️

Related