public function testTransferInitiatorDetailsWithUnstructuredRemittanceIdentifier() { $transferMsgDetails = new TransferMsgDetails("http://10.18.70.8:7001/vendorconfirmation", "http://10.18.70.8:7001/transactionok?danke.asp", "http://10.18.70.8:7001/transactionnok?fehler.asp"); $transferMsgDetails->TargetWindowNok = $transferMsgDetails->TargetWindowOk = 'Mustershop'; $data = new TransferInitiatorDetails('AKLJS231534', 'topSecret', 'GAWIATW1XXX', 'Max Mustermann', 'AT611904300234573201', '1234567890ABCDEFG', 15000, $transferMsgDetails, '2007-03-16'); $data->UnstructuredRemittanceIdentifier = 'Foo is not Bar'; $data->SetExpirationMinutes(5); $aSimpleXml = $data->GetSimpleXml(); $actual = $aSimpleXml->asXML(); XmlValidator::ValidateEpsProtocol($actual); $this->assertContains('UnstructuredRemittanceIdentifier>Foo is not Bar', $actual); }
/** * Sends the given TransferInitiatorDetails to the Scheme Operator * @param TransferInitiatorDetails $transferInitiatorDetails * @param string $targetUrl url with preselected bank identifier * @throws XmlValidationException when the returned BankResponseDetails does not validate against XSD * @throws \UnexpectedValueException when using security suffix without security seed * @return string BankResponseDetails */ public function SendTransferInitiatorDetails($transferInitiatorDetails, $targetUrl = null) { if ($transferInitiatorDetails->RemittanceIdentifier != null) { $transferInitiatorDetails->RemittanceIdentifier = $this->AppendHash($transferInitiatorDetails->RemittanceIdentifier); } if ($transferInitiatorDetails->UnstructuredRemittanceIdentifier != null) { $transferInitiatorDetails->UnstructuredRemittanceIdentifier = $this->AppendHash($transferInitiatorDetails->UnstructuredRemittanceIdentifier); } if ($targetUrl == null) { $targetUrl = 'https://routing.eps.or.at/appl/epsSO/transinit/eps/v2_5'; } $data = $transferInitiatorDetails->GetSimpleXml(); $xmlData = $data->asXML(); $response = $this->PostUrl($targetUrl, $xmlData, 'Send payment order'); XmlValidator::ValidateEpsProtocol($response); return $response; }