Aguarde, Carregando...

06/06/2018

  • Erlon Martins Tostes

Gestão de Programas Ocupacionais

Veja como fazer requisições de pagamento utilizando uma API RestFull com retorno em JSON de forma transparente diretamente dentro do seu site

Salve salve moqueridos, Gustavo Web aqui e nessa aula eu vou te mostrar como fazer a integração com mais um meio de pagamento!

Hoje vamos consumir a API da Pagar.me que no meu ponto de vista é uma das API's que eu mais gostei de trabalhar até o momento. Vamos ver suas funcionalidades.

Particularidades

Para nós desenvolvedores é um ambiente bastante confortável tendo em vista que toda a documentação é em português, bastante organizado e sem contar as tecnologias que escolheram para trabalhar.

A API foi desenvolvida já utilizando o conceito de RestFull e toda a resposta que você tiver será no formato JSON, portanto o PHP vai suprir todas as necessidades.

Pagamentos Parcelados

Antes de tudo vamos deixar claro uma coisa: Não existe pagamento parcelado via boleto! Parcelamento é somente através de cartão de crédito.

Parcelamento com boletos se dá com duplicatas/carnê e nos meios digitais (até o momento) isso não é possível/viável.

Eu coloquei esse ponto aqui simplesmente para informar que a pagar.me trabalha de uma forma diferente dos demais meios de pagamento. Por exemplo:

Se você criar uma conta na hotmart você vai pagar uma porcentagem sobre a venda (10% vamos supor) e quando a pessoa comprar o seu produto, depois de 30 dias você recebe o valor integral. Mesmo se ela tiver pago parcelado...

Então se o cliente comprou um produto de R$ 1.000,00 divido em 10 vezes, daqui 30 dias você receberá R$ 900,00. (Valor integral independente das parcelas já descontada a taxa da hotmart).

No caso da Pagar.me a taxa é beeem menor (vamor citar 3.5%) o que é considerávelmente menor que a hotmart, maaaaaas, se o cliente comprar dividido em 10 vezes, você receberá 10 parcelas, cada uma no seu devido mês.

Criação da sua Conta

Como informei na aula, o cadastro na Pagar.me não é simplesmente preencher um formulário. É necessário que eles cumpram alguns requisitos para que seu cadastro fique apto a receber pagamentos.

A vantagem disso é que o pagamento fica com o seu nome na fatura do cartão, na minha opinião é bem legal isso!

Esse tal cadastro é cobrado uma taxa. Se não me falha a memória quando a conta da Up foi criada era coisa de R$ 500,00 mangos! Mas como entramos como parceiro deles, fomos isentos e você como um aluno também pode se isentar dessa taxa.

Para isso é necessário que você mande um e-mail para parcerias@pagar.me e informa que você é um aluno da UpInside Treinamentos juntamente com os seus dados. Fique tranquilo, não é necessário informar absolutamente tudo... Assim que você faz o contato, uma pessoa da pagar.me provavelmente entrará em contato com você para pegar toda a documentação necessária, vai te dar uma força nos primeiros passos e acertar todos os detalhes.

Material de Apoio

Logo aqui abaixo eu vou deixar o link do repositório lá do nosso GitHub para que você possa efetuar o download da classe e acompanhar durante os seus estudos, mas, mais importante do que utilizar a classe que eu desenvolvi na aula, é você saber o porque e como eu criei para que você possa desenvolver com uma outra ferramenta num futuro.

A documentação deles é show de bola! Além de ser em português, já conta com exemplos de códigos em diversas linguagens tanto da requisição quanto da resposta esperada por aquela ação. Isso sem contar qur você consegue "testar" cada módulo diretamente dentro da documentação. Embora eu não utilize esse recurso, é algo que pode salvar a pátria enquanto você estiver desenvolvendo e testando.

Temos basicamente dois links para a documentação:

Esse link vai te levar para a sessão específica de desenvolvedores da Pagar.me.

Já esse link vai te mandar para a referência completa da API que utilizamos durante a aula :)

Quanto ao link do nosso repositório lá no GitHub, é só clicar e eu te levo pra lá agora.

Ambiente de Homologação x Produção

Para que você possa efetuar suas requisições nos dois ambientes, basta alterar o api_key. A url do serviço é a mesma, e simplesmente o que muda é o parâmetro de autenticação. Portanto esse é um passo que você deve ficar bastante atento para não enviar requisições para o lugar errado.

O processo de autenticação é bastante simples, uma vez que informando o api_key, você não precisa de mais nada... Nem mesmo o e-mail da conta! Simples e funcional.

Guarde suas api_key's com bastante segurança. E digo isso no plural porque obviamente que você tem uma para cada ambiente!

Biblioteca x Código Próprio

A pagarme já disponibiliza uma biblioteca completa para que você possa consumir dentro da sua aplicação. De certa forma até facilitaria o nosso trabalho, mas tendo em vista que a lib implementa muuuita coisa que não vamos utilizar eu dou preferência para criar o meu próprio mecanismo de consulta ao sistema deles.

Se você quiser estudar mais sobre a lib deles, você pode consultar esse link aqui, e eu vou te levar diretamente para o repositório deles onde você pode fazer o download para estudar, implementar algum método ou até mesmo utilizar no seu sistema.

Como você viu aula, há diversos recursos que a API da pagar.me implementa como: Transações, Estornos, Cartões, Planos, Assinaturas, Postback, Saldo, Recebíveis, Transferências, Antecipações, Contas Bancárias, Recebedores, Clientes, Anti-Fraude, CEP.....

E é claro que a gente não vai trabalhar com tudo isso de recurso. Pelo menos aqui dentro da Up a gente trabalha com a API somente para fazer as requisições de pagamento (e por consequência os clientes e cartões) e qualquer outra ação a gente utiliza a própria dashboard que eles entregam.

Postback

Como já informei em outras aulas sobre o meio de pagamento, não é possível a gente desenvolver isso na aula porque cada um pode organizar a informação de um jeito diferente. Portanto a gente cria um documento que é capaz de receber todos os dados, mas nenhuma ação com eles é tomada.

Importante que o seu arquivo de postback seja bem seguro é na medida do possível "escondido". Para evitar que maliciosos fiquem testando requisições para sua página. Então o ideal é que você teste que está fazendo a requisição, se o token informado é o seu, trate todas as informações recebidas com do POST para só então ter qualquer interação com o seu banco de dados.

Feedback

Me conta aqui abaixo o que você achou dessa aula! E caso implemente no seu site ou no do seu cliente, conta aqui abaixo para ver seu código rodando a todo vapor no ambiente de produção! :)