@unchainedshop/core-orders

December 29, 2025 ยท View on GitHub

npm version License: EUPL-1.2

@unchainedshop/core-orders

Order management module for the Unchained Engine. Handles the complete order lifecycle including positions, payments, deliveries, and discounts.

Installation

npm install @unchainedshop/core-orders

Usage

import { configureOrdersModule, OrderStatus } from '@unchainedshop/core-orders';

const ordersModule = await configureOrdersModule({ db });

// Create an order
const orderId = await ordersModule.create({
  userId: 'user-123',
  currency: 'CHF',
  countryCode: 'CH',
});

// Add position to order
await ordersModule.positions.create({
  orderId,
  productId: 'product-456',
  quantity: 2,
});

// Checkout order
await ordersModule.checkout(orderId, { paymentContext: {} });

API Overview

Module Configuration

ExportDescription
configureOrdersModuleConfigure and return the orders module

Queries

MethodDescription
findOrderFind order by ID or number
findOrdersFind orders with filtering and pagination
countCount orders matching query
orderExistsCheck if order exists

Mutations

MethodDescription
createCreate a new order
updateUpdate order data
deleteDelete an order
checkoutProcess order checkout
confirmConfirm an order
rejectReject an order
setPaymentProviderSet payment provider
setDeliveryProviderSet delivery provider

Submodules

Positions (orders.positions)

MethodDescription
findPositionsFind order positions
createAdd position to order
updateUpdate position
deleteRemove position

Payments (orders.payments)

MethodDescription
findPaymentFind order payment
createCreate payment for order
markPaidMark payment as paid
chargeCharge the payment

Deliveries (orders.deliveries)

MethodDescription
findDeliveryFind order delivery
createCreate delivery for order
markDeliveredMark as delivered
sendTrigger delivery

Discounts (orders.discounts)

MethodDescription
findDiscountsFind order discounts
createAdd discount to order
deleteRemove discount

Constants

ExportDescription
OrderStatusOrder status values (OPEN, PENDING, CONFIRMED, FULFILLED, REJECTED)

Settings

ExportDescription
ordersSettingsAccess order module settings

Types

ExportDescription
OrderOrder document type
OrderPositionPosition document type
OrderPaymentPayment document type
OrderDeliveryDelivery document type
OrderDiscountDiscount document type
OrdersModuleModule interface type

Events

EventDescription
ORDER_CREATEOrder created
ORDER_UPDATEOrder updated
ORDER_REMOVEOrder deleted
ORDER_CHECKOUTOrder checked out
ORDER_CONFIRMEDOrder confirmed
ORDER_REJECTEDOrder rejected
ORDER_FULFILLEDOrder fulfilled

License

EUPL-1.2