Commerce

Sitecore 9.2 Installation Might Error Out While Runnings Marketing Automation Engine

Posted on

My Sitecore 9.2 installation kept on failing on the step where it tries to start the Sitecore Marketing Automation Engine service. When I looked at the logs of Marketing Automation yourpath\inetpub\wwwroot\xconnectinstancefolder\App_Data\jobs\continuous\AutomationEngine\App_Data\Logs, I found  

I thought there is something wrong with xConnect instance as xConnect is not being initialized, so browsed https://xconnect.dev.local/ which is my local instance of xConnect. I received 404 so I started looking at xConnect logs this time which said

After a bit of investigation, I came across two reasons which can cause this Either you non-self-signed certificates installed on Trusted Root CA While recent changes in security policy don’t allow this Or you have too many signed certificates installed on Trusted Root CA One of these can lead you to failure of xConnect service. I came across a useful power shell command which lists down non-self signed certificates being installed on trusted Trusted Root CA. Due to recent change in […]

Commerce

Debugging Sitecore Commerce 9.2 Engine Using Customer.Sample.Solution

Posted on

Sitecore Commerce(SXC) Engine is an extensible framework to develop new or extend existing commerce services. SXC has this concept of Plugins which can be created to customize it. A plugin is nothing but an atomic and self-maintained module of software which contains Pipelines, blocks and policies. I setup Sitecore Commerce 9.2 recently and in order to start development using Visual Studio, I had to set up a new VS solution. SXC makes it easier for you as it comes with a sample solution which lives inside Commerce Engine SDK . This sample is called Customer.Sample.Solution. This solution can be used as a boilerplate code to kick off the development. When I started setting up my Visual Studio, I came across a few issues. Purpose of this post is to make it easier for anyone out there facing those problems of having questions How To. The first step would be to locate the sample solution. During […]

C#

Transient fault handling in Sitecore Commerce

Posted on

Transient fault handling can be cumbersome and lead developers to write repetitive code. There could be many situations when you want your code to be retried in case of failures/exceptions etc. While working with a few external system integrations, we had to implement a retry mechanism for certain transactional requests. Payment integrations are one of the examples that I am using here. Polly is a library that allows developers to express resilience and transient fault handling policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback in a fluent and thread-safe manner. Almost all the payment providers we integrated to Sitecore Commerce project e.g. Braintree/DiectBank/Openpay recommend to retry the transactional requests in case of timeouts or internet issues. For example when we request Braintree payment gateway to settle the payment if the request times out you have to retry the same request 3 times before you treat it as a failure. Since the retry could be handled […]

Commerce

Sitecore Commerce – Buy now pay smarter

Posted on

Why pay today when you could pay smarter? Online and offline businesses can offer their customers to pay in instalments. Recently started working for a client who has a chain of physical stores. On the stores, they offer this ability to their customer to pay in instalments using Openpay. Openpay is an online credit facility for shopping online or in-store, and the interesting part is, it’s always interest-free. The retail website(atozshopping.com for argument sake) for online shopping is built using Sitecore and Sitecore Commerce(SXC). The customers could only pay through Creditcard and Paypal. We started working with integrating Openpay for online shopping. This is how the high-level architecture would look like     Benefits: The customers will have the same experience on atozshopping as they get in a store There will be a potential increase in sales, as the Openpay customers can buy on atozshopping Openpay eCommerce Flow:  The Openpay end to end flow with any retail website looks like […]

C#

Multiple Delivery Calculations – Sitecore Commerce

Posted on

While working with one of the clients recently, we had to implement a product-specific delivery calculation. Certain products sold online, are delivered by the company itself and they have fix delivery charges for each region. While certain products(depending on the size/nature) are delivered through other courier services. Since the delivery charges can differ depending on the courier service, we have to calculate/fetch delivery charges for particular products. Let’s say a customer adds two products to the cart Bluetooth Speaker Baby Cart Since speakers are delivered by the company itself, we use the internal delivery fee using a delivery fee book. For baby-cart, we integrate to the external courier delivery fee service. For the sake of this article, I am calling Speaker as Internal product while baby-cart as external product. In commerce engine solution we have a feature called fulfilment, this feature has CalculateCartDeliveryBlock which calculates the delivery fee for internal products. This […]

Commerce

Sitecore Commerce – Robust Integration to External Systems

Posted on

Sitecore commerce provides almost all the commerce features out of the box. For example, we get Catalog/product management, pricing management, delivery fee management etc. All the commerce applications we create using Sitecore Commerce get the option to use these features and go to market. But at times, we use other tools rather just Sitecore Commerce to manage our business needs. I will explain this in details. Recently working on a Sitecore commerce project, we came across a situation where Product Management is done outside the Sitecore Commerce Environment. The client is using a legacy system which manages catalogs and products. In order to sync those products from the legacy system into Sitecore Commerce Catalogs, we considered certain options Exposing an API in SC Commerce which accepts a list of products. When new products are created or there are changes to existing products, the legacy system would pass them to our API Exposing an […]

Commerce

Sitecore Experience Commerce Architecture – Satellite View

Posted on

Sitecore Experience Commerce(SXC) provides a stupendous solution to the e-commerce world which can be customized to fill in the requirements for B2B: Businesses to business B2C: Business to end customer. This post assumes the readers are across commerce concepts in general e.g. business entities, catalogs, carts, orders, checkout process, payments, inventory management, order fulfilment etc. In this post, I will share a holistic overview of SXC architecture. Who should read this? Sitecore developers who are working or potentially going to work on SXC, architects who are looking into how SXC functions. Since SXC is part of the Sitecore platform, the basic understanding of Sitecore is required. In the future posts, I will be describing different parts of SXC in detail. SXC Architecture: Sitecore XC is comprised of the following components.  Sitecore Experience Platform aka XP in Sitecore world. Sitecore Experience Accelerator Storefront(SXA) Sitecore Commerce Engine Connect layer between storefront and Commerce Engine  Business Tool Identity Server Basic understanding of these components would […]

Commerce

Fedearted Payment in Sitecore Commerce

Posted on

Most businesses are going online from just being physical, online shopping is the simplest and biggest example. Online businesses mainly involve, selling of services or products. This transformation from physical to online brought the world closer. While sitting in Sydney, I can order something from United States. With many advantages, there are challenges as well of course. I am writing about one of the challenges here, providing multiple payment options to your customers. Customers around the world have different preferences for making payments. Some might prefer direct credit card(CC) payments while others may like Paypal. And with every passing day, new methods of online payment are being introduced e.g. digital wallets like Google pay or Apple Pay. Venmo is another very famous payment option. As an online seller, it’s important to realize the fact of having payment options on a website as per the preferences of our customers. Otherwise, bounces are […]

Sitecore

Dimensions, Segments and Metrics – Sitecore Experience Analytics

Posted on

Sitecore Experience Analytics (XA) provides graphical representation of visitors data(facts) using dimensions, metrics and segments. Dimensions are attributes of a visitor’s data while metrics are quantitative measurements of those attributes. Dimensions, segments and metrics are defined in the master database of Sitecore. A segment is then deployed to the reporting database where it is used for aggregation. Learn more about aggregation. Visitor is usually referred as Contact in Sitecore. While visit is also called interaction. Metrics are also referred as facts. These terms will be used interchangeably during this article. Dimensions are attributes of an interaction or a visitor of a website. For instance country is a dimension which tells the origin of the visitor’s interaction based on its IP address. We can think of different dimensions like browser the visitor was using or which pages the visitor visited. Segments are like dimensions but provide another level of differentiation. A segment can […]