npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@silapay/transparent-checkout

v1.0.0

Published

A Vue.js library for transparent checkout with multiple payment methods

Readme

@silapay/transparent-checkout

npm version License: MIT

Uma biblioteca Vue.js moderna para checkout transparente com múltiplos métodos de pagamento, incluindo PIX, Cartão de Crédito e Boleto Bancário.

✨ Características

  • 🚀 Componente Vue 3 pronto para uso
  • 💳 Múltiplos métodos de pagamento (PIX, Cartão, Boleto)
  • 📱 Totalmente responsivo e otimizado para mobile
  • 🎨 Personalizável com cores e logo da sua marca
  • 🔒 Seguro com validações integradas
  • 📦 TypeScript com tipagem completa
  • 🌐 Fácil integração em HTML puro ou Vue.js

🚀 Instalação

# npm
npm install @silapay/transparent-checkout

# yarn
yarn add @silapay/transparent-checkout

# pnpm
pnpm add @silapay/transparent-checkout

📦 Importação dos Estilos

⚠️ Importante: A biblioteca inclui estilos CSS que devem ser importados:

import '@silapay/transparent-checkout/style.css'

⚡ Início Rápido

  1. Instale a biblioteca:

    npm install @silapay/transparent-checkout
  2. Use diretamente no HTML (via CDN):

    <script src="https://unpkg.com/@silapay/transparent-checkout@latest/dist/index.umd.js"></script>
    <link rel="stylesheet" href="https://unpkg.com/@silapay/transparent-checkout@latest/dist/style.css">
  3. Configure seu checkout:

    const config = {
      cart: {
        id: 'cart-123',
        amountTotal: 99.99,
        currency: 'BRL',
        items: [{ id: '1', name: 'Produto', price: 99.99, quantity: 1 }],
        paymentMethods: ['pix', 'creditCard', 'billet']
      },
      backendUrl: 'https://api.seubackend.com'
    }
  4. Veja os exemplos completos na pasta example/ deste repositório!

🎯 Guia de Uso

🔧 Integração em HTML Puro (Recomendado para iniciantes)

<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Checkout SilaPay</title>
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
    <script src="https://unpkg.com/@silapay/transparent-checkout@latest/dist/index.umd.js"></script>
    <link rel="stylesheet" href="https://unpkg.com/@silapay/transparent-checkout@latest/dist/style.css">
</head>
<body>
    <div id="checkout"></div>

    <script>
        const checkoutConfig = {
            cart: {
                id: 'cart-123',
                amountTotal: 99.99,
                currency: 'BRL',
                items: [{
                    id: '1',
                    name: 'Produto Exemplo',
                    price: 99.99,
                    quantity: 1,
                    description: 'Descrição do produto'
                }],
                paymentMethods: ['pix', 'creditCard', 'billet']
            },
            backendUrl: 'https://api.seubackend.com',
            onPaymentSuccess: (data) => {
                console.log('Pagamento aprovado:', data)
                alert('Pagamento realizado com sucesso!')
            },
            onPaymentError: (error) => {
                console.error('Erro no pagamento:', error)
                alert('Erro no pagamento: ' + error.message)
            }
        }

        SilaPayTransparentCheckout.createTransparentCheckout('#checkout', checkoutConfig)
    </script>
</body>
</html>

🔧 Como Plugin Vue.js

import { createApp } from 'vue'
import TransparentCheckout from '@silapay/transparent-checkout'
import '@silapay/transparent-checkout/style.css'

const app = createApp(App)
app.use(TransparentCheckout)

🔧 Importação Direta do Componente

<template>
  <TransparentCheckout :config="checkoutConfig" />
</template>

<script setup>
import { TransparentCheckout } from '@silapay/transparent-checkout'
import '@silapay/transparent-checkout/style.css'

const checkoutConfig = {
  cart: {
    id: 'cart-123',
    amountTotal: 99.99,
    currency: 'BRL',
    items: [
      {
        id: '1',
        name: 'Produto Exemplo',
        price: 99.99,
        quantity: 1,
        description: 'Descrição do produto'
      }
    ],
    paymentMethods: ['pix', 'creditCard', 'billet']
  },
  backendUrl: 'https://api.seubackend.com',
  onPaymentSuccess: (data) => {
    console.log('Pagamento realizado com sucesso:', data)
  },
  onPaymentError: (error) => {
    console.error('Erro no pagamento:', error)
  }
}
</script>

🔧 Factory Function (Integração Dinâmica)

import { createTransparentCheckout } from '@silapay/transparent-checkout'

// Cria e monta o checkout em um elemento específico
const checkout = await createTransparentCheckout('#checkout-container', {
  cart: {
    id: 'cart-123',
    amountTotal: 99.99,
    currency: 'BRL',
    items: [/* seus produtos */],
    paymentMethods: ['pix', 'creditCard', 'billet']
  },
  backendUrl: 'https://api.seubackend.com'
})

