From 616ad7343312f80dc8cf35ff9aebc7b37e924f7c Mon Sep 17 00:00:00 2001 From: Grant Heggie Date: Mon, 8 Apr 2019 13:17:10 +1000 Subject: [PATCH 1/2] ADD: local flag to use TokenPayment instead of ProcessPayment for a Rapid Purchase Request --- src/Message/RapidPurchaseRequest.php | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/Message/RapidPurchaseRequest.php b/src/Message/RapidPurchaseRequest.php index 80d1682..01a386e 100644 --- a/src/Message/RapidPurchaseRequest.php +++ b/src/Message/RapidPurchaseRequest.php @@ -14,12 +14,24 @@ */ class RapidPurchaseRequest extends AbstractRequest { + protected $tokenPayment = false; + + public function setTokenPayment($value) + { + $this->tokenPayment = (bool)$value; + } + + public function getTokenPayment() + { + return $this->tokenPayment; + } + public function getData() { $this->validate('amount', 'returnUrl'); $data = $this->getBaseData(); - $data['Method'] = 'ProcessPayment'; + $data['Method'] = $this->tokenPayment ? 'TokenPayment' : 'ProcessPayment'; $data['TransactionType'] = $this->getTransactionType(); $data['RedirectUrl'] = $this->getReturnUrl(); From 46b1498ca0d7643b6721f6fb749e033597641a4f Mon Sep 17 00:00:00 2001 From: Grant Heggie Date: Sat, 8 Jun 2019 10:45:04 +1000 Subject: [PATCH 2/2] Set token customer from card reference --- src/Message/RapidPurchaseRequest.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Message/RapidPurchaseRequest.php b/src/Message/RapidPurchaseRequest.php index 01a386e..fa8adde 100644 --- a/src/Message/RapidPurchaseRequest.php +++ b/src/Message/RapidPurchaseRequest.php @@ -31,7 +31,14 @@ public function getData() $this->validate('amount', 'returnUrl'); $data = $this->getBaseData(); - $data['Method'] = $this->tokenPayment ? 'TokenPayment' : 'ProcessPayment'; + if ($this->tokenPayment) { + $data['Method'] = 'TokenPayment'; + if ($this->getCardReference()) { + $data['Customer']['TokenCustomerID'] = $this->getCardReference(); + } + } else { + $data['Method'] = 'ProcessPayment'; + } $data['TransactionType'] = $this->getTransactionType(); $data['RedirectUrl'] = $this->getReturnUrl();