Retorno Automático de Dados do PagSeguro em PHP/MySQL (com produtos) – Versão 2.0

Enfim, como prometido a nova versão do Retorno de dados do Pagseguro. As maiores novidades ficaram por conta da utilização a nova URL do PagSeguro para validação e a captura completa dos produtos.

Agora ficou mais fácil a instalação do mesmo, basta baixar o script abaixo, descompactar e editar  o PagSeguroRetornoConfig.php inserindo os dados solicitados. Depois basta configurar o banco de dados Mysql e utilizar o arquivo SQL disponível para criar as tabelas.

Download do script de Retorno de Dados Automatico do Pagseguro 2.0

 

Você deve configurar a sua conta no PagSeguro para ativar o Retorno Automático de dados, para isso, entre no seu PagSeguro, nas opcao Preferencias > Retorno Automatico de Dados. Basta ativar a URL de retorno e colocar o endereço completo da URL do arquivo. Neste mesmo local é onde você vai gerar o seu Token, solicitada no arquivo de configurações.

Feito isso, o seu Retorno já esta funcional.

Para testar seu script não é preciso fazer um pagamento, basta abrir o arquivo TestarCompra.php colocar o seu e-mail e enviar para o seu FTP. Feito isso, é so acessar o arquivo, gerar uma compra aleatoria e escolher BOLETO BANCARIO para pagamento. Depois de confirmar a compra por boleto e aguardar o tempo solicitado, as suas tabelas já terão os dados da compra, bem como os produtos gerados.

Ps: Se você não é programador, não faça perguntas, peça um orçamento atraves do contato.

É isso ae! La pergunta?

Justificativa de Ausência no Café com Tecnologia #cafetech

Pessoal, é com muito pesar e até constrangimento que trago esta notícia. Infelizmente não poderei participar do bate-papo sobre “Empreendedorismo Tecnológico: startups e novos mercados.”

É de conhecimento de alguns que passei por uma cirurgia de emergencia a alguns dias atras no abdomen parar remover duas hernias e de brinde um bom pedaço do intestino que foi prejudicado. Estou com um singelo corte de 30 cm na pança e com os pontos ainda em cicatrização, e apesar de estar bem aparentemente, andando sem fazer esforços em demasia, irei atender o pedido do cirurgião que me alertou sobre a possibilidade do deslocamento da malha cirurgica devido ao esforço da fala.

Gostaria de pedir minhas sinceras desculpas pelo ocorrido a todos os organizadores do evento, palestrastes e inscritos, mas foi um fato alem da minha vontade, que certamente era estar presente.

Irei publicar o material que preparei, e me comprometo de quando estiver totalmente recuperado a gravar e disponibilizar a todos ou até mesmo fazer uma apresentação on-line.

Certo, que mesmo com a minha ausência o evento será extraordinário, com a presença do Bernardo Porto e do Herberth Amaral, ambos da DeskMetrics.

Apesar de não conhecer os dois pessoalmente, é facil constatar os seus feitos pela web, e ja deixo aqui registrada a minha admiração profissional por ambos. Marcaremos algo depois.

Deixo tambem o meu muito obrigado ao Petronio Candido pelo segundo convite ao #CafeTech, alem das desculpas pela ausencia, e dizer a ele que certamente esse Karma será quebrado.

Link do evento: http://cafecomtecnologia.santoagostinho.edu.br/

Adicionando ou Removendo o WWW da URL com .htaccess

Para inicio de conversa é necessário saber o que é o htaccess e suas possibilidades, então recomendo a leitura em:
http://httpd.apache.org/docs/1.3/howto/htaccess.html

O que vamos fazer a seguir é adicionar o www. no inicio do dominio caso ele não seja digitado pelo usuário, por exemplo:

Usuario digita: mepergunte.com

O htaccess converte para: www.mepergunte.com

Para isso, basta editar (ou criar) o arquivo .htaccess na raiz do seu dominio com o seguinte código:

1
2
3
4
RewriteEngine On
Options +FollowSymLinks
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule (.*) http://www.mepergunte.com/$1 [R=301,L]

