Skip to main content
Skip to main content

create - Pricing Module Reference

Beta

This documentation provides a reference to the create method. This belongs to the Pricing Module.

**create**(data, sharedContext?): Promise<[PriceSetDTO](/references/pricing/interfaces/pricing.PriceSetDTO)>

This method is used to create a new price set.

Example

To create a default price set, don't pass any rules. For example:

import {
initialize as initializePricingModule,
} from "@medusajs/pricing"

async function createPriceSet () {
const pricingService = await initializePricingModule()

const priceSet = await pricingService.create(
{
rules: [],
prices: [
{
amount: 500,
currency_code: "USD",
min_quantity: 0,
max_quantity: 4,
rules: {},
},
{
amount: 400,
currency_code: "USD",
min_quantity: 5,
max_quantity: 10,
rules: {},
},
],
},
)

// do something with the price set or return it
}

To create a price set and associate it with rule types:

import {
initialize as initializePricingModule,
} from "@medusajs/pricing"

async function createPriceSet () {
const pricingService = await initializePricingModule()

const priceSet = await pricingService.create(
{
rules: [{ rule_attribute: "region_id" }, { rule_attribute: "city" }],
prices: [
{
amount: 300,
currency_code: "EUR",
rules: {
region_id: "PL",
city: "krakow"
},
},
{
amount: 400,
currency_code: "EUR",
rules: {
region_id: "PL"
},
},
{
amount: 450,
currency_code: "EUR",
rules: {
city: "krakow"
},
}
],
},
)

// do something with the price set or return it
}

Parameters

dataCreatePriceSetDTORequired
The attributes of the price set to create.
sharedContextContext
A context used to share resources, such as transaction manager, between the application and the module.

Returns

PromisePromise<PriceSetDTO>Required
The created price set.

**create**(data, sharedContext?): Promise&#60;[PriceSetDTO](/references/pricing/interfaces/pricing.PriceSetDTO)[]&#62;

This method is used to create multiple price sets.

Example

To create price sets with a default price, don't pass any rules and make sure to pass the currency_code of the price. For example:

import {
initialize as initializePricingModule,
} from "@medusajs/pricing"

async function createPriceSets () {
const pricingService = await initializePricingModule()

const priceSets = await pricingService.create([
{
rules: [],
prices: [
{
amount: 500,
currency_code: "USD",
rules: {},
},
],
},
])

// do something with the price sets or return them
}

To create price sets and associate them with rule types:

import {
initialize as initializePricingModule,
} from "@medusajs/pricing"

async function createPriceSets () {
const pricingService = await initializePricingModule()

const priceSets = await pricingService.create([
{
rules: [{ rule_attribute: "region_id" }, { rule_attribute: "city" }],
prices: [
{
amount: 300,
currency_code: "EUR",
rules: {
region_id: "PL",
city: "krakow"
},
},
{
amount: 400,
currency_code: "EUR",
min_quantity: 0,
max_quantity: 4,
rules: {
region_id: "PL"
},
},
{
amount: 450,
currency_code: "EUR",
rules: {
city: "krakow"
},
}
],
},
])

// do something with the price sets or return them
}

Parameters

dataCreatePriceSetDTO[]Required
The price sets to create.
sharedContextContext
A context used to share resources, such as transaction manager, between the application and the module.

Returns

PromisePromise<PriceSetDTO[]>Required
The list of created price sets.
Was this section helpful?