Catalog

Using the Catalog

Query products and prices using the MoneyMQ SDK

Once your catalog is deployed, you can query products and prices using the SDK.

Installation

npm install @moneymq/sdk
pnpm add @moneymq/sdk
yarn add @moneymq/sdk
bun add @moneymq/sdk

Initialize the Client

import { MoneyMQ } from '@moneymq/sdk';

const moneymq = new MoneyMQ({
\tendpoint: 'http://localhost:8488',
});

Listing Catalog

Interactive
import { MoneyMQ } from '@moneymq/sdk';const moneymq = new MoneyMQ({	endpoint: 'http://localhost:8488',});const catalog = await moneymq.catalog.list();console.log(catalog);

Filtering Catalog

// List only active products
const activeProducts = await moneymq.catalog.list({
  active: true,
});

// Paginate through products
const page1 = await moneymq.catalog.list({ limit: 10 });
const page2 = await moneymq.catalog.list({
  limit: 10,
  starting_after: page1.data[page1.data.length - 1].id,
});

Retrieving a Single Item

const product = await moneymq.catalog.retrieve('prod_xxxxx');

console.log(product.name);
console.log(product.metadata);

Retrieving a Single Price

const price = await moneymq.catalog.prices.retrieve('price_xxxxx');

console.log(price.unit_amount);
console.log(price.currency);

Building a Product Selection UI

// Fetch catalog
const catalog = await moneymq.catalog.list({ active: true });

for (const product of catalog.data) {
  const prices = await moneymq.catalog.prices.list({
    product: product.id,
    active: true,
  });

  console.log(`${product.name}:`);
  for (const price of prices.data) {
    console.log(`  - $${price.unit_amount} ${price.currency.toUpperCase()}`);
  }
}

Next Steps

On this page