public function testIdealPayment() { $payment = new Ideal(); $payment->setPurchaseId(uniqid()); $payment->setEntranceCode(uniqid()); $payment->setAmount(100); $payment->setDescription(uniqid('phpunit-', true)); // Ideal specific methods $directoryResult = $payment->getAvailableIssuers($this->client); $issuers = $directoryResult->getIssuers(); $this->assertEquals(1, count($issuers)); $directoryRequest = new DirectoryRequest($this->client); $this->assertEquals($directoryRequest->execute(), $directoryResult); /** @var IssuerResult $issuer */ $issuer = reset($issuers); $this->assertEquals(99, $issuer->getIssuerId()); $this->assertEquals('Sisow Bank (test)', $issuer->getIssuerName()); // Ideal specific settings $payment->setIssuerId($issuer->getIssuerId()); $transactionRequest = new TransactionRequest($this->client, $payment); $requestResult = $transactionRequest->execute(); $this->assertNotEmpty($requestResult->getTransactionId()); $this->assertNotEmpty($requestResult->getIssuerUrl()); $statusRequest = new StatusRequest($this->client, $requestResult->getTransactionId()); $statusResult = $statusRequest->execute(); $this->assertEquals('Open', $statusResult->getStatus()); }
/** * @param Client $client * @return DirectoryRequestResult */ public function getAvailableIssuers(Client $client) { $directoryRequest = new DirectoryRequest($client); return $directoryRequest->execute(); }