Introdução
Seja Bem Vindo a API do Sants Pay.
Todas as APIs do Sants Pay foram desenvolvidas com base na tecnologia REST, seguindo os padrões técnicos atuais do mercado.
Tudo isso para que a experiência na hora da integração seja a mais fácil possível.
Todas as URLs são amigáveis e orientadas a recursos e usam padrões de protocolo HTTP, como autenticação, verbos e códigos de retorno.
Isso permite que APIs sejam usadas por clientes HTTP existentes.
Todas as respostas são retornadas no formato JSON.
Como pode ser visto a seguir, as APIs foram cuidadosamente elaboradas para que os termos de negócio contidos sejam facilmente compreendidos por desenvolvedores que não possuem conhecimento prévio do sistema.
Eles foram meticulosamente estudados para que o nome de um campo em um endpoint tenha exatamente o mesmo significado em outros recursos.
IP do SERVIDOR
216.238.119.113
Endpoint Produção
https://api.santspay.com
Primeiros Passos:
- Obter uma conta no Sants Pay, caso ainda não tenha cadastro: Clique Aqui
- Com a conta aberta e aprovada, você receberá as credenciais de sua conta
- Com as credenciais em mãos, você deverá iniciar os passos.
- 1 - Criar seu Token Auth
- 2 - Enviar os IPs para adicionarmos na lista de permissões.
- 3 - Enviar as requisições via JSON.
- 4 - URL do webhook é enviado junto com as requisições.
Gerando Token Auth
Para criar seu token de autorização você deve seguir:
APIKey:SecretKey criptografado por base64 = Basic XXXXXXXXXXX
APIKEY e SecretKey você receberá em seu email cadastrado após a aprovação da conta.
A autorização do token expira em 24 horas.
Auth Request
curl --location --request POST 'https://api.santspay.com/Auth'
--header 'Content-Type: application/json'
--header 'Authorization: Basic XXXXXXXXXXXXXX'
--data-raw '{
"api_key": "XXXXXXXXXXXXXXXXXXX"
}'
Resposta
{
"authorization": "XXXXXXXXXXXXXXXXXXXXXXXXXXX",
"expire": "1701162220",
"status": "200"
}
Adicionando IP na Lista de Permissões
Para fazer qualquer requisição de transação, você deve cadastrar o ip de seu servidor, que será adicionado a lista de ips permitidos para sua conta.
Os ips enviados devem ser no modelo IPV4 e deve ser enviado no formato correto com os pontos:
Requisição
curl --location --request POST 'https://api.santspay.com/AddIP'
--header 'Content-Type: application/json'
--header 'Authorization: Bearer XXXXXXXXXXXXXX'
--data-raw '{
"ip": "216.238.119.113"
}'
Resposta
{
"message": "success",
"status": "200"
}
TED (Payout)
Enviando uma transferência via TED.
Para enviar um pagamento via TED siga a documentação apresentada abaixo:
Requisição
curl --location --request POST 'https://api.santspay.com/ted/Send'
--header 'Content-Type: application/json'
--header 'Authorization: Bearer XXXXXXXXXXXXXX'
--data-raw '{
"value": 25.65,
"payer_name": "John Doe",
"payer_doc": "62799354505",
"payer_doc_type": "cpf", //cpf or cnpj
"bank_code": "123456",
"agency": "Sants Bank",
"account": "Sants Bank",
"description": "deposit", // text free
"url_notify": "https://webhook.site/61e7d93f-c2a4-4f8f-aa25-25466cdb8a14",
"order_id": "ea3876af-d825-47ad-b419-5a19873f15df"
}'
Resposta
{
"message": "success",
"status": "200"
}
Pix Cash-In
Pix Cash-In é para o recebimento de pagamentos por código copia e cola ou imagem do QRCODE, nesta função o usuário pagador terá um prazo limite de 20 minutos para efetuar o pagamento.
Siga a documentação apresentada abaixo:
Requisição
curl --location --request POST 'https://api.santspay.com/pix/Cashin'
--header 'Content-Type: application/json'
--header 'Authorization: Bearer XXXXXXXXXXXXXX'
--data-raw '{
"value": 25.65,
"payer_name": "John Doe",
"payer_doc": "62799354505",
"payer_doc_type": "cpf", //cpf or cnpj
"expiration_time": 86400, //seconds
"description": "deposit", // text free
"url_notify": "https://webhook.site/61e7d93f-c2a4-4f8f-aa25-25466cdb8a14",
"order_id": "ea3876af-d825-47ad-b419-5a19873f15df"
}'
Resposta
{
"id": "xxxxx",
"order_id": "xxxxx",
"due_date": "xxxxx",
"copypaste": "xxxxxxxxxxxxxxxxxx",
"qrcode": "xxxxxxxxxxxx",
"value": "25.65",
"message": "success",
"status": "200"
}
Status Pix Cash-In
Você poderá buscar um status final de um Pix Cashin.
Siga a documentação apresentada abaixo:
Requisição
curl --location --request POST 'https://api.santspay.com/pix/StatusCashin'
--header 'Content-Type: application/json'
--header 'Authorization: Bearer XXXXXXXXXXXXXX'
--data-raw '{
"order_id": "ea3876af-d825-47ad-b419-5a19873f15df"
}'
Resposta
{
"type": "Pix Cash-in",
"order_id": "ea3876af-d825-47ad-b419-5a19873f15df",
"message": "paid",
"status": "200"
}
Message/Status: pending(100), paid(200), canceled(300), denied(400).
Pix Cash-Out
Pix Cash-Out é para o envio de pagamentos por uma pessoa física ou empresa, através de uma chave pix.
Siga a documentação apresentada abaixo:
Requisição
curl --location --request POST 'https://api.santspay.com/pix/Cashout'
--header 'Content-Type: application/json'
--header 'Authorization: Bearer XXXXXXXXXXXXXX'
--data-raw '{
"value": 25.65,
"name": "John Doe",
"tax_id": "62799354505",
"pix_key": "62799354505",
"pix_type": "TAX_ID", //TAX_ID(CPF or CNPJ), EMAIL, PHONE, EVP(Random Key)
"description": "deposit", // text free
"url_notify": "https://webhook.site/61e7d93f-c2a4-4f8f-aa25-25466cdb8a14",
"order_id": "ea3876af-d825-47ad-b419-5a19873f15df"
}'
Resposta
{
"type": "Pix Cash-out",
"value": "25.65",
"currency": "BRL",
"pix_key": "62799354505",
"pix_type": "TAX_ID",
"order_id": "ea3876af-d825-47ad-b419-5a19873f15df",
"message": "success",
"status": "200"
}
Status Pix Cash-out
Você poderá buscar um status final de um Pix Cashout.
Siga a documentação apresentada abaixo:
Requisição
curl --location --request POST 'https://api.santspay.com/pix/StatusCashout'
--header 'Content-Type: application/json'
--header 'Authorization: Bearer XXXXXXXXXXXXXX'
--data-raw '{
"order_id": "ea3876af-d825-47ad-b419-5a19873f15df"
}'
Resposta
{
"type": "Pix Cash-out",
"sender": "Bank Sender",
"bank": "Bank Receiver",
"agency": "000",
"account": "000",
"name": "John Doe",
"tax_id": "62799354505",
"pix_key": "62799354505",
"pix_type": "TAX_ID",
"order_id": "ea3876af-d825-47ad-b419-5a19873f15df",
"value": "25.65",
"message": "complete",
"status": "200"
}
Message/Status: pending(100), complete(200), canceled(300), denied(400), proccessing(500).
PixBoleto
PixBoleto é um pix de cobrança no formato de boleto, atendendo os mesmos layouts de boleto, porém com a facilidade de pagamento e baixa instantânea.
Siga a documentação apresentada abaixo:
Requisição
curl -X POST \
https://api.santspay.com/pixboleto/Payment \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer XXXXXXXXXXXXXX' \
-d '{
"value": 25.65,
"payer_name": "John Doe",
"payer_doc": "62799354505",
"payer_doc_type": "cpf", //cpf or cnpj
"expiration_date": "2024-07-16", //yyyy-mm-dd
"description": "deposit", // text free
"url_notify": "https://webhook.site/61e7d93f-c2a4-4f8f-aa25-25466cdb8a14",
"order_id": "ea3876af-d825-47ad-b419-5a19873f15df"
}'
Resposta
{
"txid": "xxxxxxxxxxx",
"order_id": "ea3876af-d825-47ad-b419-5a19873f15df",
"boleto_url": "https://api.santspay.com/pixboleto/Boleto?token=XXXXXXXXX",
"value": "25.65",
"message": "success",
"status": "200"
}
PicPay (PayIn)
PicPay é para cobranças via picpay.
Siga a documentação apresentada abaixo:
Requisição
curl --location --request POST 'https://api.santspay.com/picpay/Cashin'
--header 'Content-Type: application/json'
--header 'Authorization: Bearer XXXXXXXXXXXXXX'
--data-raw '{
"value": 25.65,
"payer_name": "John Doe",
"payer_doc": "62799354505",
"payer_email": "[email protected]",
"payer_phone": "11922334411",
"description": "deposit", // text free
"url_notify": "https://webhook.site/61e7d93f-c2a4-4f8f-aa25-25466cdb8a14",
"order_id": "ea3876af-d825-47ad-b419-5a19873f15df"
}'
Resposta
{
"id": "XXXXX",
"order_id": "ea3876af-d825-47ad-b419-5a19873f15df",
"payment_url": "https://app.picpay.com/checkout/NWFmMGRjNmViZDc0Y2EwMsdfrgtZlYzEw",
"qrcode": "XXXXXXXXXXXXXX",
"value": "25.65",
"message": "success",
"status": "200"
}
Criptomoedas (PayIn)
Cobranças via Criptomoedas.
Siga a documentação apresentada abaixo:
Requisição
curl --location --request POST 'https://api.santspay.com/cripto/Payment'
--header 'Content-Type: application/json'
--header 'Authorization: Bearer XXXXXXXXXXXXXX'
--data-raw '{
"value": 25.65,
"coin": "USDT",
"description": "deposit", // text free
"url_notify": "https://webhook.site/61e7d93f-c2a4-4f8f-aa25-25466cdb8a14",
"order_id": "ea3876af-d825-47ad-b419-5a19873f15df"
}'
Resposta
{
"date": "YYYY-mm-dd H:i:s",
"order_id": "ea3876af-d825-47ad-b419-5a19873f15df",
"coin": "USDT",
"fiat": "BRL",
"amount_fiat": "26.65",
"amount_crypto": "5.09",
"wallet": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"qrcode": "XXXXXXXXXXXXXX",
"message": "success",
"status": "200"
}
Balance (Saldo)
Buscar Saldo da conta.
Para buscar o saldo atual da conta, siga a documentação apresentada abaixo:
Requisição
curl --location --request POST 'https://api.santspay.com/Balance'
--header 'Content-Type: application/json'
--header 'Authorization: Bearer XXXXXXXXXXXXXX'
--data-raw '{
"currency": "BRL"
}'
Resposta
{
"date": "YYYY-mm-dd H:i:s",
"balance": "12.55",
"currency": "BRL",
"message": "success",
"status": "200"
}
Webhook
URL de notificação de retorno da transação realizada.
Nesta URL enviaremos um POST por JSON para URL apontada nas requisições que possuem o campo: "url_notify".
Notificação
{
"date": "2024-06-11 10:55:11",
"currency": "BRL",
"order_id": "123456",
"type": "Pix Cash-in",
"value": "26.32",
"message": "success",
"status": "200"
}