Payu\Parser\LoyaltyInquiryResponseParser::parse PHP Method

parse() public method

public parse ( $rawData )
    public function parse($rawData)
    {
        try {
            $xml = new SimpleXMLElement($rawData);
        } catch (Exception $e) {
            throw new BadResponseError('Unexpected response received from provider. Response: ' . $rawData);
        }
        $code = (string) $xml->STATUS;
        $message = (string) $xml->MESSAGE;
        $points = $xml->POINTS ? (int) $xml->POINTS : false;
        $amount = $xml->AMOUNT ? (double) $xml->AMOUNT : false;
        $currency = $xml->CURRENCY ? (string) $xml->CURRENCY : false;
        $bank = $xml->BANK ? (string) $xml->BANK : false;
        $cardProgramName = $xml->CARD_PROGRAM_NAME ? (string) $xml->CARD_PROGRAM_NAME : false;
        switch ($code) {
            case 'SUCCESS':
                $status = ResponseAbstract::STATUS_APPROVED;
                break;
            case 'INPUT_ERROR':
                $status = ResponseAbstract::STATUS_INPUT_ERROR;
                break;
            case 'FAILED':
            default:
                $status = ResponseAbstract::STATUS_FAILED;
                break;
        }
        return new LoyaltyInquiryResponse($status, $code, $message, $points, $amount, $currency, $bank, $cardProgramName);
    }
LoyaltyInquiryResponseParser