Install latest version with composer:
composer require pimcore/payment-provider-datatrans
Enable bundle via console or extensions manager in Pimcore backend:
php bin/console pimcore:bundle:enable PimcorePaymentProviderDatatransBundle
php bin/console pimcore:bundle:install PimcorePaymentProviderDatatransBundle
The Payment Manager is responsible for implementation of different Payment Provider to integrate them into the framework.
For more information about Payment Manager, see Payment Manager Docs.
Configure payment provider in the pimcore_ecommerce_config.payment_manager
config section:
pimcore_ecommerce_config:
payment_manager:
providers:
datatrans:
# service ID of payment provider implementation
provider_id: Pimcore\Bundle\EcommerceFrameworkBundle\PaymentManager\Payment\Datatrans
# active profile - you can define multiple profiles in the section below
profile: sandbox
# available profiles with options - options vary on the provider implementation as the
profiles:
sandbox:
merchant_id: 1000011011
sign: 30916165706580013
use_digital_signature: false
live:
merchant_id: merchant_id_id
sign: sign_id
use_digital_signature: false
mode: live
Payment Information: Order payment section "Payment Informations" stores information about every payment trial by Customer.
Add additional fields in "PaymentInfo" fieldcollection, so that Order Manager stores information in Order object:
It's possible to make an authorisation and clearing in one step. Default behavior is authorisation only. For automatic clearing set the option "reqtype" to "CAA"
<?php
$url = 'http://'. $_SERVER["HTTP_HOST"] . "/en/checkout/payment-status?mode=";
$config = [
// checkout config
'language' => $language
, 'refno' => $paymentInformation->getInternalPaymentId()
, 'useAlias' => true
, 'reqtype' => 'CAA' // Authorisation and settlement
// system
, 'successUrl' => $url . 'success'
, 'errorUrl' => $url . 'error'
, 'cancelUrl' => $url . 'cancel'
];