Skip to content

Repository files navigation

@banksnussman/revenuecat

A TypeScript client for the RevenueCat REST API.

Install

bun add @banksnussman/revenuecat

Usage

API v1

You can use RevenueCat's v1 API by importing from @banksnussman/revenuecat/v1.

import { subscribers } from "@banksnussman/revenuecat/v1";

const { data, error } = await subscribers({ path: { app_user_id: "123" }})

console.log(data, error)

API v2

You can use RevenueCat's v2 API by importing from @banksnussman/revenuecat/v2.

import { listPurchases } from "@banksnussman/revenuecat/v2";

const { data, error } = await listPurchases({
  path: {
    customer_id: "1",
    project_id: "1",
  }
});

console.log(data, error)

Webhooks

The package also provides some TypeScript types that represent the payload RevenueCat sends to your server.

import type { Webhook } from "@banksnussman/revenuecat/webhook";

export async function handlePaymentWebook(request: Request) {
  const data: Webhook = await request.json();

  try {
    await syncUserPayments(data.event.app_user_id);
  } catch (error) {
    Sentry.captureException(error);
    return new Response("Internal Server Error", { status: 500 });
  }

  return new Response("Success");
}

Bun.serve({
  port: 3000,
  routes: {
    "/payments/webhook": handlePaymentWebook,
  },
});

About

A TypeScript client for RevenueCat's REST API

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages