<?php

abstract class Type_FormPgtoYapayCartao extends EnumBasic
{
  const Tp_Visa = 3;
  const Tp_MasterCard = 4;
  const Tp_AmericanExpress = 5;
  const Tp_Discover = 15;
  const Tp_Elo = 16;
  const Tp_Aura = 18;
  const Tp_Jcb = 19;
  const Tp_Hipercard = 20;
  const Tp_HiperItau = 25;

  protected static $nickname = array(
    self::Tp_Visa => 'visa',
    self::Tp_MasterCard => 'mastercard',
    self::Tp_AmericanExpress => 'amex',
    self::Tp_Discover => 'discover',
    self::Tp_Elo => 'elo',
    self::Tp_Aura => 'aura',
    self::Tp_Jcb => 'jcb',
    self::Tp_Hipercard => 'hipercard',
    self::Tp_HiperItau => 'hiper',
  );
}


abstract class Type_FormPgtoYapayBoleto extends EnumBasic
{
  const Tp_Boleto = 6;

  protected static $nickname = array(
    self::Tp_Boleto => 'Boleto',
  );
}

abstract class Type_FormPgtoYapayTransferencia extends EnumBasic
{
  const Tp_ItauShopline = 7;
  const Tp_Bradesco = 22;
  const Tp_BancoBrasil = 23;

  protected static $nickname = array(
    self::Tp_ItauShopline => 'Itaú Shopline',
    self::Tp_Bradesco => 'Bradesco',
    self::Tp_BancoBrasil => 'Banco do Brasil'
  );
}

abstract class Type_FormPgtoYapayContato extends EnumBasic
{
  const Tp_Residencial = 'H';
  const Tp_Celular = 'M';
  const Tp_Comercial = 'W';

  protected static $nickname = array(
    self::Tp_Residencial => 'Residencial',
    self::Tp_Celular => 'Celular',
    self::Tp_Comercial => 'Comercial'
  );
}

abstract class Type_FormPgtoYapayConta extends EnumBasic
{
  const Tp_Pessoal = 1;
  const Tp_Empresarial = 2;

  protected static $nickname = array(
    self::Tp_Pessoal => 'Pessoal',
    self::Tp_Empresarial => 'Empresarial',
  );
}

abstract class Type_FormPgtoYapayAddress extends EnumBasic
{
  const Tp_Cobranca = 'B';
  const Tp_Entrega = 'D';

  protected static $nickname = array(
    self::Tp_Cobranca => 'Cobrança',
    self::Tp_Cobranca => 'Entrega',
  );
}

abstract class Type_YapayConfigs extends EnumBasic
{
  const Tp_MaximoParcela = 12;
  const Tp_NameModule    = 'yapay';

  protected static $nickname = array(
    self::Tp_MaximoParcela => 'Quantidade maxima de parcelas que o pedido pode ser dividido',
    self::Tp_NameModule => 'Usado para identificar qual o metodo de pagamento que foi escolhido'
  );
}

abstract class Type_StatusTransactionYapay extends EnumBasic
{
  const Tp_AguardandoPagamento = 4;
  const Tp_EmProcessamento = 5;
  const Tp_Aprovada = 6;
  const Tp_Cancelada = 7;
  const Tp_EmContestacao = 24;
  const Tp_EmMonitoramento = 87;
  const Tp_Reprovada = 89;

  protected static $nickname = array(
    self::Tp_AguardandoPagamento => 'Aguardando Pagamento',
    self::Tp_EmProcessamento => 'Em Processamento',
    self::Tp_Aprovada => 'Aprovada',
    self::Tp_Cancelada => 'Cancelada',
    self::Tp_EmContestacao => 'Em Contentação',
    self::Tp_EmMonitoramento => 'Em Monitoramento',
    self::Tp_Reprovada => 'Reprovada'
  );
}