diff --git a/src/Message/PurchaseRequest.php b/src/Message/PurchaseRequest.php index 0419912..a37991e 100644 --- a/src/Message/PurchaseRequest.php +++ b/src/Message/PurchaseRequest.php @@ -42,6 +42,16 @@ public function setLanguage($value) return $this->setParameter('language', $value); } + public function getTransactionReconRef() + { + return $this->getParameter('transactionReconRef'); + } + + public function setTransactionReconRef($value) + { + return $this->setParameter('transactionReconRef', $value); + } + public function getData() { $this->validate('amount', 'currency', 'transactionId', 'returnUrl'); @@ -56,6 +66,10 @@ public function getData() $data['redirectUrl'] = $this->getReturnUrl(); $data['language'] = $this->getLanguage(); + if ($this->getTransactionReconRef()) { + $data['transactionReconRef'] = $this->getTransactionReconRef(); + } + if ($this->getCard()) { $data['customerFirstName'] = $this->getCard()->getFirstName(); $data['customerLastName'] = $this->getCard()->getLastName(); diff --git a/tests/Message/PurchaseRequestTest.php b/tests/Message/PurchaseRequestTest.php index a54ba5d..d355110 100644 --- a/tests/Message/PurchaseRequestTest.php +++ b/tests/Message/PurchaseRequestTest.php @@ -65,4 +65,31 @@ public function testGetDataWithCard() $this->assertEquals($expected, $this->request->getData()); } + + public function testGetDataWithTransactionReconRef() + { + $this->request->setMerchantId('MERCH-123'); + $this->request->setPassword('PASSWORD-123'); + $this->request->setAmount('1.23'); + $this->request->setCurrency('USD'); + $this->request->setTransactionId('ABC-123'); + $this->request->setReturnUrl('http://return.domain.com/'); + $this->request->setLanguage('en_GB'); + + $this->request->setTransactionReconRef('DEF-123'); + + $expected = array( + 'merchantId' => 'MERCH-123', + 'token' => 'PASSWORD-123', + 'serviceType' => 'B', + 'orderNumber' => 'ABC-123', + 'currencyCode' => 'USD', + 'amount' => 123, + 'redirectUrl' => 'http://return.domain.com/', + 'language' => 'en_GB', + 'transactionReconRef' => 'DEF-123', + ); + + $this->assertEquals($expected, $this->request->getData()); + } }