From 20f3cee446004e72521e257a58d36ae0a46c841e Mon Sep 17 00:00:00 2001 From: nwehrhan <66650503+nwehrhan@users.noreply.github.com> Date: Tue, 13 Oct 2020 12:39:05 -0700 Subject: [PATCH 1/4] Allow for transaction source on purchases Allow for transaction source on purchases --- src/Message/AbstractRequest.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/Message/AbstractRequest.php b/src/Message/AbstractRequest.php index ccbd7af..fb5830d 100644 --- a/src/Message/AbstractRequest.php +++ b/src/Message/AbstractRequest.php @@ -189,6 +189,16 @@ public function setRecurring($value) return $this->setParameter('recurring', (bool) $value); } + public function getTransactionSource() + { + return $this->getParameter('transactionSource'); + } + + public function setTransactionSource(string $value) + { + return $this->setParameter('transactionSource', $value); + } + public function getAddBillingAddressToPaymentMethod() { return $this->getParameter('addBillingAddressToPaymentMethod'); From 25c07a7a8a6cdfcaeca8ce6007f9229493297cf4 Mon Sep 17 00:00:00 2001 From: nwehrhan <66650503+nwehrhan@users.noreply.github.com> Date: Tue, 13 Oct 2020 12:40:44 -0700 Subject: [PATCH 2/4] Add transactionSource to AuthorizeRequest Add transactionSource getter to AuthorizeRequest --- src/Message/AuthorizeRequest.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Message/AuthorizeRequest.php b/src/Message/AuthorizeRequest.php index fa8e590..3063a4e 100644 --- a/src/Message/AuthorizeRequest.php +++ b/src/Message/AuthorizeRequest.php @@ -28,6 +28,7 @@ public function getData() 'orderId' => $this->getTransactionId(), 'purchaseOrderNumber' => $this->getPurchaseOrderNumber(), 'recurring' => $this->getRecurring(), + 'transactionSource' => $this->getTransactionSource(), 'serviceFeeAmount' => $this->getServiceFeeAmount(), 'shippingAddressId' => $this->getShippingAddressId(), 'taxAmount' => $this->getTaxAmount(), From b443664b066eb1dd6af13c90f63a32846f20011c Mon Sep 17 00:00:00 2001 From: nwehrhan <66650503+nwehrhan@users.noreply.github.com> Date: Tue, 13 Oct 2020 12:52:00 -0700 Subject: [PATCH 3/4] Add test for transaction source --- tests/Message/AbstractRequestTest.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/Message/AbstractRequestTest.php b/tests/Message/AbstractRequestTest.php index ec64ae4..d3b1664 100644 --- a/tests/Message/AbstractRequestTest.php +++ b/tests/Message/AbstractRequestTest.php @@ -45,6 +45,7 @@ public function provideKeepsData(){ array('deviceSessionId', 'abc123'), array('merchantAccountId', 'abc123'), array('recurring', true), + array('transactionSource', 'recurring'), array('addBillingAddressToPaymentMethod', true), array('holdInEscrow', true), array('storeInVault', true), @@ -139,6 +140,7 @@ public function testOptionData() 'storeShippingAddressInVault' => true, 'verifyCard' => false, 'verificationMerchantAccountId' => true, + 'transactionSource' => 'recurring', ); $this->request->initialize($options); $data = $this->request->getOptionData(); @@ -152,5 +154,6 @@ public function testOptionData() $this->assertSame($options['storeShippingAddressInVault'], $data['options']['storeShippingAddressInVault']); $this->assertSame($options['verifyCard'], $data['options']['verifyCard']); $this->assertSame($options['verificationMerchantAccountId'], $data['options']['verificationMerchantAccountId']); + $this->assertSame($options['transactionSource'], $data['options']['transactionSource']); } } From c78eb16ef3ab76970e92d861e9b40557129bbc1f Mon Sep 17 00:00:00 2001 From: nwehrhan <66650503+nwehrhan@users.noreply.github.com> Date: Tue, 13 Oct 2020 13:10:55 -0700 Subject: [PATCH 4/4] Remove transaction source from options test Transaction source is not an option. Remove from test --- tests/Message/AbstractRequestTest.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/Message/AbstractRequestTest.php b/tests/Message/AbstractRequestTest.php index d3b1664..2f1b916 100644 --- a/tests/Message/AbstractRequestTest.php +++ b/tests/Message/AbstractRequestTest.php @@ -140,7 +140,6 @@ public function testOptionData() 'storeShippingAddressInVault' => true, 'verifyCard' => false, 'verificationMerchantAccountId' => true, - 'transactionSource' => 'recurring', ); $this->request->initialize($options); $data = $this->request->getOptionData(); @@ -154,6 +153,5 @@ public function testOptionData() $this->assertSame($options['storeShippingAddressInVault'], $data['options']['storeShippingAddressInVault']); $this->assertSame($options['verifyCard'], $data['options']['verifyCard']); $this->assertSame($options['verificationMerchantAccountId'], $data['options']['verificationMerchantAccountId']); - $this->assertSame($options['transactionSource'], $data['options']['transactionSource']); } }