Improve Stripe Logging with Taskless
Stripe has a lot of information hidden inside their error responses; Taskless brings that data to your logs, making it faster to find and fix Stripe issues.
What is Taskless?
Taskless helps developers instrument the network calls their applications make, regardless of the APIs and SDKs used. It's compatible with existing telemetry and logging solutions, giving you a faster route to better logs.Using a different framework other than what's shown ?
You can switch the framework you're viewing docs for:
Quick Start
Section titled “Quick Start”Install Taskless
Section titled “Install Taskless”In your project root, run the following command to install the Taskless Client:
npm install @taskless/loader
pnpm add @taskless/loader
yarn add @taskless/loader
Install The Pack
Section titled “Install The Pack”npx @taskless/pack install https://github.com/taskless/pack-stripe/releases/download/v0.0.2/pack.tgz
pnpx @taskless/pack install https://github.com/taskless/pack-stripe/releases/download/v0.0.2/pack.tgz
yarn dlx @taskless/pack install https://github.com/taskless/pack-stripe/releases/download/v0.0.2/pack.tgz
Modify Your “Start” Command
Section titled “Modify Your “Start” Command”All that’s left is to update your app’s start
command
{ "name": "my-next-js-app", "scripts": { "dev": "next dev", "build": "next build", "start": "NODE_OPTIONS=\"--import=@taskless/loader\" next start" }}
{ "name": "my-nest-app", "scripts": { "dev": "nest dev", "build": "nest build", "start": "NODE_OPTIONS='--import=@taskless/loader' nest start" }}
{ "name": "my-express-app", "scripts": { "start": "node --import=@taskless/loader server.js" }}
{ "name": "my-hono-app", "scripts": { "dev": "tsx watch src/index.ts", "build": "tsc", "start": "node --import=@taskless/loader dist/index.js" }}
{ "name": "my-react-router-app", "scripts": { "build": "react-router build", "dev": "react-router dev", "start": "NODE_OPTIONS=\"--import=@taskless/loader\" react-router-serve ./build/server/index.js", "typecheck": "react-router typegen && tsc" }}
{ "name": "my-node-app", "scripts": { "start": "node --import=@taskless/loader server.js" }}
{ "name": "my-node-app", "scripts": { "start": "node --import=@taskless/loader server.js" }}
Configuring the Stripe Pack
Section titled “Configuring the Stripe Pack”The following configuration fields are available for the Stripe integration pack.
If using the CLI, you can configure these inside of your Pack’s config.json inside of the .taskless
directory. If using Taskless Cloud, these can be configured via the Taskless Cloud dashboard.
Field Name | Type | Description | Default Value |
---|---|---|---|
domains | string[] | List of Stripe domains to monitor (supports wildcards) | ["api.stripe.com"] |
enableSuccess | boolean | Enable telemetry for successful requests (tracks errors only by default) | false |
Default Charts
Section titled “Default Charts”The Stripe pack automatically generates the following visualization charts in Taskless Cloud:
- Error Rate: Stripe specific errors over time with drill-down for specific endpoints
Do I need any additional infrastructure?
No, Taskless is designed to work inside your existing application context.
This way you don’t have to figure out kubernetes, create lambda sidecars, or
stand up additional machines.
What is the performance overhead of Taskless?
Taskless tries to do as much as possible asynchronously and locally to minimize the performance impact
to your app. The WebAssembly overhead is typically less than 1ms.
When your application starts and you are using Taskless Cloud for requests (via an API key), your configuration will be downloaded from the Taskless Cloud if it isn’t already cached. The overhead of this request is typically 100-200ms.
What happens if Taskless is unavailable?
When your configuration and integrations are running locally, Taskless will continue to function even if the service isn’t available.
If you are retrieving or sending data to Taskless Cloud, Taskless takes a “fail open” approach. This means that our default behavior is to let requests fall through to your application’s built-in network requests.
Does Taskless capture payment data?
No. Taskless only captures the metadata and error information about your
Stripe requests. Because of the sandbox all Packs run in, Taskless cannot
access server secrets, make web requests, or access any sensitive data in your
application context.