/** * Get the raw data array for this message. The format of this varies from gateway to * gateway, but will usually be either an associative array, or a SimpleXMLElement. * * @return mixed */ protected function buildData() { $transaction = $this->buildTransaction(); $purchase = new Purchase($transaction); return Job::createPurchaseJob($this->getSignature(), $purchase); }
/** * @depends testBankRequest * @large * @param array $data * @return string */ public function testPurchaseRequest(array $data) { $secure = Secure::createResponse($data['PaRes']); $creditCard = new CreditCardData(); $creditCard->secureCode = '001'; $transaction = new Transaction(); $transaction->id = '9457892347623478'; $transaction->guWid = $data['GuWid']; $transaction->creditCardData = $creditCard; $transaction->secure = $secure; $purchase = new Purchase($transaction); $job = Job::createPurchaseJob(self::SIGNATURE, $purchase); $request = new Request($job); $body = $this->serializer->serialize(WireCard::createWithRequest($request), 'xml'); $response = $this->client->send($this->createRequest($body)); /** @var WireCard $wireCard */ $wireCard = $this->serializer->deserialize($response->getBody(true), 'Wirecard\\Element\\WireCard', 'xml'); $response = $wireCard->response; $this->assertTrue($response->isSuccessful()); $this->assertFalse($response->isRedirect()); $this->assertNull($response->getMessage()); return $response->getProcessingGuWid(); }