/** * @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; }
/** * @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()); }
<?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');