function getRequestParameters() { $params = $this->getRawParameters(); $params['requestFingerprint'] = Fingerprint::fromParameters($params)->setContext($this->getContext())->setFingerprintOrder(array_merge(['customerId', 'shopId', 'toolkitPassword', 'secret', 'command', 'language'], $this->fingerprintOrder)); $this->assertParametersAreValid($params, array_merge(['customerId', 'requestFingerprint', 'toolkitPassword', 'language'], $this->requiredParameters)); return $params; }
/** * @test */ function dispatchesConfirmPaymentEventAndRespondWithError() { $kernel = static::createKernel(); $kernel->boot(); $client = new Client($kernel); $listener = function (ConfirmPaymentEvent $event) { $this->assertTrue($event->isPaymentState(ConfirmPaymentEvent::FAILURE)); $event->respondWithError('Failure', 1234); }; $kernel->getContainer()->get('event_dispatcher')->addListener(ConfirmPaymentEvent::NAME, $listener); $fingerprintOrder = ['paymentState']; $responseParameters = ['paymentState' => ConfirmPaymentEvent::FAILURE, 'responseFingerprintOrder' => join(',', $fingerprintOrder)]; $responseParameters['responseFingerprint'] = (string) Fingerprint::fromParameters($responseParameters)->setFingerprintOrder($fingerprintOrder)->setContext($kernel->getContainer()->get('hochstrasser_wirecard.context')); $client->request('POST', '/wirecard/confirm', $responseParameters); $this->assertEquals('{"status":"NOK","errorCodes":1234,"QPAY-CONFIRMATION-RESPONSE":{"result":"NOK","message":"Failure"}}', $client->getResponse()->getContent()); }
function getRequestParameters() { $params = $this->getRawParameters(); $requestFingerprintOrder = array_merge(array_keys($params), ['requestFingerprintOrder', 'secret']); $params['requestFingerprintOrder'] = join(',', $requestFingerprintOrder); $params['requestFingerprint'] = Fingerprint::fromParameters($params)->setContext($this->getContext())->setFingerprintOrder($requestFingerprintOrder); $this->assertParametersAreValid($params, array_merge(['customerId', 'requestFingerprint'], $this->requiredParameters)); return $params; }