Beispiel #1
0
 /**
  * @param PaymentResponse $response
  * @throws Exception
  * @throws PaymentResponseException
  */
 public function verifyPaymentResponse(PaymentResponse $response)
 {
     // verify digest & digest1
     try {
         $responseParams = $response->getParams();
         $this->signer->verify($responseParams, $response->getDigest());
         $responseParams['MERCHANTNUMBER'] = $this->merchantNumber;
         $this->signer->verify($responseParams, $response->getDigest1());
     } catch (SignerException $e) {
         throw new Exception($e->getMessage(), $e->getCode(), $e);
     }
     // verify PRCODE and SRCODE
     if (false !== $response->hasError()) {
         throw new PaymentResponseException($response->getParams()['prcode'], $response->getParams()['srcode'], "Response has an error.");
     }
 }