PreApproval::enquiry()   A
last analyzed

Complexity

Conditions 2
Paths 4

Size

Total Lines 23

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 23
rs 9.552
c 0
b 0
f 0
cc 2
nc 4
nop 2
1
<?php
2
3
namespace CultureKings\Afterpay\Service\InStore;
4
5
use CultureKings\Afterpay\Exception\ApiException;
6
use CultureKings\Afterpay\Model;
7
use GuzzleHttp\Exception\BadResponseException;
8
use GuzzleHttp\HandlerStack;
9
10
/**
11
 * Class PreApproval
12
 * @package CultureKings\Afterpay\Service\InStore
13
 */
14
class PreApproval extends AbstractService
15
{
16
    /**
17
     * @param string            $preApprovalCode
18
     * @param HandlerStack|null $stack
19
     *
20
     * @return array|\JMS\Serializer\scalar|object
21
     */
22
    public function enquiry($preApprovalCode, HandlerStack $stack = null)
23
    {
24
        try {
25
            $params = $this->generateParams(['preApprovalCode' => $preApprovalCode], $stack);
26
27
            $result = $this->getClient()->post('preapprovals/enquire', $params);
28
29
            return $this->getSerializer()->deserialize(
30
                (string) $result->getBody(),
31
                Model\InStore\PreApproval::class,
32
                'json'
33
            );
34
        } catch (BadResponseException $exception) {
35
            throw new ApiException(
36
                $this->getSerializer()->deserialize(
37
                    (string) $exception->getResponse()->getBody(),
38
                    Model\ErrorResponse::class,
39
                    'json'
40
                ),
41
                $exception
42
            );
43
        }
44
    }
45
}
46