<?php
function StatsPagNome($id){
	switch($id){
		case '1':
		return 'Aguardando Pagamento';
		break;
		case '2':
		return 'Pendente';
		break;
		case '3':
		return 'Aprovado';
		break;
		case '6':
		return 'Devolvido';
		break;
		case '7':
		return 'Cancelado';
		break;
		default:
		return 'Aguardando Pagamento';
	}
}
function StatsPag($id){
	switch($id){
		case '1':
		return GetModuleVariable("checkout_psapi","aguardando");
		break;
		case '2':
		return GetModuleVariable("checkout_psapi","pendente");
		break;
		case '3':
		return GetModuleVariable("checkout_psapi","aprovado");
		break;
		case '6':
		return GetModuleVariable("checkout_psapi","devolvido");
		break;
		case '7':
		return GetModuleVariable("checkout_psapi","cancelados");
		break;
		default:
		return GetModuleVariable("checkout_psapi","aguardando");
	}
}

function StatsMetNome($id){
	switch($id){
		case '1':
		return 'Cartão de credito';
		break;
		case '2':
		return 'Boleto';
		break;
		case '3':
		return 'Débito online (TEF)';
		break;
		default:
		return 'Cartão de credito2';
	}
}

function StatsMetform($id){
	switch($id){
		case '101':return 'Cartão de crédito Visa';break;
		case '102':return 'Cartão de crédito Mastercard';break;
		case '103':return 'Cartão de crédito American Express';break;
		case '104':return 'Cartão de crédito Diners';break;
		case '105':return 'Cartão de crédito Hipercard';break;
		case '106':return 'Cartão de crédito Aura';break;
		case '107':return 'Cartão de crédito Elo';break;
		case '108':return 'Cartão de crédito PLENOCard';break;
		case '109':return 'Cartão de crédito PersonalCard';break;
		case '110':return 'Cartão de crédito JCB';break;
		case '111':return 'Cartão de crédito Discover';break;
		case '112':return 'Cartão de crédito BrasilCard';break;
		case '113':return 'Cartão de crédito FORTBRASIL';break;
		case '114':return 'Cartão de crédito CARDBAN';break;
		case '115':return 'Cartão de crédito VALECARD';break;
		case '116':return 'Cartão de crédito Cabal';break;
		case '117':return 'Cartão de crédito Mais!';break;
		case '118':return 'Cartão de crédito Avista';break;
		case '119':return 'Cartão de crédito GRANDCARD';break;
		case '120':return 'Cartão de crédito Sorocred';break;
		case '201':return 'Boleto Bradesco';break;
		case '202':return 'Boleto';break;
		case '301':return 'Débito online Bradesco';break;
		case '302':return 'Débito online Itaú';break;
		case '303':return 'Débito online Unibanco';break;
		case '304':return 'Débito online Banco do Brasil';break;
		case '305':return 'Débito online Banco Real';break;
		case '306':return 'Débito online Banrisul';break;
		case '307':return 'Débito online HSBC';break;
		default:return 'Nao Identificado';
	}
}

function StatsMetmotivo($id){
	switch($id){
		case 'INTERNAL':
		return 'Seu Pagamento foi recusado pelo Pagseguro';
		break;
		case 'EXTERNAL':
		return 'Seu pagamento foi recusado pelas instituições financeiras Banco Emissor ou Operadora do Cartão';
		break;
		default:
		return 'nada consta';
	}
}

