---
title: Payment plugins
slug: commerce-connect-15/docs/payment-plugins
docTags: 
createdAt: 2026-07-30T20:34:41.000Z
---

`PaymentPlugin` is available when you build solutions with the payment processing components of Optimizely Commerce Connect. A payment type is passed to the payment plugin, which executes the transaction against the payment system. Each payment plugin is associated with a specific payment type.

Classes in this topic are available in the following namespace:

- `EPiServer.Commerce.Order` — Contains `IPaymentPlugin`.

`IPaymentPlugin` is an improvement over `IPaymentGateway`. It supports the abstraction APIs and serializable carts. The following activities work the same as in [Payment gateways](docId\:G1ckbXJU95iWetKZ8Krdn):

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

One important difference: `IPaymentPlugin` takes `IPayment` as a parameter, while `IPaymentGateway` takes `Payment`.

```csharp
PaymentProcessingResult ProcessPayment(IOrderGroup orderGroup, IPayment payment);
```

A sample implementation of the [Adyen payment gateway](https://www.adyen.com/) is available in the [Quicksilver Commerce reference sample project on GitHub](https://github.com/episerver/Quicksilver).
