Skip to main content

Guia Passo a Passo para Integração de Pagamento Básico

Integrar um sistema de pagamento em uma aplicação web é essencial para aceitar transações online de maneira segura e eficiente. Este guia fornecerá um passo a passo para integrar um sistema de pagamento básico utilizando a API do Stripe, uma das plataformas de pagamento mais populares.

1. Crie uma Conta no Stripe

Antes de tudo, você precisa de uma conta no Stripe. Siga estes passos:

  1. Vá para o site do Stripe e clique em “Sign up”.
  2. Complete o processo de registro e verificação de conta.
  3. Depois de criar a conta, você terá acesso ao painel de controle do Stripe.

2. Obtenha as Chaves da API

Para integrar a API do Stripe, você precisará das chaves da API, que podem ser encontradas no dashboard:

  1. No painel do Stripe, vá para “Developers” > “API keys”.
  2. Anote a chave pública (Publishable key) e a chave secreta (Secret key).

3. Configurar o Ambiente de Desenvolvimento

Vamos configurar um ambiente Node.js para integrar o Stripe. Certifique-se de ter Node.js e npm instalados.

  1. Inicie um novo projeto Node.js:bash
mkdir stripe-payment
cd stripe-payment
npm init -y

Instale as dependências necessárias:

bash
npm install express stripe body-parser

Crie a Estrutura do Projeto:

bash
  1. touch app.js mkdir public cd public touch index.html success.html cd ..

4. Implementação do Backend (Node.js)

Vamos configurar o servidor para processar os pagamentos.

app.js:

javascript
const express = require('express');
const stripe = require('stripe')('YOUR_SECRET_KEY'); // Substitua pela sua chave secreta
const bodyParser = require('body-parser');

const app = express();
app.use(express.static('public'));
app.use(bodyParser.json());

app.post('/create-checkout-session', async (req, res) => {
  const session = await stripe.checkout.sessions.create({
    payment_method_types: ['card'],
    line_items: [
      {
        price_data: {
          currency: 'usd',
          product_data: {
            name: 'Produto Exemplo',
          },
          unit_amount: 2000, // Valor em centavos (2000 = $20.00)
        },
        quantity: 1,
      },
    ],
    mode: 'payment',
    success_url: 'http://localhost:3000/success.html',
    cancel_url: 'http://localhost:3000/',
  });

  res.json({ id: session.id });
});

app.listen(3000, () => console.log('Servidor rodando na porta 3000'));

5. Implementação do Frontend

Vamos configurar o frontend para iniciar o pagamento.

public/index.html:

html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Stripe Payment</title>
    <script src="https://js.stripe.com/v3/"></script>
</head>
<body>
    <button id="checkout-button">Pagar</button>
    <script>
        const stripe = Stripe('YOUR_PUBLISHABLE_KEY'); // Substitua pela sua chave pública

        const checkoutButton = document.getElementById('checkout-button');

        checkoutButton.addEventListener('click', () => {
            fetch('/create-checkout-session', {
                method: 'POST',
            })
            .then(response => response.json())
            .then(session => {
                return stripe.redirectToCheckout({ sessionId: session.id });
            })
            .then(result => {
                if (result.error) {
                    alert(result.error.message);
                }
            })
            .catch(error => {
                console.error('Error:', error);
            });
        });
    </script>
</body>
</html>

public/success.html:

html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Success</title>
</head>
<body>
    <h1>Pagamento bem-sucedido!</h1>
</body>
</html>

6. Executando o Projeto

Para testar sua integração, execute o servidor Node.js:

bash
node app.js

Abra seu navegador e vá para http://localhost:3000. Clique no botão “Pagar” para iniciar o fluxo de pagamento. Se tudo estiver configurado corretamente, você será redirecionado para a página de checkout do Stripe. Após a conclusão do pagamento, você será redirecionado para a página de sucesso.

7. Testando com Cartões de Teste do Stripe

Use os cartões de teste fornecidos pelo Stripe para simular transações durante o desenvolvimento. Um cartão de teste comum é 4242 4242 4242 4242 com qualquer data de validade futura e qualquer CVC.

8. Conclusão

Este guia fornece uma visão geral básica para integrar pagamentos usando a API do Stripe em uma aplicação Node.js. Esta configuração pode ser expandida para incluir funcionalidades mais avançadas, como webhooks para confirmar transações ou integrar outros métodos de pagamento. A documentação oficial do Stripe oferece muitos recursos adicionais para aprimorar e personalizar sua integração de pagamento.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *