Customize Customer Service Center

You can customize Customer Service Center to modify the behavior and appearance of its business logic and user interface. You can customize business logic, through Shop API hooks, and areas of the CSC UI by modifying the JSON for those areas in Business Manager.

You can apply existing B2C capabilities and integrations using B2C Commerce Soap APIs and Open Commerce API (OCAPI) hooks. For a fully functional Customer Service Center, the following integrations are required and must be plugged into existing B2C Commerce integrations.

  • Payment Service Providers
  • Order Calculation

Customer Service Center uses the Shop API and its resources. Each action maps to a Shop API resource. You can add your custom function in the hooks to apply the actions triggered in the UI, such as, setting the default address when selecting a customer. The Shop API hooks also provide payment hooks to run, for example for authorizations.

All of the Shop API hooks noted in this guide use OCAPI version 17.8.

You can use Shop API hooks to modify address validation, fraud checks, payment processing, and set addresses automatically.

For payment processing you must link your payment provider logic to these hooks:

  • dw.ocapi.shop.basket.afterPostPaymentInstrument
  • dw.ocapi.shop.basket.beforePostPaymentInstrument
  • dw.ocapi.shop.order.afterPostPaymentInstrument
  • dw.ocapi.shop.order.beforePostPaymentInstrument (to be able to support multi-shipment)

All B2C payment methods are available in Customer Service Center. Use a hook if you want to remove a payment method from the list. For examples of these endpoints, see the Basket resource page in the Open Commerce API section of the Infocenter.

  • dw.ocapi.shop.basket.payment_methods.modifyGETResponse
  • dw.ocapi.shop.order.payment_methods.modifyGETResponse

To enable hosted payment pages from Customer Service Center, custom client logic is responsible for rendering the hosted payment page. In addition, you must configure hosted payment pages to use them. You use the hook with either:

  • dw.csc.hosted_payment_pages.{payment_method_id}
  • dw.csc.hosted_payment_pages.{payment_processor_id}

You can use UI customizations to modify:

  • address templates and forms
  • price adjustment forms
  • payment templates and forms