Payment Integration - Computop


Partner Information


Computop is a leading global payment service provider that supplies compliant and secure payment solutions and fraud prevention. The payment platform Paygate offers smooth omnichannel payment with more than 200 payment methods. As a global player, Computop with its headquarters in Bamberg, Germany, and additional offices in China, the UK and the US, processes transactions totalling $24 billion per year for its client network of over 14,000 large international merchants and global marketplace partners.

  • True omnichannel solution
  • 200+ payment methods
  • 50+ acquirers connected
  • PCI DSS and PCI P2PE certified for highest data security
  • Sophisticated fraud prevention
  • White Label solution

We integrate with a wide range of payment methods that can be configured according to your needs and convenience. Payment method flows are configured using state machines.

Implementation details:

Available methods of payment:

We use state machines for handling and managing orders and payments. To integrate Computop payments, a state machine for Computop should be created.

A basic and fully functional state machine for each payment method is already built:

  • ComputopCreditCard.xml
  • ComputopDirectDebit.xml
  • ComputopIdeal.xml
  • ComputopPaydirekt.xml
  • ComputopPayPal.xml
  • ComputopSofort.xml
  • ComputopEasyCredit.xml
  • ComputopPayNow.xml

You can use the same state machines or build new ones. The state machine commands and conditions trigger Computop facade calls in order to perform the needed requests to Computop API.

Integration to Your Project

You can copy over configs to your configuration file from the Computop module’s config.dist.php file.

Here is the configuration to integrate payments using Computop:

  • MERCHANT_ID: Merchant ID, assigned by Computop (required).
  • BLOWFISH_PASSWORD: Password for blowfish algorithm, assigned by Computop (required).
  • HMAC_PASSWORD: HMAC key, assigned by Computop (required).
  • PAYDIREKT_SHOP_KEY: Shop key, assigned by Paydirekt (required for Paydirekt).
  • CREDIT_CARD_INIT_ACTION: Paygate form URL (required for Credit Card).
  • PAY_NOW_INIT_ACTION: Paygate form URL (required for PayNow).
  • PAYPAL_INIT_ACTION: Paygate form URL (required for PayPal).
  • DIRECT_DEBIT_INIT_ACTION: Paygate form URL (required for Direct Debit).
  • SOFORT_INIT_ACTION: Paygate form URL (required for Sofort).
  • PAYDIREKT_INIT_ACTION: Paygate form URL (required for Paydirekt).
  • IDEAL_INIT_ACTION: Paygate form URL (required for iDeal).
  • EASY_CREDIT_INIT_ACTION: Paygate form URL (required for EasyCredit).
  • EASY_CREDIT_STATUS_ACTION: URL for Status action (required for EasyCredit).
  • EASY_CREDIT_AUTHORIZE_ACTION: URL for Authorize action for EasyCredit (required for EasyCredit).
  • AUTHORIZE_ACTION: URL for Authorize action (required).
  • CAPTURE_ACTION: URL for Capture action (required).
  • REVERSE_ACTION: URL for Reverse action (required).
  • INQUIRE_ACTION: URL for Inquire action (required).
  • REFUND_ACTION: URL for Refund action (required).
  • RESPONSE_MAC_REQUIRED: List of response methods with required "Mac" field (used for additional check) .
  • PAYMENT_METHODS_WITHOUT_ORDER_CALL: List of methods without "Order" call (e.g. first call is "Authorization" call).

To use the state machines provided by Computop, make sure to add the location path to the configuration:

            $config[OmsConstants::PROCESS_LOCATION] = [
                $config[KernelConstants::SPRYKER_ROOT] . '/computop/config/Zed/Oms'

            $config[OmsConstants::ACTIVE_PROCESSES] = [
		'ComputopPayNow01', ];

ComputopConfig::PAYMENT_METHOD_CREDIT_CARD => 'ComputopCreditCard01',
ComputopConfig::PAYMENT_METHOD_DIRECT_DEBIT => 'ComputopDirectDebit01',
ComputopConfig::PAYMENT_METHOD_PAYDIREKT => 'ComputopPaydirekt01',
ComputopConfig::PAYMENT_METHOD_PAY_PAL => 'ComputopPayPal01',
ComputopConfig::PAYMENT_METHOD_SOFORT => 'ComputopSofort01',
ComputopConfig::PAYMENT_METHOD_IDEAL => 'ComputopIdeal01',
ComputopConfig::PAYMENT_METHOD_EASY_CREDIT => 'ComputopEasyCredit01',
ComputopConfig::PAYMENT_METHOD_PAY_NOW => 'ComputopPayNow01',

To extend the checkout and order processing, add the code below to Pyz\Yves\Checkout\CheckoutDependencyProvider.

To extend the checkout and order processing, add the code below to Pyz\Zed\Payment\PaymentDependencyProvider:

public function provideDependencies(Container $container)

                $container->extend(static::CHECKOUT_PLUGINS, function (CheckoutPluginCollection $pluginCollection) {
                    $pluginCollection->add(new ComputopSaveOrderPlugin(), ComputopConfig::PROVIDER_NAME, static::CHECKOUT_ORDER_SAVER_PLUGINS);
                    $pluginCollection->add(new ComputopPostCheckPlugin(), ComputopConfig::PROVIDER_NAME, static::CHECKOUT_POST_SAVE_PLUGINS);

                    return $pluginCollection;

To complete the integration, add controller provider into Pyz/ShopApplication/YvesBootstrap:getControllerProviderStack:

protected function getControllerProviderStack($isSsl)
	return [
	  new ComputopControllerProvider($isSsl),

Copyright and Disclaimer

See Disclaimer.


See also: