Skip to content

Commit a5c0a92

Browse files
committed
Fix merge - make expiry optional for refund
1 parent c95d0fc commit a5c0a92

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

src/Message/AIMRefundRequest.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,9 @@ 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

tests/Message/AIMRefundRequestTest.php

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,32 @@ public function testGetData()
3232
$data = $this->request->getData();
3333

3434
$this->assertEquals('refundTransaction', $data->transactionRequest->transactionType);
35-
$this->assertEquals('12.12', (string)$data->transactionRequest->amount[0]);
35+
$this->assertEquals('12.12', $data->transactionRequest->amount);
3636
$this->assertEquals('authnet-transaction-reference', $data->transactionRequest->refTransId);
3737

3838
$setting = $data->transactionRequest->transactionSettings->setting[0];
3939
$this->assertEquals('testRequest', $setting->settingName);
4040
$this->assertEquals('false', $setting->settingValue);
4141
}
4242

43+
public function testGetDataWithoutExpiry()
44+
{
45+
$this->request->initialize(array(
46+
'transactionReference' => 'TRANS_ID',
47+
'amount' => 23.32,
48+
'card' => array(
49+
'number' => '1111'
50+
)
51+
));
52+
53+
$data = $this->request->getData();
54+
55+
$this->assertEquals('TRANS_ID', $data->transactionRequest->refTransId);
56+
$this->assertEquals('23.32', $data->transactionRequest->amount);
57+
$this->assertEquals('1111', $data->transactionRequest->payment->creditCard->cardNumber);
58+
$this->assertObjectNotHasAttribute('expirationDate', $data->transactionRequest->payment->creditCard);
59+
}
60+
4361
public function testGetDataShouldFail()
4462
{
4563
$this->request->initialize(

0 commit comments

Comments
 (0)