pimcore / payment-provider-ogone
Pimcore Payment Provider - OGone
Installs: 10
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 12
Forks: 1
Open Issues: 1
Type:pimcore-bundle
Requires
- pimcore/pimcore: ^10.0.0
Requires (Dev)
- phpstan/phpstan: ^1.9
README
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.