@revenuecat/purchases-js
v0.15.1
Published
Web subscriptions made easy. Powered by RevenueCat
Downloads
9,299
Readme
RevenueCat is a powerful, reliable, and free to use in-app purchase server with cross-platform support. This repository includes all you need to manage your subscriptions on your website or web app using RevenueCat.
Sign up to get started for free.
Prerequisites
Login @ app.revenuecat.com
- Connect your Stripe account if you haven't already (More payment gateways are coming soon)
- Create a Project (if you haven't already)
- Add a new RCBilling app
- Get the sandbox API key or production API key (depending on the environment)
- Create some products for the RCBilling App
- Create an offering and add packages with RCBilling products
- Create the entitlements you need in your app and link them to the RCBilling products
Installation
- Add the library to your project's dependencies
- npm
npm install --save @revenuecat/purchases-js
- yarn
yarn add --save @revenuecat/purchases-js
- npm
Usage
See the RevenueCat docs and the SDK Reference.
Development
Install the library in a local project
- Clone the repository
- Install dependencies
- Build the library
npm install
npm run build:dev
To avoid publishing the package you can use Yarn's link feature:
- In the purchases-js directory, register the package:
yarn link
- In your testing project, link to the registered package:
yarn link "@revenuecat/purchases-js"
Note: Any changes you make to the library will be automatically reflected in your testing project after running
npm run build:dev
ornpm run build
.
Running Storybook
npm run storybook
Environment Setup for Needs Payment Info Stories
Note: This setup is only required if you need to test Storybook stories involving the
state-needs-payment-info
component.
To run these specific stories, you'll need to set up some environment variables. There are two options:
Option 1: Internal Teams
Internal team members can find the required environment variables in 1Password.
Option 2: Setup Manually
- Create a test account in Stripe
- Go to settings, API keys, and create a restricted key with the following permissions:
- Setup intent (read/write)
- Payment methods (read/write)
- Create a
.env.development.local
file and set the following variables:
VITE_STORYBOOK_RESTRICTED_SECRET="sk_test_1234567890"
VITE_STORYBOOK_PUBLISHABLE_API_KEY="pk_test_1234567890"
VITE_STORYBOOK_ACCOUNT_ID="acct_1234567890"
Running tests
npm run test
Running linters
npm run test:typeCheck
npm run svelte-check
npm run prettier
npm run lint
Running E2E tests
Please check the Demo app readme here
Update API specs
npm run extract-api
This will update the files in api-report
with the latest public API.
If it has uncommited changes, CI tests will fail. Run this command and commit the changes if
they are expected.
Publishing a new version
New versions are automated weekly, but you can also trigger a new release through CircleCI or locally following these steps:
- Run
bundle exec fastlane bump
and follow the instructions - A PR should be created with the changes and a hold job in CircleCI.
- Approve the hold job once tests pass. This will create a tag and continue the release in CircleCI
- Merge the PR once it's been released