Area: Optimizely Commerce
Applies to versions: 10.2.2 and higher

Payment plugins

Recommended reading 
Note: This documentation is for the preview version of the upcoming release of CMS 12/Commerce 14/Search & Navigation 14. Features included here might not be complete, and might be changed before becoming available in the public release. This documentation is provided for evaluation purposes only.

This topic describes the PaymentPlugin interface, available when building solutions with the payment processing parts of Optimizely Commerce. 

How it works

The Payment plugin of Optimizely Commerce provides an interface to the payment processing system for abstraction APIs: IPaymentPlugin. A payment type is passed to the payment plugin, which executes the payment transaction via the payment system. One payment type is associated with each payment plugin.

Note: Classes in this topic are available in the EPiServer.Commerce.Order namespace, which contains IPaymentPlugin.

IPaymentPlugin is an improvement over IPaymentGateway, which supports abstraction APIs and Serializable Carts as well. The activities below will be carried out following Payment gateways exactly:

  • Payment plugin properties
  • Using built-in payment
  • Creating a custom payment plugin

There is one important difference between IPaymentPlugin and IPaymentGateway: IPaymentPlugin uses IPayment as a parameter, while IPaymentGateway uses Payment as a parameter.

Example [New in Commerce 14]

PaymentProcessingResult ProcessPayment(IOrderGroup orderGroup, IPayment payment)

A simple implementation of the Adyen payment gateway is available in the "Quicksilver" Commerce reference sample project on GitHub.

Related topics

Do you find this information helpful? Please log in to provide feedback.

Last updated: Jul 02, 2021

Recommended reading