function ValCampoPagseguro($id_sessao,$campo){
	$db = $GLOBALS['ISC_CLASS_DB'];
	$results = $db->Query("SELECT * FROM [|PREFIX|]formfieldsessions WHERE formfieldsessioniformsessionid='".$id_sessao."' AND formfieldformid='2' AND formfieldfieldid = '".$campo."'");
	$rows = $db->Fetch($results);
	$dados_valor = @unserialize($rows['formfieldfieldvalue']);
	return $dados_valor;
}
function SomenteNumeroPagSeguroApi($c) {
	return preg_replace('/\D/', '', $c);
}
function QualUFEstadoPagseguro($estado){
	$estadonovo=$estado;
	switch ($estado) {
		case "Acre" :
		$estadonovo = "AC";
		break;
		case "Alagoas" :
		$estadonovo = "AL";
		break;
		case "Amapa" :
		case "Amapá" :
		$estadonovo = "AP";
		break;
		case "Amazonas" :
		$estadonovo = "AM";
		break;
		case "Bahia" :
		$estadonovo = "BA";
		break;
		case "Ceara" :
		case "Ceará" :
		$estadonovo = "CE";
		break;
		case "Distrito Federal" :
		$estadonovo = "DF";
		break;
		case "Espirito Santo" :
		case "Espírito Santo" :
		$estadonovo = "ES";
		break;
		case "Goias" :
		case "Goiás" :
		$estadonovo = "GO";
		break;
		case "Maranhao" :
		case "Maranhão" :
		$estadonovo = "MA";
		break;
		case "Mato Grosso" :
		$estadonovo = "MT";
		break;
		case "Mato Grosso do Sul" :
		$estadonovo = "MS";
		break;
		case "Minas Gerais" :
		$estadonovo = "MG";
		break;
		case "Para" :
		case "Pará" :
		$estadonovo = "PA";
		break;
		case "Paraiba" :
		case "Paraíba" :
		$estadonovo = "PB";
		break;
		case "Parana" :
		case "Paraná" :
		$estadonovo = "PR";
		break;
		case "Pernambuco" :
		$estadonovo = "PE";
		break;
		case "Piaui" :
		case "Piauí" :
		$estadonovo = "PI";
		break;
		case "Rio de Janeiro" :
		$estadonovo = "RJ";
		break;
		case "Rio Grande do Norte" :
		$estadonovo = "RN";
		break;
		case "Rio Grande do Sul" :
		$estadonovo = "RS";
		break;
		case "Rondonia" :
		case "Rondônia" :
		$estadonovo = "RO";
		break;
		case "Roraima" :
		$estadonovo = "RR";
		break;
		case "Santa Catarina" :
		$estadonovo = "SC";
		break;
		case "Sao Paulo" :
		case "São Paulo" :
		$estadonovo = "SP";
		break;
		case "Sergipe" :
		$estadonovo = "SE";
		break;
		case "Tocantins" :
		$estadonovo = "TO";
		break;
	}
	return $estadonovo;
}
function erros_pagseguro($cod,$msg){
	$cod = (int)$cod;
	$e["10001"] = "O parâmetro email deve ser informado.";
	$e["10002"] = "O parâmetro token deve ser informado.";
	$e["10003"] = "O valor informado no parâmetro email é inválido.";
	$e["11001"] = "O parâmetro receiverEmail deve ser informado.";
	$e["11002"] = "O tamanho do valor informado no parâmetro receiverEmail é inválido.";
	$e["11003"] = "O valor informado no parâmetro receiverEmail é inválido.";
	$e["11004"] = "O parâmetro currency deve ser informado.";
	$e["11005"] = "O valor informado no parâmetro currency é inválido.";
	$e["11006"] = "O tamanho do valor informado no parâmetro redirectURL é inválido.";
	$e["11007"] = "O valor informado no parâmetro redirectURL é inválido.";
	$e["11008"] = "O tamanho do valor informado no parâmetro reference é inválido.";
	$e["11009"] = "O tamanho do valor informado no parâmetro senderEmail é inválido.";
	$e["11010"] = "O valor informado no parâmetro senderEmail é inválido.";
	$e["11011"] = "O tamanho do valor informado no parâmetro senderName é inválido.";
	$e["11012"] = "O valor informado no parâmetro senderName é inválido.";
	$e["11013"] = "O valor informado no parâmetro senderAreaCode é inválido.";
	$e["11014"] = "O valor informado no parâmetro senderPhone é inválido.";
	$e["11015"] = "O parâmetro shippingType deve ser informado.";
	$e["11016"] = "O tipo definido no parâmetro shippingType é inválido.";
	$e["11017"] = "O valor informado no parâmetro shippingPostalCode é inválido.";
	$e["11018"] = "O tamanho do valor informado no parâmetro shippingAddressStreet é inválido.";
	$e["11019"] = "O tamanho do valor informado no parâmetro shippingAddressNumber é inválido.";
	$e["11020"] = "O tamanho do valor informado no parâmetro shippingAddressComplement é inválido.";
	$e["11021"] = "O tamanho do valor informado no parâmetro shippingAddressDistrict é inválido.";
	$e["11022"] = "O tamanho do valor informado no parâmetro shippingAddressCity é inválido.";
	$e["11023"] = "O formato do valor informado no parâmetro shippingAddressState é inválido.";
	$e["11024"] = "O valor informado no parâmetro itemQuantity é inválido.";
	$e["11025"] = "O parâmetro itemId deve ser informado.";
	$e["11026"] = "O parâmetro itemQuantity deve ser informado.";
	$e["11027"] = "O valor informado no parâmetro itemQuantity é inválido.";
	$e["11028"] = "O parâmetro itemAmount deve ser informado.";
	$e["11029"] = "O formato do valor informado no parâmetro itemAmount é inválido.";
	$e["11030"] = "O valor informado no parâmetro itemAmount é inválido.";
	$e["11031"] = "O formato do valor informado no parâmetro itemShippingCost é inválido.";
	$e["11032"] = "O valor informado no parâmetro itemShippingCost é inválido.";
	$e["11033"] = "O parâmetro itemDescription deve ser informado.";
	$e["11034"] = "O tamanho do valor informado no parâmetro itemDescription é inválido.";
	$e["11035"] = "O valor informado no parâmetro itemWeight é inválido.";
	$e["11036"] = "O formato do valor informado no parâmetro extraAmount é inválido.";
	$e["11037"] = "O valor informado no parâmetro extraAmount é inválido.";
	$e["11038"] = "Valor não autorizado para receiverEmail.";
	$e["11039"] = "A estrutura do xml está incorreta.";
	$e["11040"] = "O formato do valor informado no parâmetro maxAge é inválido.";
	$e["11041"] = "O valor informado no parâmetro maxAge é inválido.";
	$e["11042"] = "O formato do valor informado no parâmetro maxUses é inválido.";
	$e["11043"] = "O valor informado no parâmetro maxUses é inválido.";
	$e["11044"] = "O parâmetro initialDate deve ser informado.";
	$e["11045"] = "O valor informado no parâmetro initialDate deve ser inferior ou igual a data atual.";
	$e["11046"] = "O valor informado no parâmetro initialDate não pode ser anterior a 180 dias contados da data atual.";
	$e["11047"] = "O valor informado no parâmetro initialDate deve ser menor ou igual ao valor informado no parâmetro finalDate.";
	$e["11048"] = "O intervalo entre os parâmetros initialDate e finalDate deve ser inferior ou igual a 30 dias.";
	$e["11049"] = "O valor informado no parâmetro finalDate deve ser inferior ou igual a data atual.";
	$e["11050"] = "O valor informado no parâmetro initialDate é inválido. O formato correto é yyyy-MM-ddTHH:mm.";
	$e["11051"] = "O valor informado no parâmetro finalDate é inválido. O formato correto é yyyy-MM-ddTHH:mm.";
	$e["11052"] = "O valor informado no parâmetro page é inválido. Utilize um inteiro maior que 0.";
	$e["11053"] = "O valor informado no parâmetro maxPageResults deve ser entre 1 e 1000.";
	$e["11105"] = "O valor total do checkout é inválido.";
	$e["11111"] = "O valor informado no parâmetro shippingCost é inválido.";
	$e["11112"] = "O formato do valor informado no parâmetro shippingCost é inválido.";
	$e["11164"] = "O valor informado no parâmetro senderCPF é inválido.";
	$e["13001"] = "O código de notificação informado é inválido.";
	$e["13002"] = "O código da transação deve ser informado.";
	$e["13003"] = "O código de transação informado é inválido.";
	$e["13004"] = "O parâmetro initialDate deve ser informado";
	$e["13005"] = "O valor informado no parâmetro initialDate deve ser inferior ou igual a data atual.";
	$e["13006"] = "O valor informado no parâmetro initialDate não pode ser anterior a 180 dias contados da data atual.";
	$e["13007"] = "O valor informado no parâmetro initialDate deve ser menor ou igual ao valor informado no parâmetro finalDate.";
	$e["13008"] = "O intervalo entre os parâmetros initialDate e finalDate deve ser inferior ou igual a 30 dias.";
	$e["13009"] = "O valor informado no parâmetro finalDate deve ser inferior ou igual a data atual.";
	$e["13010"] = "O valor informado no parâmetro initialDate é inválido. O formato correto é yyyy-MM-ddTHH:mm.";
	$e["13011"] = "O valor informado no parâmetro finalDate é inválido. O formato correto é yyyy-MM-ddTHH:mm.";
	$e["13012"] = "O valor informado no parâmetro initialDate deve ser inferior a.";
	$e["13013"] = "O valor informado no parâmetro page é inválido. Utilize um inteiro maior que 0.";
	$e["13014"] = "O valor informado no parâmetro maxPageResults deve ser entre 1 e 1000.";
	$e["13015"] = "Transação não encontrada.";
	$e["13020"] = "O valor informado no parâmetro page é superior a quantidade de páginas retornadas.";
	$e["13021"] = "Esta consulta não pode ser realizada pois o status da transação requisitada é inválido.";
	$e["53005"] = "moeda é necessária.";
	$e["53006"] = "	moeda valor inválido:";
	$e["53007"] = "	referência comprimento inválido:";
	$e["53008"] = "	notificationURL comprimento inválido:";
	$e["53009"] = "	notificationURL valor inválido:";
	$e["53010"] = "	remetente de e-mail é obrigatório.";
	$e["53011"] = "	remetente de e-mail inválido comprimento:	";
	$e["53012"] = "	e-mail remetente valor inválido:";
	$e["53013"] = "	nome do remetente é necessária.";
	$e["53014"] = "	Nome do remetente comprimento inválido:";
	$e["53015"] = "	Nome do remetente valor inválido:";
	$e["53017"] = "	remetente CPF valor inválido:";
	$e["53018"] = "	código de área do remetente é necessária.";
	$e["53019"] = "	código de área remetente valor inválido:";
	$e["53020"] = "	é necessária de telefone do remetente.";
	$e["53021"] = "	de telefone do remetente valor inválido:";
	$e["53022"] = "	código postal endereço de entrega é necessária.";
	$e["53023"] = "	endereço de entrega código postal valor inválido:";
	$e["53024"] = "	rua endereço de entrega é necessária.";
	$e["53025"] = "	transporte endereço comprimento inválido:";
	$e["53026"] = "	é exigido número endereço de entrega.";
	$e["53027"] = "	envio número de endereço comprimento inválido:";
	$e["53028"] = "	endereço do transporte complementar comprimento inválido:";
	$e["53029"] = "	distrito de endereço de entrega é necessária.";
	$e["53030"] = "	transporte distrito endereço comprimento inválido:";
	$e["53031"] = "	cidade endereço de entrega é necessária.";
	$e["53032"] = "	transporte da cidade de endereços comprimento inválido"	;
	$e["53033"] = "	é necessária estado endereço de entrega";
	$e["53034"] = "	transporte estado endereço valor inválido";
	$e["53035"] = "	país endereço de entrega está requir";
	$e["53036"] = "	transporte país endereço comprimento inválido";
	$e["53037"] = "	token de cartão de crédito é exigido.";
	$e["53038"] = "	quantidade parcela é necessária.";
	$e["53039"] = "	quantidade parcela valor inválido";
	$e["53040"] = "	valor da prestação é necessária.";
	$e["53041"] = "	valor parcela valor inválido";
	$e["53042"] = "	nome do titular é necessária	";
	$e["53043"] = "	nome do titular comprimento inválido:";
	$e["53044"] = "	nome do titular valor inválido:";
	$e["53045"] = "	CPF titular do cartão de crédito é necessária.";
	$e["53046"] = "	CPF do titular valor inválido:";
	$e["53047"] = "	data de nascimento é necessária.";
	$e["53048"] = "	data de nascimento valor inválido:";
	$e["53049"] = "	código de área titular é necessária.";
	$e["53050"] = "	código de área titular valor inválido:";
	$e["53051"] = "	é necessário telefone titular do cartão de crédito.";
	$e["53052"] = "	telefone titular valor inválido:";
	$e["53053"] = "	código postal endereço de cobrança é necessária.";
	$e["53054"] = "	endereço de cobrança código postal valor inválido:";
	$e["53055"] = "	rua endereço de cobrança é necessária.";
	$e["53056"] = "	faturamento endereço comprimento inválido:";
	$e["53057"] = "	é exigido número de endereço de faturamento.";
	$e["53058"] = "	faturamento número de endereço comprimento inválido:";
	$e["53059"] = "	endereço de cobrança complementar comprimento inválido:";
	$e["53060"] = "	distrito de endereço de cobrança é necessária.";
	$e["53061"] = "	cobrança para o distrito endereço comprimento inválido:";
	$e["53062"] = "	cidade de endereços de faturamento é requirido";
	$e["53063"] = "	endereço de cobrança cidade comprimento inválido:";
	$e["53064"] = "	é necessária estado endereço de faturamento.";
	$e["53065"] = "	faturamento estado endereço valor inválido:";
	$e["53066"] = "	país endereço de cobrança é necessária.";
	$e["53067"] = "	faturamento país endereço comprimento inválido:	";
	$e["53068"] = "	e-mail receptor comprimento inválido:	";
	$e["53069"] = "	e-mail receptor valor inválido:";
	$e["53070"] = "	ID de produto é necessária.";
	$e["53071"] = "	Item ID comprimento inválido:";
	$e["53072"] = "	descrição do item é necessária.";
	$e["53073"] = "	descrição do item comprimento inválido:";
	$e["53074"] = "	quantidade do item é necessária.";
	$e["53075"] = "	quantidade do item fora do intervalo:";
	$e["53076"] = "	quantidade do item valor inválido:";
	$e["53077"] = "	montante item é necessária.";
	$e["53078"] = "	montante item de padrão inválido:. Deve caber a patern:	";
	$e["53079"] = "A versão informada no modulo não corresponde a sua versão de loja,configure corretamente no modulo via admin o campo Versão de Sua loja.";
	$e["53081"] = "	remetente está relacionada com o receptor.";
	$e["53084"] = "	receptor inválido:, verificar o status da conta do destinatário e, se for uma conta do vendedor.	";
	$e["53085"] = "	método de pagamento disponível."	;
	$e["53086"] = "	cart montante total fora do intervalo:";
	$e["53087"] = "	dados de cartão de crédito inválidos.	";
	$e["53091"] = "	Sender Hash inválido";
	$e["53092"] = "	marca de cartão de crédito não é aceite.";
	$e["53095"] = "	tipo de expedição padrão inválido:";
	$e["53096"] = "	custo de transporte padrão inválido:";
	$e["53097"] = "	custo de transporte fora do intervalo:";
	$e["53098"] = "	valor total do carrinho é negativo:";
	$e["53099"] = "	quantidade extra padrão inválido:. Deve caber a patern:";
	$e["53101"] = "	modo de pagamento valor inválido, os valores válidos são padrão e gateway.";
	$e["53102"] = "	forma de pagamento valor inválido, os valores válidos são cartão de crédito, boleto e EFT.	";
	$e["53104"] = "	custo de transporte foi prestado, endereço de envio deve ser completa.	";
	$e["53105"] = "	informações do remetente foi fornecido, e-mail deve ser fornecido também.	";
	$e["53106"] = "	titular do cartão de crédito é incompleto.";
	$e["53109"] = "	informações endereço de entrega foi fornecido, o remetente de e-mail deve ser fornecido também.	";
	$e["53110"] = "	banco EFT é necessária.	";
	$e["53111"] = "	banco EFT não é aceite.	";
	$e["53115"] = "	data nascido remetente valor inválido:	";
	$e["53117"] = "	remetente CNPJ valor inválido:";
	$e["53122"] = "	remetente de e-mail de domínio inválido:. Você deve usar um e-mail @ sandbox.pagseguro.com.br";
	$e["53140"] = "	quantidade parcela fora do intervalo:. O valor deve ser maior do que zero.	";
	$e["53141"] = "	remetente é bloqueado.";
	$e["53142"] = "	cartão de crédito inválido token";
	if(isset($e[$cod])){
		return $e[$cod];
	}else{
		return $msg;
	}
}
?>