CaptureRequest   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 2
Bugs 0 Features 1
Metric Value
eloc 19
c 2
b 0
f 1
dl 0
loc 29
ccs 18
cts 18
cp 1
rs 10
wmc 2

1 Method

Rating   Name   Duplication   Size   Complexity  
A getData() 0 27 2
1
<?php
2
3
namespace Omnipay\Moneris\Message;
4
5
use Omnipay\Common\Exception\InvalidRequestException;
6
7
class CaptureRequest extends AbstractRequest
8
{
9 9
    public function getData()
10
    {
11 9
        $this->validate('transactionReference');
12
13
        try {
14 9
            $transactionReference = simplexml_load_string($this->getTransactionReference());
15 3
        } catch (\Exception $e) {
16 3
            throw new InvalidRequestException('Invalid transaction reference');
17
        }
18
19 6
        $transactionReceipt = $transactionReference->receipt;
20
21 6
        $request = new \SimpleXMLElement('<?xml version="1.0" encoding="utf-8"?><request></request>');
22 6
        $request->addChild('store_id', $this->getMerchantId());
23 6
        $request->addChild('api_token', $this->getMerchantKey());
24
25 6
        $refund = $request->addChild('completion');
26 6
        $refund->addChild('order_id', $transactionReceipt->ReceiptId);
27 6
        $refund->addChild('comp_amount', $transactionReceipt->TransAmount);
28 6
        $refund->addChild('txn_number', $transactionReceipt->TransID);
29 6
        $refund->addChild('crypt_type', $this->getCryptType());
30 6
        $refund->addChild('cust_id', $transactionReceipt->ReferenceNum);
31 6
        $refund->addChild('dynamic_descriptor', 'capture');
32
33 6
        $data = $request->asXML();
34
35 6
        return preg_replace('/\n/', '', $data);
36
    }
37
}
38