Skip to content
This repository was archived by the owner on Apr 8, 2024. It is now read-only.

uniquelyparticular/stripe-distinct-usage-tracking

Repository files navigation

@particular./stripe-distinct-usage-tracking

npm version semantic-release code style: prettier CircleCI dependency status: david

Stripe Metered Pricing unique usage tracking implementation to increment Subscriptions Usage Record only for distinct new entities

Built with Micro! 🤩

🛠 Setup

Create a .env at the project root with the following credentials:

USAGETRACKING_ORIGIN_WHITELIST=*.mysite.com,*.mycrmplaform.io,*.mycommerceplaform.com,*.now.sh
USAGETRACKING_SECRET_HEADER=x-webhook-secret-key
USAGETRACKING_SECRET_KEY=zxasda
STRIPE_SECRET_KEY=sk12312312312312312

USAGETRACKING_ORIGIN_WHITELIST is a comma separated list of patterns to match against the incoming requests 'Origin' header (ex. localhost,*.myawesomesite.com,*.now.sh)

USAGETRACKING_SECRET_HEADER will default to 'x-shared-secret' and will be used to look for a header value to use for decryption.

USAGETRACKING_SECRET_VALUE will be used for decryption in conjunction w/ the value send in the USAGETRACKING_SECRET_HEADER header's value.

Find your STRIPE_SECRET_KEY within Stripe's API Settings.

📦 Package

Run the following command to build the app

yarn install

Start the development server

yarn dev

The server will typically start on PORT 3000, if not, make a note for the next step.

Start ngrok (change ngrok port below from 3000 if yarn dev deployed locally on different port above)

ngrok http 3000

Make a note of the https ngrok URL provided.

🚀 Deploy

You can easily deploy this function to now.

Contact Adam Grohs @ Particular. for any questions.

About

This Particular example demonstrates how you can track unique Usage Records for Metered Pricing Subscriptions in Stripe.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •