Integração de pagamento no Ruby On Rails com Moip (passo a passo)

Utilizando o MOIP em uma aplicação Rails

Amigos developers, neste artigo veremos uma aplicação introdutória usando o método de pagamento do Moip, para comprar um ingresso para o evento OneBitConf, uma conferência da Onebitcode.

Calma! ✋ Essa conferência OneBitConf ainda não existe. Usaremos apenas como exemplo, mas futuramente teremos uma OneBitConf 😉

 

Introdução

Vamos criar uma aplicação de amostra, bem simples, enviando um pedido de compra de ingresso para o evento que falamos anteriormente.

Sigam o tutorial e construam a aplicação na seção “Passo a Passo da criação do APP”. Assim, os conceitos, a integração da gem moip2 com Rails e alguns outros detalhes podem ficar mais claros.

Espero que este material seja útil. Aproveitem e deixem uma mensagem. 😊

Bóra ler o post 🚀

 

O que é Moip?

Moip é uma empresa que oferece soluções de pagamento. Sua missão é facilitar pagamentos online, offline e mobile, viabilizando o recebimento de pagamentos em vários canais de venda.

Mas MOIP também é o nome da gem que facilita o uso das APIs disponibilizadas pela empresa Moip. A gem moip2 é um cliente em Ruby para integração server-side com APIs Moip v2.

Segundo o próprio site desta gem, usando a gem moip2, é o jeito mais simples e rápido de integrar o Moip a uma aplicação Ruby.

 

O que vamos criar?

A aplicação que vamos criar aqui, é apenas um exemplo. É uma amostra, porém, suficiente para enviarmos um pedido de compra de ingresso para um evento. Dessa forma, mostraremos como utilizar o básico da gem da Moip.

Vamos criar também, uma conta tipo “sandbox” no site da Moip, para termos “Chaves de Acesso” aos serviços Moip.

Uma conta “sandbox” é específica para testes de desenvolvimento como esse que estamos fazendo e não implica em custos 💰. Fique tranquilo, você terá que criar a sua conta, mas não pagará nada. 😊

A conta Moip “sandbox” é uma conta totalmente separada da conta Moip Produção, caso você tenha essa conta de produção algum dia.

 

Ferramentas:

  • * Rails 5.2
  • * MOIP
  • * moip2 (gem)

 

Links da Moip para desenvolvedores:

  1. Criar conta sandbox: https://bem-vindo-sandbox.moip.com.br
  2. Acessar sua conta sandbox: https://conta-sandbox.moip.com.br
  3. Comandos da API: https://dev.moip.com.br/v2.0/reference
  4. Chaves de acesso: https://conta-sandbox.moip.com.br/configurations/api_credentials
  5. Suporte, caso necessário: https://suporte.moip.com.br/hc/pt-br

 

 

Passo a Passo de criação do App

I – Criar a conta Sandbox

Para criar sua conta sandbox, entre no link https://bem-vindo-sandbox.moip.com.br e forneça os dados necessários. E logo após o cadastro, você terá que confirmar seu email.

É só seguir o processo que logo em seguida, a Moip irá disponibilizar uma conta para você poder usar na aplicação que iremos criar.

Após criar sua conta, você poderá acessa-la usando este link: https://conta-sandbox.moip.com.br

 

II – Obter as chaves de acesso

Para podermos realizar chamadas para as APIs da Moip precisamos ter as chaves de acesso ou ter as chamadas “credenciais de api”.

Então vamos acessar as credenciais da api de sua conta sandbox, e guardar a “chave” e o “token” para usa-los posteriormente.

 

III – Instalação

1. Para nosso projeto, vamos criar uma pasta e entrar dentro dela.

 

2. Execute este passo somente se você usa o gerenciador de versões Ruby, RVM:

 

3. Agora vamos instalar a versão 5.2 do Rails

 

4. Agora vamos efetivamente criar nossa aplicação Rails.

 

5. No Gemfile, inclua a gem:

 

6. Agora instale a gem na aplicação, com o comando:

 

7. E agora o comando para criar o banco:

 

IV – Credenciais

Continuando, vamos atribuir no nosso sistema, as credenciais que guardamos no item “II – Obter as chaves de acesso” e para isso usaremos o recurso do Rails chamado “Credentials”.  

Se você quiser saber mais, temos um ótimo artigo específico: Rails 5.2: Encrypted Credentials (O novo Secrets)

 

1. Abra o arquivo de credenciais com seu editor de preferência, no meu caso é o Vim.

 

2. Agora tenha suas credenciais que pegamos no item “II – Obter as chaves de acesso”. Os valores de token e key (chave) são fictícios, para nosso artigo. Informe as seguintes linhas e depois salve e saia do arquivo:

 

V – Criando a lib Moip

Vamos criar uma “lib”, uma biblioteca para nos permitir acessar as APIs da Moip e dentro dessa nossa biblioteca, ficará a inteligência que nos dará acesso as operações que a Moip disponibiliza via APIs.

 

