pimcore/payment-provider-ogone
not-reviewed
No Category
Detailspimcore/payment-provider-ogone
No Category
Project Summary
Readme
Pimcore E-Commerce Framework Payment Provider - OGone
Official OGone Documentation
- Documentation
- Sandbox / on request
Installation
Install latest version with Composer:
composer require pimcore/payment-provider-ogone
Enable bundle via console or extensions manager in Pimcore backend:
php bin/console pimcore:bundle:enable PimcorePaymentProviderOGoneBundle
php bin/console pimcore:bundle:install PimcorePaymentProviderOGoneBundle
Configuration
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:
# service ID of payment manager implementation - following value is default value an can be omitted
payment_manager_id: Pimcore\Bundle\EcommerceFrameworkBundle\PaymentManager\PaymentManager
# configuration of payment providers, key is name of provider
providers:
ogone:
provider_id: Pimcore\Bundle\EcommerceFrameworkBundle\PaymentManager\Payment\OGone
profile: sandbox
profiles:
sandbox:
secretIn: D343DDFD3434
secretOut: E454EEGE4545
pspid: MyTestAccount
mode: sandbox
# encryptionType: SHA1 or SHA256 or SHA512 (optional)
live:
secretIn: D343DDFD3434
secretOut: E454EEGE4545
mode: live
# encryptionType: SHA1 or SHA256 or SHA512 (optional)
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:
Implementation
Somewhere in your checkout controller you will need to create the payment configuration for the initPayment()
method of the provider:
<?php
$url = 'https://'. $_SERVER["HTTP_HOST"] . "/en/checkout/confirm?state=";
$paymentConfig = [
'language' => "en",
'orderIdent' => $paymentInfo->getInternalPaymentId(),
'customerStatement' => $paymentMessage,
'successUrl' => "https://my-server-name.com/shop/payment/confirm?provider=ogone&state=success",
'cancelUrl' => "https://my-server-name.com/shop/payment/confirm?provider=ogone&state=cancel",
'errorUrl' => "https://my-server-name.com/shop/payment/confirm?provider=ogone&state=error",
'paymentInfo' => $order->getPaymentInfo()->getItems()[0]
];
You must configure the callback URLs within the OGone backend so that these are called server-by-server.
You can pass additional parameters in the configuration based on the OGone documentation. For instance the color and the appearance of th Ogone UI can be controlled, and additional customer data may be passed.