/** * {@inheritdoc} */ public function __construct(RequestInterface $request, $data) { parent::__construct($request, $data); $signKey = $this->request->getTestMode() ? $this->request->getTestKey() : $this->request->getSignKey(); $signExpected = $this->request->calculateSign($this->data, $signKey); if ($this->getSign() !== $signExpected) { throw new InvalidResponseException('Failed to validate signature: ' . $signExpected); } if ($this->getState() !== 'success') { throw new InvalidResponseException('The payment was not success'); } }