Visão geral
O recurso de Cartões é um componente fundamental da Selectwin API, permitindo o armazenamento seguro e gerenciamento de informações de meios de pagamento dos clientes. Este recurso possibilita transaç
Introdução
O recurso de Cartões é um componente fundamental da Selectwin API, permitindo o armazenamento seguro e gerenciamento de informações de meios de pagamento dos clientes. Este recurso possibilita transações online, facilita pagamentos recorrentes e oferece uma experiência de compra simplificada para os usuários finais.
A API de Cartões foi projetada com foco na segurança, conformidade com padrões PCI DSS e facilidade de integração, permitindo que os desenvolvedores implementem soluções de pagamento robustas e confiáveis.
Conceito e Funcionalidade
Os cartões representam instrumentos de pagamento virtuais dentro da plataforma, armazenando de forma segura as informações necessárias para processar transações. Este recurso permite que os clientes salvem seus métodos de pagamento para uso futuro, eliminando a necessidade de inserir dados de cartão repetidamente.
Cada cartão está associado a um cliente específico e pode ser utilizado em diversas operações financeiras, como pagamentos únicos, assinaturas, cobranças recorrentes e reembolsos.
Autenticação e Base URL
- Base URL:
https://api.selectwin.io/v1 - Header de autenticação:
SelectKey: sk_test_...(sandbox) ouSelectKey: sk_live_...(produção). O ambiente da chave (live/sandbox) define em qual namespace o cartão é criado e listado. - Escopos:
cards:create,cards:read,cards:list,cards:delete.
Estrutura do Objeto Cartão
O objeto Cartão contém informações sobre o instrumento de pagamento, porém com restrições de segurança para proteger dados sensíveis. A estrutura básica inclui:
{
"id": "card_01hqzvabc",
"holderName": "João Silva",
"brand": "Visa",
"firstDigits": "411111",
"lastDigits": "1111",
"expirationMonth": "12",
"expirationYear": "2025",
"primary": true,
"active": true,
"valid": true,
"verified": true,
"associated": true,
"updatedAt": "2026-04-12T17:56:33.000Z",
"createdAt": "2026-04-12T17:56:33.000Z",
"merchant": {
"name": "Seller Name",
"merchantId": "bus_1234567890",
"isSubAccount": false
},
"_links": {
"self": {
"href": "https://api.selectwin.io/v1/cards/card_01hqzvabc",
"method": "GET",
"description": "Read a card."
}
}
}Notas importantes:
- O objeto de cartão não possui campo
metadata. - As flags de saída usam os nomes
primary,active,valid,verified,associated(sem o prefixois). brandé retornado capitalizado (ex.:Visa,Mastercard,Amex,Elo), não em minúsculas.holderNameé normalizado para Title Case na criação (ex.:joão silva→João Silva).- Exemplos de resposta de recursos individuais incluem
merchant+_links. A estrutura de cada item de lista é mais leve (semmerchant/_linkspor item).
Recursos Disponíveis
| Recurso | Método | Endpoint | Descrição |
|---|---|---|---|
| Criar Cartão | POST | /v1/cards | Cria um novo cartão para um cliente |
| Consultar Cartão | GET | /v1/cards/{cardId} | Obtém detalhes de um cartão específico |
| Listar Cartões | GET | /v1/cards | Lista cartões com opções de paginação e filtros |
| Excluir Cartão | DELETE | /v1/cards/{cardId} | Remove um cartão do sistema |
Segurança e Conformidade PCI DSS
A Selectwin API segue rigorosos padrões de segurança para o armazenamento de dados de cartão:
- Números de cartão completos nunca são armazenados - Apenas os primeiros e últimos dígitos são mantidos para identificação
- Códigos de segurança (CVV/CVC) nunca são armazenados - São utilizados apenas durante a transação
- Dados são criptografados - Todas as informações sensíveis são criptografadas em repouso e em trânsito
- Acesso restrito - Apenas sistemas autorizados podem acessar os dados de cartão
- Certificação PCI DSS - A plataforma é certificada para garantir a conformidade com os padrões de segurança da indústria
Bandeiras Suportadas
A bandeira é detectada automaticamente a partir do número do cartão. A coluna Código é o identificador interno usado na lista de bandeiras aceitas; o campo brand retornado na resposta usa o valor capitalizado.
| Bandeira | Código (brandType) | brand retornado |
|---|---|---|
| Visa | visa | Visa |
| Mastercard | mastercard | Mastercard |
| American Express | amex | Amex |
| Elo | elo | Elo |
| Hipercard | hipercard | Hipercard |
| Diners Club | dinersclub | Dinersclub |
| Discover | discover | Discover |
| JCB | jcb | Jcb |
Nota: as bandeiras aceitas são configuráveis por ambiente; por padrão a lista acima é aceita. Um cartão de bandeira não reconhecida é detectado como
Unknowne a criação é rejeitada comcardBrandNotSupported(HTTP 400).
Webhooks Acionados
| Evento | Descrição |
|---|---|
card.created | Acionado quando um novo cartão é registrado no sistema |
card.updated | Acionado quando os dados de um cartão são alterados |
card.deleted | Acionado quando um cartão é removido do sistema |
card.expired | Acionado quando o token de um cartão expira |
Casos de Uso Comuns
- Pagamentos Recorrentes: Armazene cartões para cobranças automáticas em assinaturas
- Checkout Simplificado: Permita que clientes utilizem cartões salvos para novas compras
- Marketplace: Armazene cartões para pagamentos a múltiplos vendedores
- Gestão de Métodos de Pagamento: Permita que clientes gerenciem seus cartões salvos
- Transações One-Click: Implemente compras com um clique para melhorar a conversão
- Análise de Risco: Utilize informações de cartão para avaliação de risco nas transações
Melhores Práticas
- Sempre valide os dados do cartão antes de enviá-los para a API
- Utilize tokenização quando disponível para maior segurança
- Implemente tratamento de erros adequado para lidar com falhas nas requisições
- Mantenha a interface do usuário atualizada com os cartões disponíveis
- Verifique a validade dos cartões antes de utilizá-los em transações
- Ofereça opções para definir cartão padrão para melhorar a experiência do usuário
- Notifique clientes sobre cartões próximos ao vencimento para evitar falhas em pagamentos futuros
Solução de Problemas Comuns
| Problema | Possível Causa | Solução Recomendada |
|---|---|---|
| Falha na criação do cartão | Dados do cartão inválidos | Verifique se o número, data de validade e nome do portador estão corretos |
| Erro "Cartão não autorizado" | Cartão com restrições | Sugira ao cliente utilizar outro cartão ou entrar em contato com o banco emissor |
| Cartão não aparece na listagem | Filtros incorretos na consulta | Verifique os parâmetros de filtro ou tente sem filtros |
| Erro "Cartão expirado" | Data de validade ultrapassada | Solicite ao cliente um cartão com data de validade válida |
| Falha ao processar pagamento | Fundos insuficientes ou cartão bloqueado | Sugira ao cliente verificar o saldo ou status do cartão com o banco emissor |
| Erro na validação do CVV | Código de segurança incorreto | Solicite ao cliente verificar e reinserir o código de segurança correto |
| Cartão recusado por análise de risco | Alto risco de fraude detectado | Sugira ao cliente utilizar outro método de pagamento ou entrar em contato com o suporte |
Integração com Outros Recursos
O recurso de Cartões integra-se com:
- Customers: Cartões são associados a clientes específicos através do
customerId - Transactions: Cartões podem ser utilizados em transações para processamento de pagamentos
- Wallets: Cartões podem ser adicionados a carteiras digitais para facilitar pagamentos
- Utils/Card-Bin-Validation: Serviço de validação de BIN para verificação e identificação de cartões
- Simulators: Simulações de pagamento podem ser realizadas com base em informações de cartão
How is this guide?