From 88e4a2bd81f90a49c0c6f93ed99f99ed89490a8a Mon Sep 17 00:00:00 2001 From: Luke Holder Date: Mon, 19 Feb 2018 15:45:22 +0800 Subject: [PATCH 1/3] AMT and TENDER are already set in parent::getData() --- src/Message/PurchaseRequest.php | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/Message/PurchaseRequest.php b/src/Message/PurchaseRequest.php index 3283048..a285dbc 100644 --- a/src/Message/PurchaseRequest.php +++ b/src/Message/PurchaseRequest.php @@ -81,12 +81,8 @@ public function getData() public function getReferenceSaleData() { - $this->validate('transactionReference', 'amount'); - - $data = $this->getBaseData(); - $data['AMT'] = $this->getAmount(); + $this->validate('transactionReference'); $data['ORIGID'] = $this->getTransactionReference(); - $data['TENDER'] = 'C'; return $data; } From 056a9d1dc362aa0334d64fe2c3ea6a54aae965e1 Mon Sep 17 00:00:00 2001 From: Luke Holder Date: Mon, 19 Feb 2018 16:17:40 +0800 Subject: [PATCH 2/3] Only use the transactionReference if no card or cardReference is in submitted --- src/Message/PurchaseRequest.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Message/PurchaseRequest.php b/src/Message/PurchaseRequest.php index a285dbc..fbbe821 100644 --- a/src/Message/PurchaseRequest.php +++ b/src/Message/PurchaseRequest.php @@ -72,7 +72,8 @@ class PurchaseRequest extends AuthorizeRequest public function getData() { - if ($this->parameters->get('transactionReference')) { + $realCardExists = ($this->getCard() || $this->getCardReference()); + if ($this->parameters->get('transactionReference') && !$realCardExists) { return $this->getReferenceSaleData(); } From 819ee5e3c13f89daa92806f517295aa01e6f428c Mon Sep 17 00:00:00 2001 From: Luke Holder Date: Mon, 19 Feb 2018 16:24:31 +0800 Subject: [PATCH 3/3] Revert "AMT and TENDER are already set in parent::getData()" This reverts commit 88e4a2bd81f90a49c0c6f93ed99f99ed89490a8a. --- src/Message/PurchaseRequest.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Message/PurchaseRequest.php b/src/Message/PurchaseRequest.php index fbbe821..4d07139 100644 --- a/src/Message/PurchaseRequest.php +++ b/src/Message/PurchaseRequest.php @@ -82,8 +82,12 @@ public function getData() public function getReferenceSaleData() { - $this->validate('transactionReference'); + $this->validate('transactionReference', 'amount'); + + $data = $this->getBaseData(); + $data['AMT'] = $this->getAmount(); $data['ORIGID'] = $this->getTransactionReference(); + $data['TENDER'] = 'C'; return $data; }