How to use chargebee - 10 common examples

To help you get started, we’ve selected a few chargebee examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github WorldBrain / Memex / functions / src / index.ts View on Github external
const _refreshUserSubscriptionStatus = async (userId: string) => {
    chargebee.configure(getChargebeeOptions())

    const claims: Claims = {
        subscriptions: {},
        lastSubscribed: null,
    }

    const subscriptionQuery = {
        customer_id: userId,
        'sort_by[asc]': 'created_at',
    }

    // Query the Chargebee API for this user's subscriptions, adding every active/in_trial sub to the claims object.
    // any past subscription updates the lastSubscribed property to know whether a user has subscribed in the past.
    await chargebee.subscription
        .list(subscriptionQuery)
        .request(function(error: any, result: any) {
github WorldBrain / Memex / functions / src / index.ts View on Github external
const _refreshUserSubscriptionStatus = async (userId: string) => {
    chargebee.configure(getChargebeeOptions())

    const claims: Claims = {
        subscriptions: {},
        lastSubscribed: null,
    }

    const subscriptionQuery = {
        customer_id: userId,
        'sort_by[asc]': 'created_at',
    }

    // Query the Chargebee API for this user's subscriptions, adding every active/in_trial sub to the claims object.
    // any past subscription updates the lastSubscribed property to know whether a user has subscribed in the past.
    await chargebee.subscription
        .list(subscriptionQuery)
        .request(function(error: any, result: any) {
            if (error) {
                return errorResponse('Provider', error)
            } else {
                for (const entry of result.list) {
                    if (
                        entry.subscription.status === 'active' ||
                        entry.subscription.status === 'in_trial'
                    ) {
                        // TODO: verify `next_billing_at` is the right thing to refresh on and not `current_term_end`
                        claims.subscriptions[entry.subscription.plan_id] = {
                            refreshAt: entry.subscription.next_billing_at,
                        }
                    }
                    claims.lastSubscribed = entry.subscription.createdAt
github WorldBrain / Memex / functions / src / index.ts View on Github external
async (data: any, context: CallableContext) => {
        if (context.auth == null) {
            return notAuthenticatedResponse
        }

        // todo: move this up to the global import runtime context if the tests are okay with it
        chargebee.configure(getChargebeeOptions())

        const checkoutOptions = {
            subscription: { plan_id: data.planId },
            customer: getUser(context),
        }

        return chargebee.hosted_page
            .checkout_new(checkoutOptions)
            .request(resultFormatter(hostedPage))
    },
)
github rrecuero / fstack-ethdapp-template / backend / subscriptions / subscriptionsManager.js View on Github external
createHostedPageSubscription(planId, user, cb) {
    const hostedPage = chargebee.hosted_page;
    const checkoutFunc = user.subscriptionId
      ? hostedPage.checkout_existing : hostedPage.checkout_new;
    const params = ({
      subscription: {
        plan_id: planId
      },
      customer: {
        id: user && user._id.toString(),
        email: user && user.email,
        first_name: user.name && user.name.split(' ')[0],
        last_name: ''
      },
      reactivate: true,
      redirect_url: configChargebee.redirect_url,
      cancel_url: configChargebee.cancel_url,
      embed: true,
github staart / api / src / helpers / stripe.ts View on Github external
import Stripe from "stripe";
import chargebee, { Customer } from "chargebee";
import {
  STRIPE_SECRET_KEY,
  CHARGEBEE_SECRET_KEY,
  CHARGEBEE_SITE
} from "../config";
import { updateOrganization } from "../crud/organization";
const stripe = new Stripe(STRIPE_SECRET_KEY);
chargebee.configure({
  api_key: CHARGEBEE_SECRET_KEY,
  site: CHARGEBEE_SITE
});

/**
 * @param id - Stripe customer ID
 */
export const getStripeCustomer = (id: string) =>
  new Promise((resolve, reject) => {
    chargebee.customer.retrieve(id).request((error: any, result: any) => {
      if (error) return reject(error);
      resolve(result.customer as Customer);
    });
  });

/**
github rrecuero / fstack-ethdapp-template / backend / subscriptions / subscriptionsManager.js View on Github external
constructor() {
    if (!instance) {
      chargebee.configure({
        site: configChargebee.site,
        api_key: configChargebee.api_key
      });
      instance = this;
    }
    return instance;
  }
github getguesstimate / guesstimate-app / src / server / chargebee / index.js View on Github external
import chargebee from 'chargebee'
import variables from './constants.js'

chargebee.configure({
  site: variables.CHARGEBEE_SITE,
  api_key:  variables.CHARGEBEE_API_KEY
})
github staart / api / src / helpers / stripe.ts View on Github external
new Promise((resolve, reject) => {
    chargebee.subscription
      .list({
        "customer_id[is]": id
      })
      .request((error: any, result: any) => {
        if (error) return reject(error);
        resolve(result.list as any);
      });
  });
github rrecuero / fstack-ethdapp-template / backend / subscriptions / subscriptionsManager.js View on Github external
reactivateSubscription(subscriptionId, cb) {
    chargebee.subscription.reactivate(subscriptionId).request(cb);
  }
github staart / api / src / helpers / stripe.ts View on Github external
new Promise((resolve, reject) => {
    chargebee.subscription
      .retrieve(sourceId)
      .request((error: any, result: any) => {
        if (error) return reject(error);
        resolve(result as any);
      });
  });

chargebee

A library for integrating with ChargeBee.

MIT
Latest version published 21 days ago

Package Health Score

71 / 100
Full package analysis