Altere no código acima o domínio, para onde será feito o redirecionamento, inclusive colocando a ultima linha com um diretorio qualquer.

1
RewriteRule (.*) http://www.mepergunte.com/site/$1 [R=301,L]

Agora vamos fazer o processo inverso, que inclusive é o meu favorito.

Veja como remover o www. do seu domínio automaticamente utilizando .htaccess

1
2
3
4
RewriteEngine On
Options +FollowSymLinks
RewriteCond %{HTTP_HOST} ^www\.(.*)
RewriteRule (.*) http://%1/$1 [R=301,L]

Basicamente so altera a linha 3 e 4, ja que as duas primeiraas so ativam e setam opções que serão utilizadas no código.

A linha 3 é a condição e a linha 4 o que será executada caso a condição seja válida.

Bom, acho que é isso. Aproveitando o post, algumas dicas bacanas para .htacess você pode encontrar no site Htaccess Tools, como detecção de navegação por iPhone, redirecionamentos, sistema de senhas, etc.

Calcular tabela Price em PHP (PGTO no Excel)

Um cliente me solicitou um sistema para simulação de emprestimos, até ae tudo bem. Me enviou uma planilha na qual estava  uma simulação utilizando a famosa tabela price, para isso usava uma função no EXCEL que é denominada PGTO. Esta função basicamente faz todos os calculos necessários para determinar o valor da parcela mensal a ser paga.

Mas como em PHP não existe esta função PGTO, mãos a massa:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Funcao para Calcular valor da Parcela - Tabela Price

function Price($Valor, $Parcelas, $Juros) {

$Juros = bcdiv($Juros,100,15);
$E=1.0;
$cont=1.0;

for($k=1;$k<=$Parcelas;$k++)
{
$cont= bcmul($cont,bcadd($Juros,1,15),15);
$E=bcadd($E,$cont,15);
}
$E=bcsub($E,$cont,15);

$Valor = bcmul($Valor,$cont,15);
return bcdiv($Valor,$E,15);
}

// Exemplo de utilização
echo Price($Valor, $Parcelas, $Juros);

Encontrei a solução na iMasters Fóruns (em um post bem antigo por sinal), que por sua vez estava escrita em C++, apenas tive o trabalho de converter para PHP. Usei sempre os operadores matemáticos BC do PHP, para arbitrariamente utilizar até 15 casas decimais nos cálculos.

Para quem quiser conferir ou apenas conhecer por curiosidade o calculo, segue abaixo:

x=C*((1+i)^n)/ somatoria de (1+i)^k para k=0 ate k = n-1

Sendo: C = Valor, n = Parcelas, i = Juros

Agradecimento aos meus colaboradores Magno e Daniel da Brainatwork, que ficaram pentelhando e dando palpites durante a conversão da função

Copiar dados de um tabela para outra em MySQL

Hoje precisei copiar dados de uma tabela para outra. Mas como fazer isso facilmente atraves de linha de comando? … vou dizer, mas antes vamos as premissas:

* Não quero registros repetidos, neste caso o e-mail

* Não quero todos os dados da tabela Servidor (onde vou pegar os dados).

* So quero os e-mails começados com a letra “a”.

Então, vamos a dica:

1
INSERT INTO tabela2  (nome, email) SELECT nome, email FROM tabela1 WHERE (email LIKE 'a%') GROUP BY email

Logico que os dados acima são fictícios, mas funciona. A explicação basica é:

1- O comando INSERT como outro qualquer na tabela2 (a que vai receber os dados)

2- Em seguida vem um SELECT normal tambem, com os campos que desejo importar na mesma ordem que eu coloquei para inserir.

3- O WHERE para a condição dos e-mails começando com a letra “a”.

4- O GROUP BY para não repetir os e-mails. Poderia usar tambem o DISTINCT ou similar, fica a critério do fregues.

Se tiver alguma duvida sobre MySQL pode perguntar, se eu souber irei responder com certeza.