public function verify(Payload $payload)
    {
        $response = $this->service->call($payload);

        $string = $response->getBody();

        $pattern = sprintf('/(%s|%s)/', self::IPN_VERIFIED, self::IPN_INVALID);

        if (!preg_match($pattern, $string)) {
            throw new UnexpectedValueException(
                sprintf('Unexpected verification status encountered: %s', $string)
            );
        }

        return $response;
    }