Transcript
Page 1: E-commerce customization

E-commerce customizationPetr Vozak, Technical Leader

Page 2: E-commerce customization

E-commerce customization

Agenda1) Using custom e-commerce providers2) Developing custom dialog for the checkout process3) Developing custom payment gateway

Page 3: E-commerce customization

E-commerce customization

1) Using custom e-commerce providers

Page 4: E-commerce customization

Using custom e-commerce providers

How doest it work?

Page 5: E-commerce customization

Using custom e-commerce providers

• Assembly: CMS.Ecommerce• Namespace: CMS.Ecommerce• Provider: ShippingOptionInfoProvider• Method: CalculateShipping(…)

public static double CalculateShipping(ShoppingCartInfo cartObj, string siteName){

if (ECommerceHelper.UseCustomHandlers()) { return ECommerceHelper.GetShippingOptionInfoProvider().CalculateShipping(cartObj,

siteName); } else { return CMS.CMSEcommerce.ShippingOptionInfoProvider.CalculateShipping(cartObj, siteName); }

}

Are custom e-commerce providers enabled?

YES → Run custom code

NO → Run Kentico code

Wrapper

Page 6: E-commerce customization

Using custom e-commerce providers

• Assembly: CMS.Ecommerce• Namespace: CMS.CMSEcommerce• Provider: ShippingOptionInfoProvider• Method: CalculateShipping(…)

public static double CalculateShipping(ShoppingCartInfo cartObj, string siteName){

// if shipping free limit is reached -> return zero (shipping is free)// else -> return shipping option value

}

Here is Kentico logic for shipping calculation,

something like:

Kentico code

Page 7: E-commerce customization

Using custom e-commerce providers

• Assembly: CMS.CustomECommerceProvider• Namespace: CMS.CustomECommerceProvider• Provider: CustomShippingOptionInfoProvider• Method: CalculateShipping(…)

public double CalculateShipping(object cartObj, string siteName){

return CMS.CMSEcommerce.ShippingOptionInfoProvider.CalculateShipping((CMS.Ecommerce.ShoppingCartInfo)cartObj, siteName);

}

Kentico method is called by default

Custom code

Page 8: E-commerce customization

Using custom e-commerce providers

1) Open Visual Studio and add CustomECommerceProvider project from code samples to your CMS solution

2) Modify code of the custom e-commerce providers to reach your requirements

3) Add the following key to your web.config file to enable custom e-commerce providers:<add key=“CMSUseCustomEcommerceProviders” value=“true”>

Page 9: E-commerce customization

Using custom e-commerce providers

DEMO1) How to customize shipping calculation

– customize CalculateShipping()

2) How to automatically set some credit to a new customer– Customize SetCustomerInfo()

Page 10: E-commerce customization

E-commerce customization

2) Developing custom dialog for the checkout process

Page 11: E-commerce customization

Developing custom dialog for the checkout process

Page 12: E-commerce customization

Developing custom dialog for the checkout process

DEMO1) Create checkout process step user control (*.ascx)• inherit from ShoppingCartStep• override bool IsValid()• override bool ProcessStep()

2) Register checkout process step

Page 13: E-commerce customization

E-commerce customization

3) Developing custom payment gateway

Page 14: E-commerce customization

Developing custom payment gateway

Page 15: E-commerce customization

Developing custom payment gateway

DEMO1) Create payment gateway form• inherit from CMSPaymentGatewayForm• override bool ValidateData()• override bool ProcessData()

2) Create payment gateway provider• inherit from CMSPaymentGatewayProvider• override void GetPaymentDataForm()• override bool ProcessPayment()

3) Register payment gateway

Page 16: E-commerce customization

E-commerce customization

Summary1) Using custom e-commerce providers2) Developing custom dialog for the checkout process3) Developing custom payment gateway


Top Related