API de Pagamentos
Bem-vindo à documentação completa da nossa API de pagamentos. Esta API permite que você integre facilmente soluções de pagamento em seu aplicativo ou site, processando transações via PIX e gerenciando cashouts.
Início Rápido
Para começar a usar nossa API de pagamentos, você precisará:
- Obter suas credenciais de API no painel administrativo
- Configurar a autenticação em suas requisições
- Implementar o endpoint de webhook para receber atualizações
URL Base da API
Todas as requisições devem ser feitas para o seguinte domínio base:
https://api.spedpay.com.br/v1/transactions
.
Autenticação
A autenticação é feita através do API Secret nos cabeçalhos da requisição:
api-secret: SEU_API_SECRET
Consultar informações da conta
Este endpoint permite consultar as informações da vinculada a chave de API.
Resposta
{ "email": "jonhdoe@email.com", "name": "Jonh doe", "document": "12345678912", }
Consultar Transação
Este endpoint permite consultar os detalhes de uma transação previamente criada.
Parâmetros de URL
Parâmetro | Tipo | Descrição |
---|---|---|
transaction_id | string | ID único da transação que deseja consultar |
Resposta
{ "id": "c22dc7e1-8b10-4580-9dc4-ebf78ceca475", "external_id": null, "status": "PENDING", "amount": 10, "payment_method": "PIX", "customer": { "name": "Jon doe sudo", "email": "niriv77914@dwriters.com", "phone": "00000000000", "document": "24125439095", "address": { "cep": "32323232", "city": "Florianopolis", "state": "SC", "number": "82", "street": "Florianopolis Centro", "complement": "ALTOS", "neighborhood": "Centro" } }, "created_at": "2025-04-03T20:45:33.855Z" }
Criar Transação
Este endpoint permite criar uma nova transação em nosso sistema.
Corpo da Requisição
{ "external_id": "string", "total_amount": number, "payment_method": "PIX", "webhook_url": "string", "items": [ { "id": "string", "title": "string", "description": "string", "price": number, "quantity": number, "is_physical": boolean } ], "ip": "string", "customer": { "name": "string", "email": "string", "phone": "string", "document_type": "CPF" | "CNPJ", "document": "string" } }
Consultar Transação
Este endpoint permite consultar os detalhes de uma transação previamente criada.
Parâmetros de URL
Parâmetro | Tipo | Descrição |
---|---|---|
transaction_id | string | ID único da transação que deseja consultar |
Resposta
{ "id": "c22dc7e1-8b10-4580-9dc4-ebf78ceca475", "external_id": null, "status": "PENDING", "amount": 10, "payment_method": "PIX", "customer": { "name": "Jon doe sudo", "email": "niriv77914@dwriters.com", "phone": "00000000000", "document": "24125439095", "address": { "cep": "32323232", "city": "Florianopolis", "state": "SC", "number": "82", "street": "Florianopolis Centro", "complement": "ALTOS", "neighborhood": "Centro" } }, "created_at": "2025-04-03T20:45:33.855Z" }
Parâmetros
Abaixo estão os parâmetros necessários para criar uma transação:
Parâmetro | Tipo | Descrição |
---|---|---|
external_id | string | Identificador único externo da transação |
total_amount | number | Valor total da transação em reais |
payment_method | string | Método de pagamento (atualmente apenas "PIX") |
webhook_url | string | URL para receber notificações de mudança de status |
items | array | Lista de itens incluídos na transação |
ip | string | Endereço IP do cliente |
customer | object | Informações do cliente |
Resposta
A API retorna um objeto JSON com os detalhes da transação criada:
{ "id": "string", "external_id": "string", "status": "AUTHORIZED" | "PENDING" | "CHARGEBACK" | "FAILED" | "IN_DISPUTE", "total_value": number, "customer": { "email": "string", "name": "string" }, "payment_method": "string", "pix": { "payload": "string" }, "hasError": boolean }
Status da Transação
Os possíveis valores para o campo status são:
- PENDING - Aguardando pagamento
- - Pagamento aprovado
- FAILED - Pagamento falhou
- CHARGEBACK - Estorno solicitado
- IN_DISPUTE - Em disputa
Erros
A API pode retornar os seguintes códigos de erro:
Código | Descrição |
---|---|
401 | API Secret não fornecida ou inválida |
400 | Dados inválidos na requisição |
500 | Erro interno do servidor |
Webhook
Notificações de mudança de status são enviadas para a URL configurada:
{ "id": "string", "external_id": "string", "total_amount": number, "status": "AUTHORIZED" | "PENDING" | "CHARGEBACK" | "FAILED" | "IN_DISPUTE", "payment_method": "string" }
Boas Práticas
Para garantir a segurança e confiabilidade do seu sistema de webhooks:
- Implemente um mecanismo de retry para lidar com falhas temporárias
- Verifique a assinatura do webhook para garantir a autenticidade
- Responda rapidamente com código 200 para confirmar o recebimento
- Processe o webhook de forma assíncrona para evitar timeouts
Cashout
Este endpoint permite criar uma transação de cashout (saque) usando PIX.
Corpo da Requisição
{ "external_id": "string" "pix_key": "string", "pix_type": "CPF" | "CNPJ" | "EMAIL" | "PHONE" | "RANDOM", "amount": number "webhook_url": "https://suapipostback.com" }
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
pix_key | string | Chave PIX para o cashout. Deve ser um CPF, CNPJ, e-mail, telefone ou chave aleatória válida. |
pix_type | enum | Tipo da chave PIX. Valores possíveis: CPF, CNPJ, EMAIL, PHONE, RANDOM |
amount | number | Valor do cashout em reais. Deve ser maior que 0.01 |
webhook_url | string | Sua url de api para receber os eventos do Cashout |
Formatos de Chave PIX
Formatos Aceitos
- CPF: 11 dígitos numéricos
- CNPJ: 14 dígitos numéricos
- E-mail: Endereço de e-mail válido
- Telefone: +55 seguido de 10 ou 11 dígitos
- Chave aleatória: 32 a 36 caracteres alfanuméricos e hífens
Exemplo de Requisição
{ "pix_key": "12345678900", "pix_type": "CPF", "amount": 100.50 }
Resposta
A API retorna um objeto JSON com os detalhes da transação de cashout criada:
{ "id": "string", "status": "PENDING" | "COMPLETED" | "FAILED", "amount": number, "pix_key": "string", "pix_type": "CPF" | "CNPJ" | "EMAIL" | "PHONE" | "RANDOM", "created_at": "string (ISO 8601 date)" }
Erros Específicos
Código | Descrição |
---|---|
400 | Formato de chave PIX inválido ou não correspondente ao tipo especificado |
400 | Valor de cashout abaixo do mínimo permitido |
Webhook de Cashout
Este webhook é disparado sempre que um cashout muda de status. Use-o para acompanhar em tempo real a aprovação ou falha de um saque solicitado.
Possíveis Status
approved
– Cashout aprovadopending
– Cashout pendenteprocessing
– Cashout em processamentofailed
– Falha no processamentorejected
– Cashout rejeitado
Exemplo de Payload
{ "id": "f2c5f6e7-f710-437f-ad8c-44022316123ed", "external_id": "sua_referencia_123456789", "status": "approved", "total_amount": 1.2, "pix_key": "000000000000" }