O BytePay Checkout é uma solução white-label para processamento de pagamentos que pode ser facilmente integrada a qualquer plataforma de e-commerce. Esta documentação fornece instruções detalhadas sobre como integrar o checkout em sua loja online.
O BytePay Checkout utiliza um banco de dados PostgreSQL para armazenar informações sobre usuários, transações e configurações. Abaixo está a estrutura das tabelas necessárias:
Coluna | Tipo | Descrição |
---|---|---|
id | uuid | ID único do usuário (chave primária) |
text | Email do usuário (único) | |
business_name | text | Nome da empresa |
api_key | text | Chave de API para integração (única) |
created_at | timestamp | Data de criação |
Coluna | Tipo | Descrição |
---|---|---|
id | uuid | ID único (chave primária) |
user_id | uuid | ID do usuário (chave estrangeira) |
pix_enabled | boolean | Se o pagamento PIX está habilitado |
credit_card_enabled | boolean | Se o pagamento com cartão está habilitado |
primary_color | text | Cor primária do checkout |
logo_url | text | URL do logo |
created_at | timestamp | Data de criação |
updated_at | timestamp | Data de atualização |
Coluna | Tipo | Descrição |
---|---|---|
id | uuid | ID único (chave primária) |
user_id | uuid | ID do usuário (chave estrangeira) |
amount | numeric | Valor da transação |
status | text | Status da transação (pending, completed, failed) |
payment_method | text | Método de pagamento (pix, credit_card) |
customer_name | text | Nome do cliente |
customer_email | text | Email do cliente |
customer_document | text | Documento do cliente (CPF) |
customer_phone | text | Telefone do cliente |
product_name | text | Nome do produto |
product_price | numeric | Preço unitário do produto |
product_quantity | integer | Quantidade do produto |
transaction_id | text | ID da transação (para referência externa) |
utms | jsonb | Parâmetros UTM para rastreamento |
created_at | timestamp | Data de criação |
Para integrar o BytePay Checkout com sua loja Shopify, siga os passos abaixo:
Registre-se na plataforma BytePay e obtenha sua chave de API no painel do lojista.
No painel administrativo do Shopify, vá para Configurações > Checkout e desative o checkout padrão do Shopify.
Adicione o seguinte script ao tema da sua loja Shopify:
// Adicione este código ao arquivo checkout.liquid
document.addEventListener('DOMContentLoaded', function() {
const checkoutButton = document.querySelector('.checkout-button');
checkoutButton.addEventListener('click', function(e) {
e.preventDefault();
// Obtenha os dados do carrinho
const cart = {{ cart | json }};
// Construa a URL do checkout BytePay
const checkoutUrl = new URL('https://seu-dominio.com/checkout');
// Adicione os parâmetros necessários
checkoutUrl.searchParams.append('api_key', 'SUA_API_KEY');
checkoutUrl.searchParams.append('name', cart.items[0].product_title);
checkoutUrl.searchParams.append('price', cart.total_price / 100);
checkoutUrl.searchParams.append('image', cart.items[0].image);
checkoutUrl.searchParams.append('merchant', '{{ shop.name }}');
checkoutUrl.searchParams.append('color', '22c55e');
// Adicione parâmetros UTM para rastreamento
const urlParams = new URLSearchParams(window.location.search);
if (urlParams.has('utm_source')) checkoutUrl.searchParams.append('utm_source', urlParams.get('utm_source'));
if (urlParams.has('utm_medium')) checkoutUrl.searchParams.append('utm_medium', urlParams.get('utm_medium'));
if (urlParams.has('utm_campaign')) checkoutUrl.searchParams.append('utm_campaign', urlParams.get('utm_campaign'));
if (urlParams.has('utm_term')) checkoutUrl.searchParams.append('utm_term', urlParams.get('utm_term'));
if (urlParams.has('utm_content')) checkoutUrl.searchParams.append('utm_content', urlParams.get('utm_content'));
// Redirecione para o checkout BytePay
window.location.href = checkoutUrl.toString();
});
});
A URL de checkout do BytePay aceita os seguintes parâmetros:
Parâmetro | Tipo | Obrigatório | Descrição |
---|---|---|---|
api_key | string | Sim | Sua chave de API BytePay |
name | string | Sim | Nome do produto |
price | number | Sim | Preço do produto |
image | string | Não | URL da imagem do produto |
merchant | string | Não | Nome da loja |
color | string | Não | Cor primária do checkout (sem #) |
logo | string | Não | URL do logo da loja |
pix_enabled | boolean | Não | Se o pagamento PIX está habilitado |
card_enabled | boolean | Não | Se o pagamento com cartão está habilitado |
utm_source | string | Não | Fonte da campanha |
utm_medium | string | Não | Meio da campanha |
utm_campaign | string | Não | Nome da campanha |
utm_term | string | Não | Termos da campanha |
utm_content | string | Não | Conteúdo da campanha |
https://seu-dominio.com/checkout?api_key=BPC-12345&name=Produto%20Exemplo&price=99.90&image=https://exemplo.com/imagem.jpg&merchant=Minha%20Loja&color=22c55e&pix_enabled=true&card_enabled=true
O BytePay Checkout oferece uma API para processamento de pagamentos. Abaixo estão os endpoints disponíveis:
Endpoint: POST /api/checkout/pix
Descrição: Gera um código PIX para pagamento.
{
"apiKey": "BPC-12345",
"amount": 99.90,
"client": {
"name": "Nome do Cliente",
"document": "123.456.789-00",
"telefone": "(11) 98765-4321",
"email": "cliente@exemplo.com"
},
"product": {
"name": "Produto Exemplo",
"price": 99.90,
"quantity": 1
},
"utms": {
"utm_source": "facebook",
"utm_medium": "cpc",
"utm_campaign": "black_friday"
}
}
{
"status": "success",
"message": "ok",
"paymentCode": "00020101021226790014br.gov.bcb.pix255/v2/be1920df6b714e4e84edd77d7f25204000039865802BR592**63042CA1",
"idTransaction": "52fc5262-XXXX-4900-933b-XXXXXXXX",
"paymentCodeBase64": "iVBORw0KGgoAAAANSUhEUgAAAPoAAAD6AQAAAACgl2eQAAACwElEQVR4Xu2XS5IjIQwF4SJw..."
}
Endpoint: POST /api/checkout/card
Descrição: Processa um pagamento com cartão de crédito.
{
"apiKey": "BPC-12345",
"email": "cliente@exemplo.com",
"telefone": "(11) 98765-4321",
"nome": "Nome do Cliente",
"cpf": "123.456.789-00",
"valor": 99.90,
"id": "order-123456",
"installments": "1",
"card": {
"number": "4111111111111111",
"holderName": "NOME DO TITULAR",
"expirationMonth": "12",
"expirationYear": "2025",
"cvv": "123"
},
"product": {
"name": "Produto Exemplo",
"price": 99.90,
"quantity": 1
},
"utms": {
"utm_source": "instagram",
"utm_medium": "organic",
"utm_campaign": "lancamento"
}
}
{
"success": true,
"data": {
"status": "success",
"message": "Pagamento realizado com sucesso",
"transactionId": "52fc5262-XXXX-4900-933b-XXXXXXXX"
}
}
O BytePay Checkout oferece webhooks para notificar sua aplicação sobre eventos de pagamento. Para configurar um webhook, acesse o painel do lojista e adicione a URL do seu endpoint.
{
"event": "payment.success",
"data": {
"transaction_id": "52fc5262-XXXX-4900-933b-XXXXXXXX",
"amount": 99.90,
"payment_method": "pix",
"customer": {
"name": "Nome do Cliente",
"email": "cliente@exemplo.com"
},
"product": {
"name": "Produto Exemplo",
"price": 99.90,
"quantity": 1
},
"timestamp": "2023-11-01T12:34:56Z"
}
}
Para obter suporte ou esclarecer dúvidas sobre a integração, entre em contato conosco: