/**
  * @test
  * @dataProvider provideSha512Request
  */
 public function Sha512StringIsComposedCorrectly(PassPhrase $passphrase, array $request, $expectedSha)
 {
     $composer = new AllParametersShaComposer($passphrase, new HashAlgorithm(HashAlgorithm::HASH_SHA512));
     $composer->addParameterFilter(new ShaOutParameterFilter());
     $this->assertEquals($expectedSha, $composer->compose($request));
 }
 /**
  * @param array $parameters
  * @return bool
  */
 public function paymentResponse(array $parameters)
 {
     $paymentResponse = new EcommercePaymentResponse($parameters);
     $passphrase = $this->shaOut;
     $shaComposer = new AllParametersShaComposer($passphrase);
     $shaComposer->addParameterFilter(new ShaOutParameterFilter());
     //optional
     if ($paymentResponse->isValid($shaComposer) && $paymentResponse->isSuccessful()) {
         $event = new OgoneEvent($parameters);
         $this->eventDispatcher->dispatch(OgoneEvents::SUCCESS, $event);
         // handle payment confirmation
         $this->logger->info('Ogone payment success');
         return true;
     } else {
         $event = new OgoneEvent($parameters);
         $this->eventDispatcher->dispatch(OgoneEvents::ERROR, $event);
         $this->logger->warn('Ogone payment failure', $parameters);
     }
     return false;
 }
Example #3
0
 /**
  * @test
  */
 public function CreateAliasInvalid()
 {
     $passphraseOut = new Passphrase(PASSPHRASE_SHA_OUT);
     $shaOutComposer = new AllParametersShaComposer($passphraseOut);
     $shaOutComposer->addParameterFilter(new ShaOutParameterFilter());
     $createAliasResponse = $this->provideAliasResponse(true, true);
     $this->assertTrue($createAliasResponse->isValid($shaOutComposer));
     $this->assertFalse($createAliasResponse->isSuccessful());
 }
Example #4
0
<?php

namespace GoCart\Controller;

use Ogone\Passphrase;
use Ogone\Ecommerce\EcommercePaymentRequest;
use Ogone\ShaComposer\AllParametersShaComposer;
use Ogone\FormGenerator\SimpleFormGenerator;
$passphrase = new Passphrase('my-sha-in-passphrase-defined-in-ogone-interface');
$shaComposer = new AllParametersShaComposer($passphrase);
$shaComposer->addParameterFilter(new ShaInParameterFilter());
//optional
$ecommercePaymentRequest = new EcommercePaymentRequest($shaComposer);
// Optionally set Ogone uri, defaults to TEST account
//$ecommercePaymentRequest->setOgoneUri(EcommercePaymentRequest::PRODUCTION);
// Set various params:
$ecommercePaymentRequest->setOrderid('123456');
$ecommercePaymentRequest->setAmount(150);
// in cents
$ecommercePaymentRequest->setCurrency('EUR');
// ...
$ecommercePaymentRequest->validate();
$formGenerator = new SimpleFormGenerator();
$html = $formGenerator->render($ecommercePaymentRequest);
// Or use your own generator. Or pass $ecommercePaymentRequest to a view
class Ogone extends Front
{
    public function __construct()
    {
        parent::__construct();
        \CI::lang()->load('ogone');