Exemplo n.º 1
0
 /**
  * @param PaymentResult $paymentResult
  *
  * @return string
  */
 public function generatePaymentResultSignature(PaymentResult $paymentResult)
 {
     $values = $paymentResult->getSignatureValues();
     $values = $this->filterValues($values);
     return $this->generateSignature($values);
 }
Exemplo n.º 2
0
 /**
  * @param Request $request
  * @return PaymentResult
  */
 public static function createFromRequest(Request $request)
 {
     $paymentResult = new PaymentResult();
     $paymentResult->setAuthResult($request->getParameter('authResult'));
     $paymentResult->setPspReference($request->getParameter('pspReference'));
     $paymentResult->setMerchantReference($request->getParameter('merchantReference'));
     $paymentResult->setSkinCode($request->getParameter('skinCode'));
     $paymentResult->setMerchantReturnData($request->getParameter('merchantReturnData'));
     $paymentResult->setShopperLocale($request->getParameter('shopperLocale'));
     $paymentResult->setPaymentMethod($request->getParameter('paymentMethod'));
     return $paymentResult;
 }
Exemplo n.º 3
0
 /**
  * @param Request $request
  * @return PaymentResult
  * @throws SecurityException
  */
 public function handleReturn(Request $request)
 {
     $paymentResult = PaymentResult::createFromRequest($request);
     $recievedSignature = $request->getParameter('merchantSig');
     $computedSignature = $this->context->getSignaturesGenerator()->generatePaymentResultSignature($paymentResult);
     if ($recievedSignature !== $computedSignature) {
         throw new SecurityException('Signatures does not match');
     }
     if ($paymentResult->isAuthorised()) {
         $this->onReturn($this, $paymentResult);
     } else {
         $this->onCancel($this, $paymentResult);
     }
     return $paymentResult;
 }