Working with Norce Checkout
This guide covers the Norce Checkout path. Norce Commerce also supports a legacy checkout path using the Commerce Services Shopping Service for the entire checkout process. See Working with the Checkout Process for the legacy path. Do not mix Shopping Service checkout operations into the Norce Checkout flow after the basket is created.
For a step-by-step code walkthrough of the Norce Checkout flow, see the Getting Started Tutorial. This reference guide focuses on architecture, environments, and concepts.
Norce Checkout (NCO) is a modern, composable checkout solution used together with Norce Commerce. Norce Checkout provides a flexible adapter-based architecture that allows you to mix and match payment providers and shipping services. The Norce Adapter connects Norce Commerce to Norce Checkout and is the standard way to integrate checkout flows.
The checkout flow always starts by creating a basket in Norce Commerce using the Shopping Service. When the customer is ready to check out, the Norce Adapter creates a Norce Checkout order from that basket, and Norce Checkout handles payment and order completion.
For general requirements and access details, see How to access Norce Checkout.
Environments
Norce Checkout provides three distinct environments to support your development lifecycle:
- Playground: A sandbox environment for early experiments and initial testing without affecting your development data.
- Stage: Your primary integration and testing environment. This should be used for development, UAT (User Acceptance Testing), and ensuring that all provider credentials work correctly.
- Production: The live environment for real transactions.
For technical details, including base URL patterns and how to construct your adapter endpoints, see How to access Norce Checkout.
Create a Norce Checkout Order
When the customer is ready to check out, your application calls the Norce Adapter with the basket reference. The Norce Adapter then:
- Fetches the basket contents from Norce Commerce
- Maps line items, prices, and VAT to a Norce Checkout Order
- Registers hooks and notifications for order state changes
- Returns an
orderIdused for all subsequent checkout operations
The Norce Adapter acts as the bridge between Norce Commerce (where the basket lives) and Norce Checkout (where payment and order completion happen).
The Checkout Order
The Norce Checkout Order is the authoritative state for the checkout session. It contains:
- Cart: Items, totals, and attributes synchronized from the original basket
- Validations: Endpoints for order validation before completion
- Hooks: Subscriptions that notify adapters of changes (shipping, state, customer)
- Notifications: Triggers for order completion events back to Norce Commerce
Your frontend retrieves the order to display cart totals, validation state, and any provider-specific attributes needed for the checkout UI.
Payment Integration
Norce Checkout supports multiple payment adapters. After creating the order, you initiate payment through your chosen payment adapter using the orderId returned from the create order step. Each adapter encapsulates the provider-specific integration details while maintaining a consistent order state.
How it works:
- Your application calls the payment adapter with the
orderId(the same ID returned when creating the order) - The adapter creates a payment session with the payment provider
- The adapter returns provider-specific session information (redirect URL, HTML snippet, or widget data)
- Your frontend uses this information to render the payment UI
Norce Checkout has adapters ready for several payment service providers and you can find the provider specific information on this page. If you want an adapter to a provider that Norce doesn't have an adapter for, you may code your own adapter and plug it into Norce Checkout.
In addition to external payment providers you can also use our Non-PSP Adapter. This adapter can be used like any other PSP adapter but will not make any external calls but just approves the payment upon completion. Useful for initial testing of the payment flow with Norce Checkout and also for cases where the ERP handles the actual invoicing.
If you want to bypass third-party sign-ups and credential wait times, use the Non-PSP Adapter to build and verify your entire checkout architecture. Since it follows the same state-machine as our other adapters, you can swap it for a different provider later with minimal code changes.
Order Lifecycle
Order completion in Norce Checkout transitions through the following states:
- Checkout - Initial state, order is being configured (cart, customer, shipping)
- Processing - Payment is being processed by the payment adapter
- Accepted - Payment accepted, order is being finalized
- Completed - Order is complete, all adapters have finished their work
Adapter responsibilities during completion:
- Payment Adapter: Drives the payment completion flow and notifies the Order API when payment is confirmed
- Norce Adapter: Listens for state changes and synchronizes back to Norce Commerce—completing the payment, creating the order, and triggering any configured notifications
The hooks and notifications registered during order creation ensure all adapters stay synchronized as the order progresses through these states.
Next Steps
Now that you understand the architecture, it's time to get your hands dirty:
- Get Access: Head over to API Access to secure your credentials and environment details.
- Start Building: Follow our Getting Started Tutorial to implement your first manual checkout flow using the Non-PSP adapter.
Further Reading
For comprehensive Norce Checkout documentation:
- Norce Checkout Overview - Architecture and core concepts
- Norce Platform Adapter - Connects Norce Commerce to Norce Checkout
For B2B scenarios:
- Working with B2B Baskets - B2B basket management, company pricing, and approval workflows
For API reference:
- Order API - Order management
- Configuration API - Adapter configuration
- Norce Adapter API - Platform integration