UNPKG

@redwoodjs-stripe/api

Version:

API-side code for RedwoodJS-Stripe projects

44 lines (43 loc) 1.21 kB
import { deepOmitNils } from "../../lib/deepOmitNils.js"; import { stripe } from "../../lib/stripe.js"; const stripeItems = async ({ params = { productParams: {}, priceParams: {} } }) => { const { productParams = {}, priceParams = {} } = deepOmitNils(params) ?? {}; const products = await stripe.products.list(productParams); const itemList = []; for (const product of products.data) { const prices = await stripe.prices.list({ product: product.id, ...priceParams }); const price = prices.data[0]; if (typeof price !== "undefined") { itemList.push({ id: price.id, name: product.name, description: product.description, images: product.images, price: price.unit_amount, type: price.type }); } } return itemList; }; const stripeItem = async ({ id }) => { const price = await stripe.prices.retrieve(id.toString()); const product = await stripe.products.retrieve(price.product.toString()); return { id: price.id, name: product.name, description: product.description, images: product.images, price: price.unit_amount, type: price.type }; }; export { stripeItem, stripeItems };