コード例 #1
0
 /** @return EcommercePaymentRequest*/
 protected function provideEcommercePaymentRequest()
 {
     $ecommercePaymentRequest = new EcommercePaymentRequest(new FakeShaComposer());
     $ecommercePaymentRequest->setPspid('123456789');
     $ecommercePaymentRequest->setOrderid('987654321');
     $ecommercePaymentRequest->setCurrency('EUR');
     $ecommercePaymentRequest->setAmount(100);
     return $ecommercePaymentRequest;
 }
コード例 #2
0
 /**
  * @test
  * @expectedException \BadMethodCallException
  */
 public function UnknownMethodFails()
 {
     $paymentRequest = new EcommercePaymentRequest(new FakeShaComposer());
     $paymentRequest->getFoobar();
 }
コード例 #3
0
 /**
  * @param EcommercePaymentRequest $paymentRequest
  * @return string url
  */
 public function render(EcommercePaymentRequest $paymentRequest)
 {
     $parameters = $paymentRequest->toArray();
     $parameters[PaymentRequest::SHASIGN_FIELD] = $paymentRequest->getShaSign();
     return $paymentRequest->getOgoneUri() . '?' . http_build_query($parameters);
 }
コード例 #4
0
 /**
  * @return string
  */
 protected function getShaSign()
 {
     return $this->paymentRequest->getShaSign();
 }
コード例 #5
0
 /**
  * @param string $locale
  * @param string $orderId
  * @param string $customerName
  * @param integer $amount Amount in cents
  * @param string $currency Example : EUR
  * @param array $options
  * @param bool $showSubmitButton
  * @return string
  */
 public function getRequestForm($locale, $orderId, $customerName, $amount, $currency = "EUR", $options = array(), $showSubmitButton = true)
 {
     $passphrase = $this->shaIn;
     $shaComposer = new AllParametersShaComposer($passphrase);
     $shaComposer->addParameterFilter(new ShaInParameterFilter());
     //optional
     $paymentRequest = new EcommercePaymentRequest($shaComposer);
     switch ($this->environment) {
         case 'prod':
             $paymentRequest->setOgoneUri(EcommercePaymentRequest::PRODUCTION);
             break;
         default:
             $paymentRequest->setOgoneUri(EcommercePaymentRequest::TEST);
             break;
     }
     $paymentRequest->setPspid($this->pspid);
     $paymentRequest->setCn($customerName);
     $paymentRequest->setOrderid($orderId);
     $paymentRequest->setAmount($amount);
     $paymentRequest->setCurrency($currency);
     // setting options defined in config
     foreach ($this->options as $option => $value) {
         $setter = "set" . $option;
         $paymentRequest->{$setter}($value);
     }
     // setting options defined in method call
     foreach ($options as $option => $value) {
         $setter = "set" . $option;
         $paymentRequest->{$setter}($value);
     }
     $paymentRequest->setLanguage($this->localeToIso($locale));
     $paymentRequest->validate();
     $this->formGenerator->showSubmitButton($showSubmitButton);
     return $this->formGenerator->render($paymentRequest);
 }
コード例 #6
0
ファイル: Ogone.php プロジェクト: alextoshinov/musymeshop
<?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');
コード例 #7
0
ファイル: TestCase.php プロジェクト: marlon-be/marlon-ogone
 /** @return EcommercePaymentRequest */
 protected function provideMinimalPaymentRequest()
 {
     $paymentRequest = new EcommercePaymentRequest(new FakeShaComposer());
     $paymentRequest->setPspid('123456789');
     $paymentRequest->setOrderid('987654321');
     $paymentRequest->setOgoneUri(EcommercePaymentRequest::TEST);
     // minimal required fields for ogone (together with pspid and orderid)
     $paymentRequest->setCurrency("EUR");
     $paymentRequest->setAmount(100);
     // these fields are actually optional but are good practice to be included
     $paymentRequest->setCustomername("Louis XIV");
     $paymentRequest->setOwnerAddress("1, Rue du Palais");
     $paymentRequest->setOwnerTown("Versailles");
     $paymentRequest->setOwnerZip('2300');
     $paymentRequest->setOwnerCountry("FR");
     $paymentRequest->setEmail("*****@*****.**");
     return $paymentRequest;
 }