⚙️ Configuração

CheckoutConfig

interface CheckoutConfig {
  cart: Cart
  customization?: CheckoutCustomization
  maxInstallments?: number
  backendUrl: string
  onPaymentSuccess?: (data: PaymentResponse) => void
  onPaymentError?: (error: any) => void
  isEmbedded?: boolean
  devMode?: {
    apiKey: string
    secretKey: string
    postbackUrl: string
    apiEndpoint?: string
    proxyUrl?: string
  }
}

Cart

interface Cart {
  id: string
  amountTotal: number
  shippingCost?: number
  tax?: Tax
  discount?: number
  currency: string
  items: CartItem[]
  paymentMethods: string[]
}

interface CartItem {
  id: string
  name: string
  price: number
  quantity: number
  description?: string
  image?: string
}

Customização

interface CheckoutCustomization {
  isDarkMode?: boolean
  identityColorLight?: string
  identityColorDark?: string
  logoUrl?: string
  identityUrl?: string
  isTimerActive?: boolean
  acceptPayments?: PaymentMethod[]
}

🎨 Personalização

Cores e Tema

const customization = {
  isDarkMode: false,
  identityColorLight: '#007bff',
  identityColorDark: '#0056b3',
  logoUrl: 'https://example.com/logo.png',
  identityUrl: 'https://example.com'
}

Métodos de Pagamento

const acceptPayments = [
  { id: 'pix', label: 'PIX', active: true },
  { id: 'creditCard', label: 'Cartão de Crédito', active: true },
  { id: 'billet', label: 'Boleto', active: false }
]

🔐 Segurança

Configuração de Produção (Recomendada)

Para uso em produção, configure apenas a URL do seu backend:

const config = {
  backendUrl: 'https://api.seubackend.com',
  cart: {
    // dados do carrinho
  }
}

Modo de Desenvolvimento (Apenas para Testes)

⚠️ ATENÇÃO: Nunca use em produção!

const config = {
  backendUrl: 'https://api.seubackend.com',
  devMode: {
    apiKey: 'sua-api-key',
    secretKey: 'sua-secret-key',
    postbackUrl: 'https://seu-webhook.com/postback',
    proxyUrl: 'http://localhost:3001' // para contornar CORS
  },
  cart: {
    // dados do carrinho
  }
}

📱 Responsividade

O componente é totalmente responsivo e se adapta automaticamente a diferentes tamanhos de tela:

  • Desktop: Layout em duas colunas (produtos + formulários)
  • Mobile: Layout empilhado com navegação por etapas
  • Embedded: Modo otimizado para iframe

🛠 Métodos de Pagamento Suportados

  • PIX: Pagamento instantâneo via QR Code
  • Cartão de Crédito: Visa, Mastercard, Elo, etc.
  • Boleto Bancário: Tradicional boleto brasileiro

📋 Callbacks

onPaymentSuccess

Chamado quando o pagamento é processado com sucesso:

onPaymentSuccess: (data) => {
  console.log('Transaction ID:', data.txId)
  console.log('Payment Method:', data.method)
  console.log('Amount:', data.amount)

  // Redirecionar usuário ou mostrar confirmação
  window.location.href = '/success'
}

onPaymentError

Chamado quando ocorre erro no pagamento:

onPaymentError: (error) => {
  console.error('Erro:', error.message)

  // Mostrar mensagem de erro ao usuário
  alert('Erro no pagamento: ' + error.message)
}

🔧 Composables

A biblioteca exporta composables úteis para validação e pagamento:

import { useValidation, usePayment } from '@silapay/transparent-checkout'

// Validação de documentos
const { validateCPF, validateCNPJ, validateEmail } = useValidation()

// Processamento de pagamentos
const { processPayment, isLoading } = usePayment()

🌐 Compatibilidade

  • Vue: 3.0+
  • TypeScript: Suporte completo
  • Navegadores: Modernos (ES2015+)
  • Node.js: 14+

📄 Licença

MIT

🤝 Contribuição

Contribuições são bem-vindas! Consulte o repositório no GitHub para mais informações.

� Exemplos Práticos

Na pasta example/ você encontra exemplos completos:

  • 🚀 Exemplo Simples (simple.html) - Integração básica em 5 minutos
  • 🎯 Exemplo Completo (index.html) - Demo interativa com todas as funcionalidades
  • 📖 Documentação (README.md) - Guia detalhado dos exemplos
# Para testar os exemplos localmente
git clone https://github.com/silabank/sdk-npm.git
cd sdk-npm/example
npx serve .  # ou abra index.html diretamente no navegador

�📞 Suporte

Para dúvidas ou suporte, entre em contato: