CoreShop Payment

CoreShop contains a very flexible payments management system with support for many gateways (payment providers). We are using a payment abstraction library - Payum, which handles all sorts of capturing, refunding and recurring payments logic.

On CoreShop side, we integrate it into our checkout and manage all the payment data.

Available Payment Gateways for CoreShop

Name State Link Support Offsite Supports Server-Notification Supports Refund
Heidelpay stable Github PayPal, Klarna Sofort, Credit Card No Yes No
SaferPay stable Github Supported Payment Methods Yes Yes Partially
PostFinance stable Github PostFinance Card, PostFinance E-Finance, Visa, MasterCard, Diners Club, American Express, JCB, PayPal, TWINT Yes Yes No
PowerPay dev Github invoice, automatic credit check No No (not required) No
CuraBill dev Github invoice, instalments via iframe No No (not required) No

Payment

Every payment in CoreShop, successful or failed, is represented by the payment model, which contains basic information and a reference to appropriate order.

Create a Payment programmatically

As usually, use a factory to create a new PaymentMethod and give it a unique code.

$payment = $this->container->get('coreshop.factory.payment')->createNew();

$payment->setOrder($order);
$payment->setCurrencyCode('EUR');

$this->container->get('coreshop.repository.payment')->add($payment);

More