Skip to content

Commit 811bebb

Browse files
committed
Merge branch 'master' into card-present
Conflicts: src/Message/AIMAuthorizeRequest.php tests/Message/CIMAuthorizeRequestTest.php
2 parents 07749f7 + 8ace4bf commit 811bebb

13 files changed

+59
-35
lines changed

src/AIMGateway.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,16 @@ public function setDeveloperEndpoint($value)
8787
return $this->setParameter('developerEndpoint', $value);
8888
}
8989

90+
public function getDuplicateWindow()
91+
{
92+
return $this->getParameter('duplicateWindow');
93+
}
94+
95+
public function setDuplicateWindow($value)
96+
{
97+
return $this->setParameter('duplicateWindow', $value);
98+
}
99+
90100
/**
91101
* @param array $parameters
92102
* @return AIMAuthorizeRequest

src/Message/AIMAbstractRequest.php

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ public function setDuplicateWindow($value)
7272

7373
private function getDuplicateWindow()
7474
{
75-
return $this->getParameter('duplicateWindow'); // Maps x_duplicate_window
75+
return $this->getParameter('duplicateWindow');
7676
}
7777

7878
public function getLiveEndpoint()
@@ -235,24 +235,21 @@ protected function addBillingData(\SimpleXMLElement $data)
235235
return $data;
236236
}
237237

238-
protected function addTestModeSetting(\SimpleXMLElement $data)
238+
protected function addTransactionSettings(\SimpleXMLElement $data)
239239
{
240-
// Test mode setting
241-
$data->transactionRequest->transactionSettings->setting->settingName = 'testRequest';
242-
$data->transactionRequest->transactionSettings->setting->settingValue = $this->getTestMode() ? 'true' : 'false';
240+
$i = 0;
243241

244-
return $data;
245-
}
242+
// The test mode setting indicates whether or not this is a live request or a test request
243+
$data->transactionRequest->transactionSettings->setting[$i]->settingName = 'testRequest';
244+
$data->transactionRequest->transactionSettings->setting[$i]->settingValue = $this->getTestMode() ? 'true' : 'false';
246245

247-
protected function addExtraOptions(\SimpleXMLElement $data)
248-
{
246+
// The duplicate window setting specifies the threshold for AuthorizeNet's duplicate transaction detection logic
249247
if (!is_null($this->getDuplicateWindow())) {
250-
$extraOptions = $data->addChild('extraOptions');
251-
$node = dom_import_simplexml($extraOptions);
252-
$nodeOwner = $node->ownerDocument;
253-
$duplicateWindowStr = sprintf("x_duplicate_window=%s", $this->getDuplicateWindow());
254-
$node->appendChild($nodeOwner->createCDATASection($duplicateWindowStr));
248+
$i++;
249+
$data->transactionRequest->transactionSettings->setting[$i]->settingName = 'duplicateWindow';
250+
$data->transactionRequest->transactionSettings->setting[$i]->settingValue = $this->getDuplicateWindow();
255251
}
252+
256253
return $data;
257254
}
258255

src/Message/AIMAuthorizeRequest.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,7 @@ public function getData()
2020
$this->addCustomerIP($data);
2121
$this->addBillingData($data);
2222
$this->addRetail($data);
23-
$this->addTestModeSetting($data);
24-
$this->addExtraOptions($data);
23+
$this->addTransactionSettings($data);
2524

2625
return $data;
2726
}

src/Message/AIMCaptureRequest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public function getData()
1616
$data = $this->getBaseData();
1717
$data->transactionRequest->amount = $this->getAmount();
1818
$data->transactionRequest->refTransId = $this->getTransactionReference()->getTransId();
19-
$this->addTestModeSetting($data);
19+
$this->addTransactionSettings($data);
2020

2121
return $data;
2222
}

src/Message/AIMRefundRequest.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,13 @@ public function getData()
3838
$this->validate('card');
3939
$card = $this->getCard();
4040
$data->transactionRequest->payment->creditCard->cardNumber = $card->getNumberLastFour();
41-
$data->transactionRequest->payment->creditCard->expirationDate = $card->getExpiryDate('my');
41+
if ($card->getExpiryMonth()) {
42+
$data->transactionRequest->payment->creditCard->expirationDate = $card->getExpiryDate('my');
43+
}
4244
}
4345
$data->transactionRequest->refTransId = $transactionRef->getTransId();
4446

45-
$this->addTestModeSetting($data);
47+
$this->addTransactionSettings($data);
4648

4749
return $data;
4850
}

src/Message/AIMVoidRequest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public function getData()
1515

1616
$data = $this->getBaseData();
1717
$data->transactionRequest->refTransId = $this->getTransactionReference()->getTransId();
18-
$this->addTestModeSetting($data);
18+
$this->addTransactionSettings($data);
1919

2020
return $data;
2121
}

src/Message/CIMCreateCardRequest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public function getData()
2121

2222
$data = $this->getBaseData();
2323
$this->addProfileData($data);
24-
$this->addTestModeSetting($data);
24+
$this->addTransactionSettings($data);
2525

2626
return $data;
2727
}
@@ -143,7 +143,7 @@ protected function addShippingData(\SimpleXMLElement $data)
143143
}
144144
}
145145

146-
protected function addTestModeSetting(\SimpleXMLElement $data)
146+
protected function addTransactionSettings(\SimpleXMLElement $data)
147147
{
148148
$data->validationMode = $this->getValidationMode();
149149
}

src/Message/CIMCreatePaymentProfileRequest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public function getData()
2222
$data = $this->getBaseData();
2323
$data->customerProfileId = $this->getCustomerProfileId();
2424
$this->addPaymentProfileData($data);
25-
$this->addTestModeSetting($data);
25+
$this->addTransactionSettings($data);
2626

2727
return $data;
2828
}

src/Message/CIMUpdatePaymentProfileRequest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public function getData()
2222
$data = $this->getBaseData();
2323
$data->customerProfileId = $this->getCustomerProfileId();
2424
$this->addPaymentProfileData($data);
25-
$this->addTestModeSetting($data);
25+
$this->addTransactionSettings($data);
2626

2727
return $data;
2828
}

src/Message/DPMResponse.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ class DPMResponse extends AbstractResponse implements RedirectResponseInterface
5959
'x_email_customer',
6060

6161
'x_delim_data',
62+
63+
// Custom omnipay field.
64+
'omnipay_transaction_id',
6265
);
6366

6467
/**

0 commit comments

Comments
 (0)