Programação / PHP

Receba os dados de cada pagamento da Hotmart dentro da sua aplicação com esse passo a passo

Crie seu próprio simulador de POST de pagamento da Hotmart para testar sua aplicação e elabore a regra de negócio de acordo com a sua necessidade

Por Gustavo Web

Publicado por Gustavo Web
em 26/10/2018 às 09h10

Lista VIP UpInside

Entre para nossa lista VIP e receba vídeo aulas, artigos e tutoriais exclusivos e com prioridade

  QUERO ENTRAR

Aula exclusiva UpInside Play

Acessar aula no Play

Compartilhe:

Salve salve moquerido! Bora estudar mais um meio de pagamento para integrar com as nossas aplicações?

Como você já bem deve saber a Hotmart é uma das pioneiras para pagamento de produtos digitais, por consequência a gente aqui na Up também trabalha com eles...

Eles oferecem apenas um formato de integração com o sistemas deles, que é através do post para uma URL do seu sistema.

Sabendo disso, fica fácil agora o nosso trabalho! Tudo o que precisamos é ter um arquivo para receber esses dados, tratar de acordo com o esperado e jogar para dentro da nossa base para manter tudo sincronizado.

As notificações são feitas de acordo com a mudança de status de cada fatura! Então também é importante ficar atento para não deixar duplicar o conteúdo e acabar prejudicando a integridade dos seus dados.

Processo de Integração

A primeira coisa é resgatar os dados vindo do post! Para isso podemos trabalhar com filter_input_array que já utilizamos em toda a nossa aplicação. Isso vai fazer com que você tenha todos os dados do pagamento dentro de uma única variável.

Depois disso você pode colocar alguns tratamentos por segurança... Como strip_tags, trim e qualquer outro que você julgue necessário. Esse processo acaba sendo opcional, tendo em vista que você só vai receber os dados através da própria hotmart.

Depois disso você precisa identificar 3 itens! Cliente, Produto e Pedido.

A chave para essas 3 informações estarão em posições dentro do vetor recebido... E você pode fazer o teste com mais de uma opção.

Por exemplo: Para resgatar o usuário você pode validar primeiramente o CPF e saber se já existe alguém cadastrado na sua base com esse dado. Caso contrário, faz a verificação através do e-mail. Se isso ainda não funcionar, aí sim você vai para a parte de cadastro de um novo membro e obviamente não esqueça de notificá-lo via e-mail.

Quanto ao produto é mais simples, você só vai ter um campo para fazer a pesquisa. Isso vai fazer com que você receba maiores detalhes sobre o seu próprio produto como o prazo que deve ser liberado o curso como exemplo.

O pedido também só possui uma chave que é gerada automaticamente pelo meio de pagamento! Tem que ficar atento para que essa informação não duplique... Então se receber outro post com o mesmo código de transação você deve editar o pedido existente e não criar um novo.

Até esse ponto você vai ter os 3 objetos mapeados e tratados! Agora só precisa compreender quais são os status da transação para que você possa tomar a melhor decisão.

Se for aprovado, você precisa conceder acesso ao curso que o seu cliente comprou, ou então disponibilizar o conteúdo para download.

Se for cancelado, você precisa remover o acesso! E assim sucessivamente para todas as ações.

Da forma que te mostro no curso não é necessário você atacar todas as possibilidades diferentes, porque no final o que te realmente importa dentro da integração é conceder ou remover o acesso.

Validação extra de segurança

Durante a gravação acabei passando batido por um ponto importante de se adicionar no seu arquivo para ter certeza que somente a hotmart lhe enviará post.

Obviamente que para isso tenha efeito o seu servidor precisa estar configurado corretamente para não receber post de endereços externos.

De qualquer forma, eu vou deixar a dica aqui para vocês :)

header("access-control-allow-origin: https://app-vlc.hotmart.com");
header("Content-Type: text/html; charset=UTF-8");

Só colocar isso logo depois da tag de abertura do PHP! Acima até mesmo do resgate da sua variável de post. Isso permitirá somente que o endereço da hotmart para postar para a sua URL.

Material de Apoio

Como sempre, aqui abaixo está o link para acessar o nosso repositório e pegar o material inicial da aula com o simulador de Post da hotmart, e o código final para que possa consultar durante seus estudos :)

Link para acessar o repositório da Up no GitHub

Feedback

Caso tenha qualquer tipo de dúvidas sobre a integração, só me falar aqui abaixo nos comentários que estarei disponível para auxiliar caso você tenha algum tipo de problema :)

Compartilhe:

Em Programação:

Deixe seu comentário: