public function getInvoice($invoiceId = null)
    {

        $signature = $this->auth->getSignatureHash('{ml}:{ii}:{vp}', [
            'ml' => $this->auth->getMerchantLogin(),
            'ii' => $invoiceId,
            'vp' => $this->auth->getValidationPassword(),
        ]);

        $response = $this->sendRequest(
            $this->serviceBaseUrl . 'OpState',
            [
                'MerchantLogin' => $this->auth->getMerchantLogin(),
                'InvoiceID'     => $invoiceId,
                'Signature'     => $signature
            ],
            $this->requestMethod
        );

        $sxe = simplexml_load_string($response);
        $this->parseError($sxe);
        return [
            'InvoiceId'                => (int)$invoiceId,
            'StateCode'                => (int)$sxe->State->Code,
            'RequestDate'              => new \DateTime((string)$sxe->State->RequestDate),
            'StateDate'                => new \DateTime((string)$sxe->State->StateDate),
            'PaymentMethod'            => (string)$sxe->Info->IncCurrLabel,
            'ClientSum'                => (float)$sxe->Info->IncSum,
            'ClientAccount'            => (string)$sxe->Info->IncAccount,
            'PaymentMethodCode'        => (string)$sxe->Info->PaymentMethod->Code,
            'PaymentMethodDescription' => (string)$sxe->Info->PaymentMethod->Description,
            'Currency'                 => (string)$sxe->Info->OutCurrLabel,
            'ShopSum'                  => (float)$sxe->Info->OutSum,
        ];
    }
public function getInvoice($invoiceId = null)
    {

        $signature = $this->auth->getSignatureHash('{ml}:{ii}:{vp}', [
            'ml' => $this->auth->getMerchantLogin(),
            'ii' => $invoiceId,
            'vp' => $this->auth->getValidationPassword(),
        ]);

        $response = $this->sendRequest(
            $this->serviceBaseUrl . 'OpState',
            [
                'MerchantLogin' => $this->auth->getMerchantLogin(),
                'InvoiceID'     => $invoiceId,
                'Signature'     => $signature
            ],
            $this->requestMethod
        );

        $sxe = simplexml_load_string($response);
        $this->parseError($sxe);
        return [
            'InvoiceId'                => (int)$invoiceId,
            'StateCode'                => (int)$sxe->State->Code,
            'RequestDate'              => new \DateTime((string)$sxe->State->RequestDate),
            'StateDate'                => new \DateTime((string)$sxe->State->StateDate),
            'PaymentMethod'            => (string)$sxe->Info->IncCurrLabel,
            'ClientSum'                => (float)$sxe->Info->IncSum,
            'ClientAccount'            => (string)$sxe->Info->IncAccount,
            'PaymentMethodCode'        => (string)$sxe->Info->PaymentMethod->Code,
            'PaymentMethodDescription' => (string)$sxe->Info->PaymentMethod->Description,
            'Currency'                 => (string)$sxe->Info->OutCurrLabel,
            'ShopSum'                  => (float)$sxe->Info->OutSum,
        ];
    }
public function getInvoice ( $ invoiceId = null ) { $ signature = $ this -> auth -> getSignatureHash ( '{ml}:{ii}:{vp}' , [ 'ml' => $ this -> auth -> getMerchantLogin ( ) , 'ii' => $ invoiceId , 'vp' => $ this -> auth -> getValidationPassword ( ) , ] ) ; $ response = $ this -> sendRequest ( $ this -> serviceBaseUrl . 'OpState' , [ 'MerchantLogin' => $ this -> auth -> getMerchantLogin ( ) , 'InvoiceID' => $ invoiceId , 'Signature' => $ signature ] , $ this -> requestMethod ) ; $ sxe = simplexml_load_string ( $ response ) ; $ this -> parseError ( $ sxe ) ; return [ 'InvoiceId' => ( int ) $ invoiceId , 'StateCode' => ( int ) $ sxe -> State -> Code , 'RequestDate' => new \ DateTime ( ( string ) $ sxe -> State -> RequestDate ) , 'StateDate' => new \ DateTime ( ( string ) $ sxe -> State -> StateDate ) , 'PaymentMethod' => ( string ) $ sxe -> Info -> IncCurrLabel , 'ClientSum' => ( float ) $ sxe -> Info -> IncSum , 'ClientAccount' => ( string ) $ sxe -> Info -> IncAccount , 'PaymentMethodCode' => ( string ) $ sxe -> Info -> PaymentMethod -> Code , 'PaymentMethodDescription' => ( string ) $ sxe -> Info -> PaymentMethod -> Description , 'Currency' => ( string ) $ sxe -> Info -> OutCurrLabel , 'ShopSum' => ( float ) $ sxe -> Info -> OutSum , ] ; }
Returns detailed information on the current status and payment details.

Please bear in mind that the transaction is initiated not when the
user is redirected to the payment page, but later – once his payment
details are confirmed, i.e. you may well see no transaction, which
you believe should have been started already.

Returns `null` if invoice is not found and `Payment::isThrowExceptions()` is `false`.

@param null|int $invoiceId Invoice ID.

@return Invoice|null
@throws InvoiceNotFoundException If invoice is not found.
Returns detailed information on the current status and payment details .