Last updated

Extending the Checkout

Norce Checkout (NCO) provides three extension points that allow you to customize and integrate with the checkout flow. Each extension point serves a different purpose and operates at different stages of the checkout process.

Validations

Validations are synchronous calls that allow you to approve or deny a purchase before it is completed. They act as gatekeepers that can prevent an order from proceeding if certain conditions are not met.

Common use cases for validations include:

  • Verifying inventory availability in external systems
  • Checking customer credit limits or account status
  • Enforcing business rules (e.g., minimum order values, restricted products)
  • Validating delivery addresses against shipping provider requirements

Validations return a pass/fail result and can include a message explaining why a purchase was denied. For implementation details, see the Validations guide.

Hooks

Hooks are synchronous calls that allow you to update data during the checkout process. They are triggered at specific points in the checkout flow and can modify order data before it is processed.

Common use cases for hooks include:

  • Updating shipping options based on cart contents or delivery address
  • Recalculating prices based on external pricing rules
  • Applying dynamic discounts or promotions
  • Enriching order data with external information

Hooks must respond quickly as they block the checkout flow until a response is received. For implementation details, see the Hooks guide.

Notifications (Events)

Notifications are asynchronous messages sent when something has happened in the checkout. Unlike hooks and validations, notifications do not block the checkout flow and are delivered after the triggering event has completed.

Common use cases for notifications include:

  • Notifying external systems when an order is completed
  • Triggering fulfillment workflows
  • Updating inventory systems
  • Sending data to analytics or reporting platforms

For a practical example of implementing custom notifications, see the Custom Notifications guide.