The Payment plugin of Optimizely Customized Commerce is available when building solutions with the payment processing parts of Optimizely Commerce. 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.
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.
**Commerce 14 example**
A simple implementation of the [Adyen payment gateway](🔗) is available in the ["Quicksilver" Commerce reference sample project on GitHub](🔗).
**Commerce 11-13 example**
Using IPaymentPlugin, Optimizely Commerce provides sample code for PayPal, DIBS and DataCash. See [Payment providers](🔗).
**Commerce 10.2.2-10.x example**