<?php


namespace App\dao\cashier;


class SerPayCashierMessage
{
    public function msgStr($msg = '')
    {
        try {
            $msg = \GuzzleHttp\json_decode($msg, true);

            if ($msg['status'] == -1) {
                $msg = 'O PIX DICT que você enviou é inválido, reconfirme se suas informações de DICT estão corretas';
            } elseif ($msg['status'] == -2) {
                $msg = 'O pedido expirou automaticamente. Tente novamente mais tarde';
            }

        } catch (\Exception $exception) {
            $msg = $this->strReplace(
                trim(
                is_string($msg) ? $msg : ($msg['Message'] ?? '')
                )
            );
        }

        return $msg;
    }

    public function strReplace($msg)
    {
        if ($msg == '504 Gateway Time-out') {
            $msg = str_replace('504 Gateway Time-out', 'O serviço de rede atual expirou. Tente buscar novamente mais tarde', $msg);
        } elseif ($msg == '500 Internal server error') {
            $msg = str_replace('500 Internal server error', 'O serviço de rede atual está anormal, tente extrair novamente mais tarde', $msg);
        } elseif ($msg == 'Channel error:api.paymee.com.br:443 failed to respond') {
            $msg = str_replace('Channel error:api.paymee.com.br:443 failed to respond', 'Falha na resposta do canal. Tente buscar novamente mais tarde', $msg);
        } elseif ($msg == 'PE0001:Os dados bancarios fornecidos nao validos') {
            $msg = str_replace('PE0001:Os dados bancarios fornecidos nao validos', 'Os dados bancarios fornecidos nao validos', $msg);
        } elseif ($msg == 'Error: cardType Can\'t be CNPJ') {
            $msg = str_replace('Error: cardType Can\'t be CNPJ', 'No momento, a retirada do CNPJ está proibida, use o CPF', $msg);
        }

        return $msg;
    }
}