1. Precisamos dizer ao Rails, que no momento da aplicação entrar no ar, queremos carregar a pasta “lib” e para isso, faça seu arquivo config/application.rb ficar parecido com esse trecho de código:

 

2. Agora crie o arquivo moip.rb dentro da pasta app/libs:

 

3. Esta é a lib que iremos usar.  Apenas copie e cole o trecho de código a seguir para dentro do arquivo app/libs/moip.rb:

 

4. Agora é o momento de saber se o Moip está funcionando 😏. Entre no console do Rails e instancie a lib:

Se aparecer algo como o resultado seguinte, então a nossa lib Moip está funcionando e você pode prosseguir tranquilo 😎

Saia do console do Rails:

 



12 formas de vencer o bloqueio criativo e escrever textos memoráveis (e 6 dicas extras)

Não perca nenhum conteúdo

Receba nosso resumo semanal com os novos posts, cursos, talks e vagas \o/



 

VI – Criando controller e views para realizar um pedido de compra

Chegou o momento onde vamos criar a tela ao usuário e para este app faremos somente a parde de pedido de compra com uma tela bem simples, contendo apenas alguns campos. Isso dará uma noção básica e você poderá acrescentar campos necessários quando construir sua aplicação usando o método de pagamento Moip.

 

1. Gerando o controller com as actions new e create.

 

2. Corrigindo as rotas agora. Faça ficar dessa forma o config/routes.rb:

 

3. Abra a view new criada junto com o controller, que é o formulário que irá colher os dados do cliente e do pedido, e a deixe como seguinte conteúdo (app/views/orders/new.html.erb):

 

 

4. A view create é a tela de confirmação do pedido. Deixe com o seguinte conteúdo (app/views/orders/create.html.erb).

 

5. No controller, acrescentaremos alguns dados estão fixos. Quando você criar sua própria aplicação, esses campos fixos, ficarão na view para captar os dados que o usuário informar ou dados do pedido. Deixe o controller OrdersController com o seguinte conteúdo (app/controllers/orders_controller.rb):

 

5. Inicie o servidor do Rails digitando no terminal:

 

6. Visite no seu browser: http://localhost:3000/

 

Esta é a tela do pedido. Estão sendo apresentados dados do pedido e do cliente. Dê um click no botão “confirma” para confirmar o pedido e ir para a próxima tela.

 

 

 

Esta tela a seguir é a que aparece após dar click no botão confirma. O número do pedido que aparece, pode ser usado para fazer uma consulta na tela da Moip.

 

 

 

 

Agora entre na tela da Moip e consulte o pedido que foi gerado para você. É claro que não será o mesmo número gerado neste exemplo.

Para ir diretamente na tela de consulta de pedidos da Moip, acesse este endereço e informe o número do pedido no campo indicado na imagem: https://conta-sandbox.moip.com.br/orders/list

 

 

 

 

VII – Utilizando a solução

Confira no vídeo, como ficou a utilização da nossa aplicação criada nesse artigo e também a consulta do pedido criado, no site da Moip.

 

 

Conclusão

Neste artigo, criamos uma aplicação com uma tela para o cliente fazer um pedido de compra, usando o método de pagamento da Moip em Ruby on Rails com a gem moip2 e acompanhamos na prática a criação da solução, aplicando alguns recursos que a API da empresa Moip disponibiliza.

Na parte teórica do artigo, ficamos sabendo que é necessário ter uma conta na Moip para que essas operações possam ser realizadas. A conta tipo “sandbox” é uma conta para desenvolvedores e usamos esse tipo de conta para este artigo. A conta da Moip para produção, caso você venha a ter, será uma conta separada da conta “sandbox”.

Espero que o artigo seja útil em algum momento, e espero que tenham gostado! 👍

 



12 formas de vencer o bloqueio criativo e escrever textos memoráveis (e 6 dicas extras)

Não perca nenhum conteúdo

Receba nosso resumo semanal com os novos posts, cursos, talks e vagas \o/




Você é novo por aqui?

Primeira vez no OneBitCode? Curtiu esse conteúdo? O OneBitCode tem muito mais para você!

O OneBitCode traz conteúdos de qualidade e em português sobre programação com foco em Ruby on Rails e outras tecnologias como Angular, Ionic, React, desenvolvimento de Chatbots e etc.

Se você deseja aprender mais, de uma forma natural e dentro de uma comunidade ativa, visite nosso Facebook e nosso Twitter, veja os screencasts e talks no Youtube, alguns acontecimentos no Instagram, ouça os Podcasts e faça parte de nossa Newsletter.

Além disso, também estamos com alguns e-Books muito interessantes para quem deseja se aprimorar como programador e também como freelancer (os e-Books são gratuitos!):

Espero que curta nossos conteúdos e sempre que precisar de ajuda com os tutoriais, fala com a gente! Seja por Facebook ou e-mail, estamos aqui para você 🙂

Bem-vindo à família OneBitCode \o/

 

junho 9, 2018

Deixe um comentário

avatar
  Subscribe  
Notify of
Feito com s2 por OneBitCode
%d blogueiros gostam disto: