Working with the Checkout Process in Norce Commerce
Overview
The checkout process is the final step in the buying experience, involving payment and order confirmation. This process is governed by business rules defined in Norce Commerce. Your solution must comply with these rules to ensure a successful purchase.
Prerequisites for Checkout
To use the checkout process, you must have:
- A basket with items
- At least one payment method configured
- At least one delivery method configured
References:
Example: Checkout Object (JSON and XML)
{
"Basket": {
"Id": 6600304,
"CustomerId": null,
"CompanyId": null,
"SalesContactId": null,
"StatusId": 3,
"CurrencyId": 2,
"CurrencyCode": "SEK",
"Comment": null,
"OrderReference": null,
"DiscountCode": null,
"ReferId": null,
"ReferUrl": null,
"ValidTo": null,
"IsEditable": true,
"Items": [
{
"Id": 16030464,
"LineNo": 1,
"ParentLineNo": null,
"ProductId": 31234584,
"PartNo": "PRD0001270",
"ManufacturerPartNo": "T540XP",
"Name": "T540XP",
"SubHeader": "<p>Detta är en kort beskrivning.</p>",
"ThumbnailImage": "2/thumb_p31234584.jpg",
"FlagIdSeed": "915,1884",
"Type": 1,
"PriceDisplay": 5743.20,
"Price": 0.00,
"PriceOriginal": 5743.20,
"Cost": 5734.34,
"VatRate": 1.2500,
"Quantity": 1.000,
"UOM": "st",
"UOMCount": 1.000,
"Comment": null,
"PriceListId": 4654,
"ReferId": null,
"ReferUrl": null,
"IsEditable": true,
"IsDiscountable": true,
"Info": [
{
"TypeId": 209,
"Value": "",
"Code": "bit_size"
},
{
"TypeId": 241,
"Value": "",
"Code": "bit_del_time"
},
{
"TypeId": 95,
"Value": "",
"Code": "bit_additionalinformation"
}
],
"OptionalItems": [],
"OnHandValue": 0.000,
"IncomingValue": 0.000,
"NextDeliveryDate": null,
"LeadtimeDayCount": null,
"PromotionIdSeed": "",
"ImageKey": "39e4b7ec-12d8-4f6e-b9c1-cbd7334190e1",
"ManufacturerName": "Husqvarna",
"CategoryId": 41722,
"OnHand": {
"Value": 0.000,
"IncomingValue": 0.000,
"NextDeliveryDate": null,
"LeadtimeDayCount": null,
"LastChecked": null,
"IsActive": false,
"IsReturnable": true,
"Info": null
},
"OnHandSupplier": {
"Value": 200.000,
"IncomingValue": 0.000,
"NextDeliveryDate": null,
"LeadtimeDayCount": 7,
"LastChecked": null,
"IsActive": true,
"IsReturnable": true,
"Info": null
},
"PriceRecommended": 7000.00,
"ManufacturerId": 1685,
"UniqueName": "t540xp",
"StatusId": 1,
"StockDisplayBreakPoint": null,
"PriceCatalog": null,
"IsBuyable": true,
"SubDescription": null,
"CategoryIdSeed": "41722",
"RecommendedQuantity": 4.000,
"IsRecommendedQuantityFixed": false,
"AppliedPromotions": [],
"RequirementPromotionIdSeed": "5093",
"IsSubscribable": false,
"DescriptionHeader": "Husqvarna T540XP",
"IsPriceManual": false,
"PriceStandard": 6375.20,
"EanCode": "123123123123123",
"CostUnit": 0.00,
"PriceDisplayIncVat": 7179.00
},
{
"Id": 16030465,
"LineNo": 2,
"ParentLineNo": null,
"ProductId": 24706222,
"PartNo": "PRD0001212",
"ManufacturerPartNo": "FREIGHT01",
"Name": "Freight",
"SubHeader": null,
"ThumbnailImage": null,
"FlagIdSeed": "915",
"Type": 3,
"PriceDisplay": 0.00,
"Price": 0.00,
"PriceOriginal": 0.00,
"Cost": 0.00,
"VatRate": 1.25,
"Quantity": 1.000,
"UOM": "st",
"UOMCount": 1.000,
"Comment": null,
"PriceListId": 1,
"ReferId": null,
"ReferUrl": null,
"IsEditable": true,
"IsDiscountable": true,
"Info": [
{
"TypeId": 209,
"Value": "",
"Code": "bit_size"
},
{
"TypeId": 241,
"Value": "",
"Code": "bit_del_time"
},
{
"TypeId": 95,
"Value": "",
"Code": "bit_additionalinformation"
}
],
"OptionalItems": [],
"OnHandValue": 0.000,
"IncomingValue": 0.000,
"NextDeliveryDate": null,
"LeadtimeDayCount": 0,
"PromotionIdSeed": null,
"ImageKey": null,
"ManufacturerName": "Miscellaneous",
"CategoryId": null,
"OnHand": {
"Value": 0.000,
"IncomingValue": 0.000,
"NextDeliveryDate": null,
"LeadtimeDayCount": 0,
"LastChecked": "/Date(1325504774807+0100)/",
"IsActive": true,
"IsReturnable": true,
"Info": null
},
"OnHandSupplier": {
"Value": 0.000,
"IncomingValue": 0.000,
"NextDeliveryDate": null,
"LeadtimeDayCount": null,
"LastChecked": null,
"IsActive": false,
"IsReturnable": true,
"Info": null
},
"PriceRecommended": null,
"ManufacturerId": 4335,
"UniqueName": "freight",
"StatusId": 1,
"StockDisplayBreakPoint": null,
"PriceCatalog": null,
"IsBuyable": true,
"SubDescription": null,
"CategoryIdSeed": "",
"RecommendedQuantity": 1.000,
"IsRecommendedQuantityFixed": false,
"AppliedPromotions": [],
"RequirementPromotionIdSeed": null,
"IsSubscribable": false,
"DescriptionHeader": null,
"IsPriceManual": false,
"PriceStandard": 0.00,
"EanCode": "",
"CostUnit": 0.00,
"PriceDisplayIncVat": 0.00
},
{
"Id": 0,
"LineNo": 3,
"ParentLineNo": 1,
"ProductId": 31234588,
"PartNo": "PRD0001274",
"ManufacturerPartNo": "Underhållskit",
"Name": "Underhållskit Motorsåg",
"SubHeader": null,
"ThumbnailImage": "2/thumb_p31234588.png",
"FlagIdSeed": "915",
"Type": 1,
"PriceDisplay": 111.20,
"Price": 0.00,
"PriceOriginal": 111.20,
"Cost": 100.25,
"VatRate": 1.25,
"Quantity": 1,
"UOM": "st",
"UOMCount": 1.000,
"Comment": null,
"PriceListId": 1,
"ReferId": null,
"ReferUrl": null,
"IsEditable": false,
"IsDiscountable": true,
"Info": [
{
"TypeId": 209,
"Value": "",
"Code": "bit_size"
},
{
"TypeId": 241,
"Value": "",
"Code": "bit_del_time"
},
{
"TypeId": 95,
"Value": "",
"Code": "bit_additionalinformation"
}
],
"OptionalItems": [],
"OnHandValue": 12.000,
"IncomingValue": 0.000,
"NextDeliveryDate": null,
"LeadtimeDayCount": 0,
"PromotionIdSeed": "",
"ImageKey": null,
"ManufacturerName": "Husqvarna",
"CategoryId": 41722,
"OnHand": {
"Value": 12.000,
"IncomingValue": 0.000,
"NextDeliveryDate": null,
"LeadtimeDayCount": 0,
"LastChecked": null,
"IsActive": true,
"IsReturnable": true,
"Info": null
},
"OnHandSupplier": {
"Value": 133.000,
"IncomingValue": 0.000,
"NextDeliveryDate": null,
"LeadtimeDayCount": 5,
"LastChecked": "/Date(1487085555163+0100)/",
"IsActive": true,
"IsReturnable": true,
"Info": null
},
"PriceRecommended": null,
"ManufacturerId": 1685,
"UniqueName": "underhallskit-motorsag",
"StatusId": 1,
"StockDisplayBreakPoint": null,
"PriceCatalog": null,
"IsBuyable": true,
"SubDescription": null,
"CategoryIdSeed": "41722",
"RecommendedQuantity": 1.000,
"IsRecommendedQuantityFixed": false,
"AppliedPromotions": [],
"RequirementPromotionIdSeed": "",
"IsSubscribable": false,
"DescriptionHeader": null,
"IsPriceManual": false,
"PriceStandard": 0.00,
"EanCode": "345345345345345",
"CostUnit": 0.00,
"PriceDisplayIncVat": 139.00
}
],
"Info": [
{
"TypeId": 169,
"Value": "",
"Code": "bit_expecteddeliverydate"
},
{
"TypeId": 293,
"Value": "",
"Code": "bit_additionalorderinfo"
},
{
"TypeId": 445,
"Value": "",
"Code": "Norce_Gender"
},
{
"TypeId": 493,
"Value": "",
"Code": "recurring"
}
],
"Summary": {
"Items": {
"Amount": 5854.40,
"Vat": 1463.60,
"AmountIncVat": 7318.00
},
"Freigt": {
"Amount": 0.00,
"Vat": 0.00,
"AmountIncVat": 0.00
},
"Fees": {
"Amount": 0.00,
"Vat": 0.00,
"AmountIncVat": 0.00
},
"Total": {
"Amount": 5854.40,
"Vat": 1463.60,
"AmountIncVat": 7318.00
}
},
"AppliedPromotions": [
{
"Id": 5093,
"Name": "Add service",
"Header": "",
"ShortDescription": "",
"Description1": "",
"Description2": "",
"StartDate": null,
"EndDate": null,
"ImageKey": null,
"RequirementSeed": "3",
"DiscountCode": null,
"IsExcludedFromPriceCalculation": false,
"AllowProductListing": false,
"Images": [],
"ProductFilters": [
{
"ManufacturerId": null,
"CategorySeed": null,
"TypeId": null,
"ProductId": null,
"VariantProductId": null,
"PartNo": "PRD0001274",
"PricelistId": 1,
"FlagId": null
},
{
"ManufacturerId": null,
"CategorySeed": null,
"TypeId": null,
"ProductId": null,
"VariantProductId": null,
"PartNo": null,
"PricelistId": null,
"FlagId": 1884
}
],
"AppliedAmount": 0.00,
"EffectSeed": "5",
"FreightDiscountPct": null,
"IsStackable": true,
"AppliedAmountIncVat": 0.00
}
],
"IpAddress": "151.236.200.213",
"AttestedBy": null,
"TypeId": 1,
"DoHold": false,
"IsBuyable": true,
"InvoiceReference": null,
"PaymentMethodId": 14,
"DeliveryMethodId": 1,
"SalesAreaId": 1
},
"Buyer": {
"Id": null,
"Key": "86830286-d988-442d-b741-30e637da1880",
"Code": null,
"Email": "test@test.se",
"SSN": null,
"FirstName": "TestBuyerName",
"LastName": "TestBuyerLastname",
"Phone": null,
"CellPhone": null,
"ReferId": null,
"ReferUrl": null,
"Account": {
"Id": null,
"Key": "86830286-d988-442d-b741-30e637da1880",
"LoginName": null,
"Name": null,
"Roles": null,
"Authorizations": null,
"IsActive": false
},
"Companies": [],
"DeliveryAddresses": [],
"InvoiceAddress": null,
"Flags": null,
"UseInvoiceAddressAsDeliveryAddress": false,
"Info": null,
"PricelistIds": null,
"CrmId": null,
"IsActive": null,
"Created": null,
"Updated": null
},
"Payer": {
"Id": null,
"Key": "99a312c9-003a-4063-8310-b745e7e27f1e",
"Code": null,
"Email": "test@test.se",
"SSN": null,
"FirstName": "TestBuyerName",
"LastName": "TestBuyerLastname",
"Phone": null,
"CellPhone": null,
"ReferId": null,
"ReferUrl": null,
"Account": {
"Id": null,
"Key": "99a312c9-003a-4063-8310-b745e7e27f1e",
"LoginName": null,
"Name": null,
"Roles": null,
"Authorizations": null,
"IsActive": false
},
"Companies": [],
"DeliveryAddresses": [],
"InvoiceAddress": {
"Id": 12055560,
"CareOf": null,
"Line1": "TestInvoicestreet 1",
"Line2": null,
"Zip": "12345",
"City": "TestCity",
"CountryId": 1,
"Country": "Sverige",
"Region": null,
"IsValidated": false,
"GlobalLocationNo": null,
"ShippingPhoneNumber": null
},
"Flags": null,
"UseInvoiceAddressAsDeliveryAddress": false,
"Info": null,
"PricelistIds": null,
"CrmId": null,
"IsActive": null,
"Created": null,
"Updated": null
},
"ShipTo": {
"Id": null,
"Key": "3466a97f-f1fa-4ff1-8ae9-ea641467f584",
"Code": null,
"Email": "test@test.se",
"SSN": null,
"FirstName": "TestBuyerName",
"LastName": "TestBuyerLastname",
"Phone": null,
"CellPhone": null,
"ReferId": null,
"ReferUrl": null,
"Account": {
"Id": null,
"Key": "3466a97f-f1fa-4ff1-8ae9-ea641467f584",
"LoginName": null,
"Name": null,
"Roles": null,
"Authorizations": null,
"IsActive": false
},
"Companies": [],
"DeliveryAddresses": [
{
"Id": 12055561,
"CareOf": null,
"Line1": "TestInvoicestreet 1",
"Line2": null,
"Zip": "12345",
"City": "TestCity",
"CountryId": 1,
"Country": "Sverige",
"Region": null,
"IsValidated": false,
"GlobalLocationNo": null,
"ShippingPhoneNumber": null
}
],
"InvoiceAddress": null,
"Flags": null,
"UseInvoiceAddressAsDeliveryAddress": false,
"Info": null,
"PricelistIds": null,
"CrmId": null,
"IsActive": null,
"Created": null,
"Updated": null
},
"PaymentMethods": [
{
"Id": 14,
"Name": "Faktura",
"TypeId": 7,
"TypeName": "ErpInvoice",
"Description": "30 dagars faktura",
"PartNo": null,
"Price": 0.00,
"VatRate": 1.00,
"ImagePath": null,
"IsSelected": true,
"Service": {
"Id": 3,
"Name": "No service",
"Description": null,
"ImagePath": null,
"ImageKey": null
},
"ImageKey": null,
"IsForCompanyOnly": false,
"IsForPersonOnly": false
},
{
"Id": 18,
"Name": "Presentkort",
"TypeId": 9,
"TypeName": "GiftCertificate",
"Description": "Used for giftcards handeled by an ERP or other source outside of Norce Commerce",
"PartNo": null,
"Price": 0.00,
"VatRate": 1.00,
"ImagePath": null,
"IsSelected": false,
"Service": {
"Id": 3,
"Name": "No service",
"Description": null,
"ImagePath": null,
"ImageKey": null
},
"ImageKey": null,
"IsForCompanyOnly": false,
"IsForPersonOnly": false
},
{
"Id": 157,
"Name": "Svea Ekonomi",
"TypeId": 19,
"TypeName": "Checkout",
"Description": "Form checkout payment.",
"PartNo": null,
"Price": 0.00,
"VatRate": 1.00,
"ImagePath": null,
"IsSelected": false,
"Service": {
"Id": 19,
"Name": "SveaEkonomi",
"Description": null,
"ImagePath": null,
"ImageKey": null
},
"ImageKey": null,
"IsForCompanyOnly": false,
"IsForPersonOnly": false
},
{
"Id": 162,
"Name": "Adyen checkout",
"TypeId": 19,
"TypeName": "Checkout",
"Description": "Form checkout payment.",
"PartNo": null,
"Price": 0.00,
"VatRate": 1.00,
"ImagePath": null,
"IsSelected": false,
"Service": {
"Id": 27,
"Name": "AdyenV67",
"Description": null,
"ImagePath": null,
"ImageKey": null
},
"ImageKey": null,
"IsForCompanyOnly": false,
"IsForPersonOnly": false
},
{
"Id": 156,
"Name": "Klarna Checkout v3 (Recurrable)",
"TypeId": 19,
"TypeName": "Checkout",
"Description": "Form checkout payment.",
"PartNo": null,
"Price": 0.00,
"VatRate": 1.00,
"ImagePath": null,
"IsSelected": false,
"Service": {
"Id": 18,
"Name": "KlarnaCheckoutV3",
"Description": null,
"ImagePath": null,
"ImageKey": null
},
"ImageKey": null,
"IsForCompanyOnly": false,
"IsForPersonOnly": false
},
{
"Id": 160,
"Name": "Dibs Easy Pay",
"TypeId": 19,
"TypeName": "Checkout",
"Description": "Form checkout payment.",
"PartNo": null,
"Price": 0.00,
"VatRate": 1.00,
"ImagePath": null,
"IsSelected": false,
"Service": {
"Id": 22,
"Name": "DibsEasyCheckout",
"Description": null,
"ImagePath": null,
"ImageKey": null
},
"ImageKey": null,
"IsForCompanyOnly": false,
"IsForPersonOnly": false
},
{
"Id": 166,
"Name": "Walley B2B",
"TypeId": 19,
"TypeName": "Checkout",
"Description": "",
"PartNo": null,
"Price": 0.00,
"VatRate": 1.00,
"ImagePath": null,
"IsSelected": false,
"Service": {
"Id": 24,
"Name": "Collector",
"Description": null,
"ImagePath": null,
"ImageKey": null
},
"ImageKey": null,
"IsForCompanyOnly": false,
"IsForPersonOnly": false
}
],
"DeliveryMethods": [
{
"Id": 1,
"Name": "DB Schenker Utlämningsställe",
"TypeId": 6,
"TypeName": "Utlämning",
"Description": "DB Schenker leverans till vald utlämningsställe",
"PartNo": "PRD0001212",
"Price": 0.0000,
"VatRate": 1.25,
"IsNotifiable": false,
"ImagePath": null,
"IsSelected": true,
"ImageKey": null,
"IsForCompanyOnly": false,
"IsForPersonOnly": false,
"Cost": 0.0000,
"StoreId": null,
"WarehouseId": null,
"LocationId": null,
"DropPoints": [],
"Code": "DBS-UTL",
"Carrier": null
},
{
"Id": 7,
"Name": "Hempaket kväll",
"TypeId": 1,
"TypeName": "Hemleverans",
"Description": "Leverans sker hem mellan 17:00 och 22:00.",
"PartNo": "PRD0001212",
"Price": 49.0000,
"VatRate": 1.2500,
"IsNotifiable": false,
"ImagePath": null,
"IsSelected": false,
"ImageKey": null,
"IsForCompanyOnly": false,
"IsForPersonOnly": true,
"Cost": 0.0000,
"StoreId": null,
"WarehouseId": null,
"LocationId": null,
"DropPoints": [],
"Code": "HEMPK",
"Carrier": null
}
],
"Payments": []
}
<Checkout xmlns="Enferno.Services.Contracts.Expose.Shopping" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Basket>
<Id>6600304</Id>
<CustomerId i:nil="true"/>
<CompanyId i:nil="true"/>
<SalesContactId i:nil="true"/>
<StatusId>3</StatusId>
<CurrencyId>2</CurrencyId>
<CurrencyCode>SEK</CurrencyCode>
<Comment i:nil="true"/>
<OrderReference i:nil="true"/>
<DiscountCode i:nil="true"/>
<ReferId i:nil="true"/>
<ReferUrl i:nil="true"/>
<ValidTo i:nil="true"/>
<IsEditable>true</IsEditable>
<Items>
<BasketItem>
<Id>16030464</Id>
<LineNo>1</LineNo>
<ParentLineNo i:nil="true"/>
<ProductId>31234584</ProductId>
<PartNo>PRD0001270</PartNo>
<ManufacturerPartNo>T540XP</ManufacturerPartNo>
<Name>T540XP</Name>
<SubHeader><p>Detta är en kort beskrivning.</p></SubHeader>
<ThumbnailImage>2/thumb_p31234584.jpg</ThumbnailImage>
<FlagIdSeed>915,1884</FlagIdSeed>
<Type>1</Type>
<PriceDisplay>5743.20</PriceDisplay>
<Price>0.00</Price>
<PriceOriginal>5743.20</PriceOriginal>
<Cost>5734.34</Cost>
<VatRate>1.2500</VatRate>
<Quantity>1.000</Quantity>
<UOM>st</UOM>
<UOMCount>1.000</UOMCount>
<Comment i:nil="true"/>
<PriceListId>4654</PriceListId>
<ReferId i:nil="true"/>
<ReferUrl i:nil="true"/>
<IsEditable>true</IsEditable>
<IsDiscountable>true</IsDiscountable>
<Info>
<Info>
<TypeId>209</TypeId>
<Value/>
<Code>bit_size</Code>
</Info>
<Info>
<TypeId>241</TypeId>
<Value/>
<Code>bit_del_time</Code>
</Info>
<Info>
<TypeId>95</TypeId>
<Value/>
<Code>bit_additionalinformation</Code>
</Info>
</Info>
<OptionalItems/>
<OnHandValue>0.000</OnHandValue>
<IncomingValue>0.000</IncomingValue>
<NextDeliveryDate i:nil="true"/>
<LeadtimeDayCount i:nil="true"/>
<PromotionIdSeed/>
<ImageKey>39e4b7ec-12d8-4f6e-b9c1-cbd7334190e1</ImageKey>
<ManufacturerName>Husqvarna</ManufacturerName>
<CategoryId>41722</CategoryId>
<OnHand xmlns:a="Enferno.Services.Contracts.Expose.Products">
<a:Value>0.000</a:Value>
<a:IncomingValue>0.000</a:IncomingValue>
<a:NextDeliveryDate i:nil="true"/>
<a:LeadtimeDayCount i:nil="true"/>
<a:LastChecked i:nil="true"/>
<a:IsActive>false</a:IsActive>
<a:IsReturnable>true</a:IsReturnable>
<a:Info i:nil="true" xmlns:b="Enferno.Services.Contracts.Expose"/>
</OnHand>
<OnHandSupplier xmlns:a="Enferno.Services.Contracts.Expose.Products">
<a:Value>200.000</a:Value>
<a:IncomingValue>0.000</a:IncomingValue>
<a:NextDeliveryDate i:nil="true"/>
<a:LeadtimeDayCount>7</a:LeadtimeDayCount>
<a:LastChecked i:nil="true"/>
<a:IsActive>true</a:IsActive>
<a:IsReturnable>true</a:IsReturnable>
<a:Info i:nil="true" xmlns:b="Enferno.Services.Contracts.Expose"/>
</OnHandSupplier>
<PriceRecommended>7000.00</PriceRecommended>
<ManufacturerId>1685</ManufacturerId>
<UniqueName>t540xp</UniqueName>
<StatusId>1</StatusId>
<StockDisplayBreakPoint i:nil="true"/>
<PriceCatalog i:nil="true"/>
<IsBuyable>true</IsBuyable>
<SubDescription i:nil="true"/>
<CategoryIdSeed>41722</CategoryIdSeed>
<RecommendedQuantity>4.000</RecommendedQuantity>
<IsRecommendedQuantityFixed>false</IsRecommendedQuantityFixed>
<AppliedPromotions/>
<RequirementPromotionIdSeed>5093</RequirementPromotionIdSeed>
<IsSubscribable>false</IsSubscribable>
<DescriptionHeader>Husqvarna T540XP</DescriptionHeader>
<IsPriceManual>false</IsPriceManual>
<PriceStandard>6375.20</PriceStandard>
<EanCode>123123123123123</EanCode>
<CostUnit>0.00</CostUnit>
<PriceDisplayIncVat>7179.00</PriceDisplayIncVat>
</BasketItem>
<BasketItem>
<Id>16030465</Id>
<LineNo>2</LineNo>
<ParentLineNo i:nil="true"/>
<ProductId>24706222</ProductId>
<PartNo>PRD0001212</PartNo>
<ManufacturerPartNo>FREIGHT01</ManufacturerPartNo>
<Name>Freight</Name>
<SubHeader i:nil="true"/>
<ThumbnailImage i:nil="true"/>
<FlagIdSeed>915</FlagIdSeed>
<Type>3</Type>
<PriceDisplay>0.00</PriceDisplay>
<Price>0.00</Price>
<PriceOriginal>0.00</PriceOriginal>
<Cost>0.00</Cost>
<VatRate>1.25</VatRate>
<Quantity>1.000</Quantity>
<UOM>st</UOM>
<UOMCount>1.000</UOMCount>
<Comment i:nil="true"/>
<PriceListId>1</PriceListId>
<ReferId i:nil="true"/>
<ReferUrl i:nil="true"/>
<IsEditable>true</IsEditable>
<IsDiscountable>true</IsDiscountable>
<Info>
<Info>
<TypeId>209</TypeId>
<Value/>
<Code>bit_size</Code>
</Info>
<Info>
<TypeId>241</TypeId>
<Value/>
<Code>bit_del_time</Code>
</Info>
<Info>
<TypeId>95</TypeId>
<Value/>
<Code>bit_additionalinformation</Code>
</Info>
</Info>
<OptionalItems/>
<OnHandValue>0.000</OnHandValue>
<IncomingValue>0.000</IncomingValue>
<NextDeliveryDate i:nil="true"/>
<LeadtimeDayCount>0</LeadtimeDayCount>
<PromotionIdSeed i:nil="true"/>
<ImageKey i:nil="true"/>
<ManufacturerName>Miscellaneous</ManufacturerName>
<CategoryId i:nil="true"/>
<OnHand xmlns:a="Enferno.Services.Contracts.Expose.Products">
<a:Value>0.000</a:Value>
<a:IncomingValue>0.000</a:IncomingValue>
<a:NextDeliveryDate i:nil="true"/>
<a:LeadtimeDayCount>0</a:LeadtimeDayCount>
<a:LastChecked>2012-01-02T12:46:14.807</a:LastChecked>
<a:IsActive>true</a:IsActive>
<a:IsReturnable>true</a:IsReturnable>
<a:Info i:nil="true" xmlns:b="Enferno.Services.Contracts.Expose"/>
</OnHand>
<OnHandSupplier xmlns:a="Enferno.Services.Contracts.Expose.Products">
<a:Value>0.000</a:Value>
<a:IncomingValue>0.000</a:IncomingValue>
<a:NextDeliveryDate i:nil="true"/>
<a:LeadtimeDayCount i:nil="true"/>
<a:LastChecked i:nil="true"/>
<a:IsActive>false</a:IsActive>
<a:IsReturnable>true</a:IsReturnable>
<a:Info i:nil="true" xmlns:b="Enferno.Services.Contracts.Expose"/>
</OnHandSupplier>
<PriceRecommended i:nil="true"/>
<ManufacturerId>4335</ManufacturerId>
<UniqueName>freight</UniqueName>
<StatusId>1</StatusId>
<StockDisplayBreakPoint i:nil="true"/>
<PriceCatalog i:nil="true"/>
<IsBuyable>true</IsBuyable>
<SubDescription i:nil="true"/>
<CategoryIdSeed/>
<RecommendedQuantity>1.000</RecommendedQuantity>
<IsRecommendedQuantityFixed>false</IsRecommendedQuantityFixed>
<AppliedPromotions/>
<RequirementPromotionIdSeed i:nil="true"/>
<IsSubscribable>false</IsSubscribable>
<DescriptionHeader i:nil="true"/>
<IsPriceManual>false</IsPriceManual>
<PriceStandard>0.00</PriceStandard>
<EanCode/>
<CostUnit>0.00</CostUnit>
<PriceDisplayIncVat>0.00</PriceDisplayIncVat>
</BasketItem>
<BasketItem>
<Id>0</Id>
<LineNo>3</LineNo>
<ParentLineNo>1</ParentLineNo>
<ProductId>31234588</ProductId>
<PartNo>PRD0001274</PartNo>
<ManufacturerPartNo>Underhållskit</ManufacturerPartNo>
<Name>Underhållskit Motorsåg</Name>
<SubHeader i:nil="true"/>
<ThumbnailImage>2/thumb_p31234588.png</ThumbnailImage>
<FlagIdSeed>915</FlagIdSeed>
<Type>1</Type>
<PriceDisplay>111.20</PriceDisplay>
<Price>0.00</Price>
<PriceOriginal>111.20</PriceOriginal>
<Cost>100.25</Cost>
<VatRate>1.25</VatRate>
<Quantity>1</Quantity>
<UOM>st</UOM>
<UOMCount>1.000</UOMCount>
<Comment i:nil="true"/>
<PriceListId>1</PriceListId>
<ReferId i:nil="true"/>
<ReferUrl i:nil="true"/>
<IsEditable>false</IsEditable>
<IsDiscountable>true</IsDiscountable>
<Info>
<Info>
<TypeId>209</TypeId>
<Value/>
<Code>bit_size</Code>
</Info>
<Info>
<TypeId>241</TypeId>
<Value/>
<Code>bit_del_time</Code>
</Info>
<Info>
<TypeId>95</TypeId>
<Value/>
<Code>bit_additionalinformation</Code>
</Info>
</Info>
<OptionalItems/>
<OnHandValue>12.000</OnHandValue>
<IncomingValue>0.000</IncomingValue>
<NextDeliveryDate i:nil="true"/>
<LeadtimeDayCount>0</LeadtimeDayCount>
<PromotionIdSeed/>
<ImageKey i:nil="true"/>
<ManufacturerName>Husqvarna</ManufacturerName>
<CategoryId>41722</CategoryId>
<OnHand xmlns:a="Enferno.Services.Contracts.Expose.Products">
<a:Value>12.000</a:Value>
<a:IncomingValue>0.000</a:IncomingValue>
<a:NextDeliveryDate i:nil="true"/>
<a:LeadtimeDayCount>0</a:LeadtimeDayCount>
<a:LastChecked i:nil="true"/>
<a:IsActive>true</a:IsActive>
<a:IsReturnable>true</a:IsReturnable>
<a:Info i:nil="true" xmlns:b="Enferno.Services.Contracts.Expose"/>
</OnHand>
<OnHandSupplier xmlns:a="Enferno.Services.Contracts.Expose.Products">
<a:Value>133.000</a:Value>
<a:IncomingValue>0.000</a:IncomingValue>
<a:NextDeliveryDate i:nil="true"/>
<a:LeadtimeDayCount>5</a:LeadtimeDayCount>
<a:LastChecked>2017-02-14T16:19:15.163</a:LastChecked>
<a:IsActive>true</a:IsActive>
<a:IsReturnable>true</a:IsReturnable>
<a:Info i:nil="true" xmlns:b="Enferno.Services.Contracts.Expose"/>
</OnHandSupplier>
<PriceRecommended i:nil="true"/>
<ManufacturerId>1685</ManufacturerId>
<UniqueName>underhallskit-motorsag</UniqueName>
<StatusId>1</StatusId>
<StockDisplayBreakPoint i:nil="true"/>
<PriceCatalog i:nil="true"/>
<IsBuyable>true</IsBuyable>
<SubDescription i:nil="true"/>
<CategoryIdSeed>41722</CategoryIdSeed>
<RecommendedQuantity>1.000</RecommendedQuantity>
<IsRecommendedQuantityFixed>false</IsRecommendedQuantityFixed>
<AppliedPromotions/>
<RequirementPromotionIdSeed/>
<IsSubscribable>false</IsSubscribable>
<DescriptionHeader i:nil="true"/>
<IsPriceManual>false</IsPriceManual>
<PriceStandard>0.00</PriceStandard>
<EanCode>345345345345345</EanCode>
<CostUnit>0.00</CostUnit>
<PriceDisplayIncVat>139.00</PriceDisplayIncVat>
</BasketItem>
</Items>
<Info>
<Info>
<TypeId>169</TypeId>
<Value/>
<Code>bit_expecteddeliverydate</Code>
</Info>
<Info>
<TypeId>293</TypeId>
<Value/>
<Code>bit_additionalorderinfo</Code>
</Info>
<Info>
<TypeId>445</TypeId>
<Value/>
<Code>Norce_Gender</Code>
</Info>
<Info>
<TypeId>493</TypeId>
<Value/>
<Code>recurring</Code>
</Info>
</Info>
<Summary>
<Items>
<Amount>5854.40</Amount>
<Vat>1463.60</Vat>
<AmountIncVat>7318.00</AmountIncVat>
</Items>
<Freigt>
<Amount>0.00</Amount>
<Vat>0.00</Vat>
<AmountIncVat>0.00</AmountIncVat>
</Freigt>
<Fees>
<Amount>0.00</Amount>
<Vat>0.00</Vat>
<AmountIncVat>0.00</AmountIncVat>
</Fees>
<Total>
<Amount>5854.40</Amount>
<Vat>1463.60</Vat>
<AmountIncVat>7318.00</AmountIncVat>
</Total>
</Summary>
<AppliedPromotions>
<Promotion>
<Id>5093</Id>
<Name>Add service</Name>
<Header/>
<ShortDescription/>
<Description1/>
<Description2/>
<StartDate i:nil="true"/>
<EndDate i:nil="true"/>
<ImageKey i:nil="true"/>
<RequirementSeed>3</RequirementSeed>
<DiscountCode i:nil="true"/>
<IsExcludedFromPriceCalculation>false</IsExcludedFromPriceCalculation>
<AllowProductListing>false</AllowProductListing>
<Images xmlns:a="Enferno.Services.Contracts.Expose"/>
<ProductFilters>
<Filter>
<ManufacturerId i:nil="true"/>
<CategorySeed i:nil="true"/>
<TypeId i:nil="true"/>
<ProductId i:nil="true"/>
<VariantProductId i:nil="true"/>
<PartNo>PRD0001274</PartNo>
<PricelistId>1</PricelistId>
<FlagId i:nil="true"/>
</Filter>
<Filter>
<ManufacturerId i:nil="true"/>
<CategorySeed i:nil="true"/>
<TypeId i:nil="true"/>
<ProductId i:nil="true"/>
<VariantProductId i:nil="true"/>
<PartNo i:nil="true"/>
<PricelistId i:nil="true"/>
<FlagId>1884</FlagId>
</Filter>
</ProductFilters>
<AppliedAmount>0.00</AppliedAmount>
<EffectSeed>5</EffectSeed>
<FreightDiscountPct i:nil="true"/>
<IsStackable>true</IsStackable>
<AppliedAmountIncVat>0.00</AppliedAmountIncVat>
</Promotion>
</AppliedPromotions>
<IpAddress>151.236.200.213</IpAddress>
<AttestedBy i:nil="true"/>
<TypeId>1</TypeId>
<DoHold>false</DoHold>
<IsBuyable>true</IsBuyable>
<InvoiceReference i:nil="true"/>
<PaymentMethodId>14</PaymentMethodId>
<DeliveryMethodId>1</DeliveryMethodId>
<SalesAreaId>1</SalesAreaId>
</Basket>
<Buyer xmlns:a="Enferno.Services.Contracts.Expose.Customers">
<a:Id i:nil="true"/>
<a:Key>bf335b15-2bf2-49ef-a1e7-5a0e599e96a4</a:Key>
<a:Code i:nil="true"/>
<a:Email>test@test.se</a:Email>
<a:SSN i:nil="true"/>
<a:FirstName>TestBuyerName</a:FirstName>
<a:LastName>TestBuyerLastname</a:LastName>
<a:Phone i:nil="true"/>
<a:CellPhone i:nil="true"/>
<a:ReferId i:nil="true"/>
<a:ReferUrl i:nil="true"/>
<a:Account>
<a:Id i:nil="true"/>
<a:Key>bf335b15-2bf2-49ef-a1e7-5a0e599e96a4</a:Key>
<a:LoginName i:nil="true"/>
<a:Name i:nil="true"/>
<a:Roles i:nil="true" xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
<a:Authorizations i:nil="true" xmlns:b="Enferno.Services.Contracts.Expose"/>
<a:IsActive>false</a:IsActive>
</a:Account>
<a:Companies/>
<a:DeliveryAddresses/>
<a:InvoiceAddress i:nil="true"/>
<a:Flags i:nil="true"/>
<a:UseInvoiceAddressAsDeliveryAddress>false</a:UseInvoiceAddressAsDeliveryAddress>
<a:Info i:nil="true" xmlns:b="Enferno.Services.Contracts.Expose"/>
<a:PricelistIds i:nil="true" xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
<a:CrmId i:nil="true"/>
<a:IsActive i:nil="true"/>
<a:Created i:nil="true"/>
<a:Updated i:nil="true"/>
</Buyer>
<Payer xmlns:a="Enferno.Services.Contracts.Expose.Customers">
<a:Id i:nil="true"/>
<a:Key>5ec95f79-75af-43e6-8036-5d69de968510</a:Key>
<a:Code i:nil="true"/>
<a:Email>test@test.se</a:Email>
<a:SSN i:nil="true"/>
<a:FirstName>TestBuyerName</a:FirstName>
<a:LastName>TestBuyerLastname</a:LastName>
<a:Phone i:nil="true"/>
<a:CellPhone i:nil="true"/>
<a:ReferId i:nil="true"/>
<a:ReferUrl i:nil="true"/>
<a:Account>
<a:Id i:nil="true"/>
<a:Key>5ec95f79-75af-43e6-8036-5d69de968510</a:Key>
<a:LoginName i:nil="true"/>
<a:Name i:nil="true"/>
<a:Roles i:nil="true" xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
<a:Authorizations i:nil="true" xmlns:b="Enferno.Services.Contracts.Expose"/>
<a:IsActive>false</a:IsActive>
</a:Account>
<a:Companies/>
<a:DeliveryAddresses/>
<a:InvoiceAddress>
<a:Id>12055560</a:Id>
<a:CareOf i:nil="true"/>
<a:Line1>TestInvoicestreet 1</a:Line1>
<a:Line2 i:nil="true"/>
<a:Zip>12345</a:Zip>
<a:City>TestCity</a:City>
<a:CountryId>1</a:CountryId>
<a:Country>Sverige</a:Country>
<a:Region i:nil="true"/>
<a:IsValidated>false</a:IsValidated>
<a:GlobalLocationNo i:nil="true"/>
<a:ShippingPhoneNumber i:nil="true"/>
</a:InvoiceAddress>
<a:Flags i:nil="true"/>
<a:UseInvoiceAddressAsDeliveryAddress>false</a:UseInvoiceAddressAsDeliveryAddress>
<a:Info i:nil="true" xmlns:b="Enferno.Services.Contracts.Expose"/>
<a:PricelistIds i:nil="true" xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
<a:CrmId i:nil="true"/>
<a:IsActive i:nil="true"/>
<a:Created i:nil="true"/>
<a:Updated i:nil="true"/>
</Payer>
<ShipTo xmlns:a="Enferno.Services.Contracts.Expose.Customers">
<a:Id i:nil="true"/>
<a:Key>b06fd649-f97d-4e0b-8285-d6a3ca3adf53</a:Key>
<a:Code i:nil="true"/>
<a:Email>test@test.se</a:Email>
<a:SSN i:nil="true"/>
<a:FirstName>TestBuyerName</a:FirstName>
<a:LastName>TestBuyerLastname</a:LastName>
<a:Phone i:nil="true"/>
<a:CellPhone i:nil="true"/>
<a:ReferId i:nil="true"/>
<a:ReferUrl i:nil="true"/>
<a:Account>
<a:Id i:nil="true"/>
<a:Key>b06fd649-f97d-4e0b-8285-d6a3ca3adf53</a:Key>
<a:LoginName i:nil="true"/>
<a:Name i:nil="true"/>
<a:Roles i:nil="true" xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
<a:Authorizations i:nil="true" xmlns:b="Enferno.Services.Contracts.Expose"/>
<a:IsActive>false</a:IsActive>
</a:Account>
<a:Companies/>
<a:DeliveryAddresses>
<a:Address>
<a:Id>12055561</a:Id>
<a:CareOf i:nil="true"/>
<a:Line1>TestInvoicestreet 1</a:Line1>
<a:Line2 i:nil="true"/>
<a:Zip>12345</a:Zip>
<a:City>TestCity</a:City>
<a:CountryId>1</a:CountryId>
<a:Country>Sverige</a:Country>
<a:Region i:nil="true"/>
<a:IsValidated>false</a:IsValidated>
<a:GlobalLocationNo i:nil="true"/>
<a:ShippingPhoneNumber i:nil="true"/>
</a:Address>
</a:DeliveryAddresses>
<a:InvoiceAddress i:nil="true"/>
<a:Flags i:nil="true"/>
<a:UseInvoiceAddressAsDeliveryAddress>false</a:UseInvoiceAddressAsDeliveryAddress>
<a:Info i:nil="true" xmlns:b="Enferno.Services.Contracts.Expose"/>
<a:PricelistIds i:nil="true" xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
<a:CrmId i:nil="true"/>
<a:IsActive i:nil="true"/>
<a:Created i:nil="true"/>
<a:Updated i:nil="true"/>
</ShipTo>
<PaymentMethods>
<PaymentMethod>
<Id>14</Id>
<Name>Faktura</Name>
<TypeId>7</TypeId>
<TypeName>ErpInvoice</TypeName>
<Description>30 dagars faktura</Description>
<PartNo i:nil="true"/>
<Price>0.00</Price>
<VatRate>1.00</VatRate>
<ImagePath i:nil="true"/>
<IsSelected>true</IsSelected>
<Service>
<Id>3</Id>
<Name>No service</Name>
<Description i:nil="true"/>
<ImagePath i:nil="true"/>
<ImageKey i:nil="true"/>
</Service>
<ImageKey i:nil="true"/>
<IsForCompanyOnly>false</IsForCompanyOnly>
<IsForPersonOnly>false</IsForPersonOnly>
</PaymentMethod>
<PaymentMethod>
<Id>18</Id>
<Name>Presentkort</Name>
<TypeId>9</TypeId>
<TypeName>GiftCertificate</TypeName>
<Description>Used for giftcards handeled by an ERP or other source outside of Norce Commerce</Description>
<PartNo i:nil="true"/>
<Price>0.00</Price>
<VatRate>1.00</VatRate>
<ImagePath i:nil="true"/>
<IsSelected>false</IsSelected>
<Service>
<Id>3</Id>
<Name>No service</Name>
<Description i:nil="true"/>
<ImagePath i:nil="true"/>
<ImageKey i:nil="true"/>
</Service>
<ImageKey i:nil="true"/>
<IsForCompanyOnly>false</IsForCompanyOnly>
<IsForPersonOnly>false</IsForPersonOnly>
</PaymentMethod>
<PaymentMethod>
<Id>157</Id>
<Name>Svea Ekonomi</Name>
<TypeId>19</TypeId>
<TypeName>Checkout</TypeName>
<Description>Form checkout payment.</Description>
<PartNo i:nil="true"/>
<Price>0.00</Price>
<VatRate>1.00</VatRate>
<ImagePath i:nil="true"/>
<IsSelected>false</IsSelected>
<Service>
<Id>19</Id>
<Name>SveaEkonomi</Name>
<Description i:nil="true"/>
<ImagePath i:nil="true"/>
<ImageKey i:nil="true"/>
</Service>
<ImageKey i:nil="true"/>
<IsForCompanyOnly>false</IsForCompanyOnly>
<IsForPersonOnly>false</IsForPersonOnly>
</PaymentMethod>
<PaymentMethod>
<Id>162</Id>
<Name>Adyen checkout</Name>
<TypeId>19</TypeId>
<TypeName>Checkout</TypeName>
<Description>Form checkout payment.</Description>
<PartNo i:nil="true"/>
<Price>0.00</Price>
<VatRate>1.00</VatRate>
<ImagePath i:nil="true"/>
<IsSelected>false</IsSelected>
<Service>
<Id>27</Id>
<Name>AdyenV67</Name>
<Description i:nil="true"/>
<ImagePath i:nil="true"/>
<ImageKey i:nil="true"/>
</Service>
<ImageKey i:nil="true"/>
<IsForCompanyOnly>false</IsForCompanyOnly>
<IsForPersonOnly>false</IsForPersonOnly>
</PaymentMethod>
<PaymentMethod>
<Id>156</Id>
<Name>Klarna Checkout v3 (Recurrable)</Name>
<TypeId>19</TypeId>
<TypeName>Checkout</TypeName>
<Description>Form checkout payment.</Description>
<PartNo i:nil="true"/>
<Price>0.00</Price>
<VatRate>1.00</VatRate>
<ImagePath i:nil="true"/>
<IsSelected>false</IsSelected>
<Service>
<Id>18</Id>
<Name>KlarnaCheckoutV3</Name>
<Description i:nil="true"/>
<ImagePath i:nil="true"/>
<ImageKey i:nil="true"/>
</Service>
<ImageKey i:nil="true"/>
<IsForCompanyOnly>false</IsForCompanyOnly>
<IsForPersonOnly>false</IsForPersonOnly>
</PaymentMethod>
<PaymentMethod>
<Id>160</Id>
<Name>Dibs Easy Pay</Name>
<TypeId>19</TypeId>
<TypeName>Checkout</TypeName>
<Description>Form checkout payment.</Description>
<PartNo i:nil="true"/>
<Price>0.00</Price>
<VatRate>1.00</VatRate>
<ImagePath i:nil="true"/>
<IsSelected>false</IsSelected>
<Service>
<Id>22</Id>
<Name>DibsEasyCheckout</Name>
<Description i:nil="true"/>
<ImagePath i:nil="true"/>
<ImageKey i:nil="true"/>
</Service>
<ImageKey i:nil="true"/>
<IsForCompanyOnly>false</IsForCompanyOnly>
<IsForPersonOnly>false</IsForPersonOnly>
</PaymentMethod>
<PaymentMethod>
<Id>166</Id>
<Name>Walley B2B</Name>
<TypeId>19</TypeId>
<TypeName>Checkout</TypeName>
<Description/>
<PartNo i:nil="true"/>
<Price>0.00</Price>
<VatRate>1.00</VatRate>
<ImagePath i:nil="true"/>
<IsSelected>false</IsSelected>
<Service>
<Id>24</Id>
<Name>Collector</Name>
<Description i:nil="true"/>
<ImagePath i:nil="true"/>
<ImageKey i:nil="true"/>
</Service>
<ImageKey i:nil="true"/>
<IsForCompanyOnly>false</IsForCompanyOnly>
<IsForPersonOnly>false</IsForPersonOnly>
</PaymentMethod>
</PaymentMethods>
<DeliveryMethods>
<DeliveryMethod>
<Id>1</Id>
<Name>DB Schenker Utlämningsställe</Name>
<TypeId>6</TypeId>
<TypeName>Utlämning</TypeName>
<Description>DB Schenker leverans till vald utlämningsställe</Description>
<PartNo>PRD0001212</PartNo>
<Price>0.0000</Price>
<VatRate>1.25</VatRate>
<IsNotifiable>false</IsNotifiable>
<ImagePath i:nil="true"/>
<IsSelected>true</IsSelected>
<ImageKey i:nil="true"/>
<IsForCompanyOnly>false</IsForCompanyOnly>
<IsForPersonOnly>false</IsForPersonOnly>
<Cost>0.0000</Cost>
<StoreId i:nil="true"/>
<WarehouseId i:nil="true"/>
<LocationId i:nil="true"/>
<DropPoints/>
<Code>DBS-UTL</Code>
<Carrier i:nil="true"/>
</DeliveryMethod>
<DeliveryMethod>
<Id>7</Id>
<Name>Hempaket kväll</Name>
<TypeId>1</TypeId>
<TypeName>Hemleverans</TypeName>
<Description>Leverans sker hem mellan 17:00 och 22:00.</Description>
<PartNo>PRD0001212</PartNo>
<Price>49.0000</Price>
<VatRate>1.2500</VatRate>
<IsNotifiable>false</IsNotifiable>
<ImagePath i:nil="true"/>
<IsSelected>false</IsSelected>
<ImageKey i:nil="true"/>
<IsForCompanyOnly>false</IsForCompanyOnly>
<IsForPersonOnly>true</IsForPersonOnly>
<Cost>0.0000</Cost>
<StoreId i:nil="true"/>
<WarehouseId i:nil="true"/>
<LocationId i:nil="true"/>
<DropPoints/>
<Code>HEMPK</Code>
<Carrier i:nil="true"/>
</DeliveryMethod>
</DeliveryMethods>
<Payments/>
</Checkout>
Checkout Data Model Overview
Visual Overview:
The diagram below illustrates the structure of the Checkout object, which is central to the checkout process.
Key Entities in the Checkout Object
- Basket: Contains all products/items, prices, fees, and promotions. See Basket guide.
- Buyer, Payer, ShipTo: Customer objects representing who buys, pays, and receives the order.
- Payments: List of payments already made (e.g., partial gift card payments).
- PaymentMethods: List of available payment methods. The selected method has
IsSelected: true. - DeliveryMethods: List of available shipping methods. The selected method has
IsSelected: true.
Note:
TheCheckoutobject is always resolved from Norce Commerce business rules. Any update (e.g., changing shipping) may affect fees, promotions, or available payment methods. Always use the latestCheckoutobject after any update.
Checkout Update Flow
Visual Overview:
The following diagram shows the recommended update flow for checkout.
Recommended Update Steps
- Handle the user action in your backend.
- Call the Norce Commerce Shopping Service to get the updated
Checkoutobject. - Map the new checkout object to your model and return it to the frontend.
- Write the new model to cache (use a short cache time).
For more on update patterns, see the frontend design guide and basket guide.
Required Data for Purchase
To complete a purchase, ensure the following:
- One selected payment method
- One selected delivery method
- Customer information for Buyer, Payer, and ShipTo
Note:
For form-based payments, customer information may be collected by the payment service provider, not Norce Commerce.
Tip:
You can set default values (e.g.,PaymentMethodId,DeliveryMethodId) when creating the basket to streamline the checkout process. See Working with Baskets.
Freight fees and Delivery
If you use Norce’s built-in freight framework, select a delivery method during checkout. Norce will automatically add the correct price and information to the basket and order.
You can also integrate with external delivery providers (e.g., NShift, Ingrid) by passing their information to the basket and order.
Next Steps
Now that you have configured the checkout process, the next stage is to implement the purchase and payment flow with Norce Checkout.
- Norce Checkout: Continue to Working with Norce Checkout to learn about our flexible, adapter-based framework and how to build your payment flow using our wide range of provider adapters.
For maintenance of older implementations using the Shopping Service flow, see Legacy Purchase Process.