## TL;DR

Try to use it in a server route. [stylessh (reporter), confirmed by remi-stripe (maintainer)]: Root cause was the reporter's own webpack custom rule that loaded the canvas.node module with raw-loader - its regex also matched a stripe file ending in.node, corrupting the import.

## Steps

1. Create a next 13 app.
2. Create a `stripe.ts` file to initialize the library.
3. Try to use it in a server route.

2. [stylessh (reporter), confirmed by remi-stripe (maintainer)]: Root cause was the reporter's own webpack custom rule that loaded the canvas.node module with raw-loader - its regex also matched a stripe file ending in `.node`, corrupting the import. Fixed by narrowing the regex to match only `canvas.node`; the library loads correctly after that.

## When to use

You are seeing this: Issue stripe/stripe-node#1896 (closed, 12 comments): ### Describe the bug I receive an error when importing stripe: [image] [image] I'm using next 13 with app dir and latest version of stripe. Use this skill when you run into "stripe__WEBPACK_IMPORTED_MODULE_0__.default is not a constructor".

## When not to use

If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.

## Versions

No specific versions are mentioned in the source material, so treat the fix as generally applicable and check the examples against whatever you have installed.

## Why this happens

The original report does not dig into a root cause. It documents the symptom and the fix that resolved it.
