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
216.238.108.63
34.95.177.154
35.247.216.72
35.199.108.189



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 365 dias.

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"
}

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://apiv2.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":"ea3876af-d825-47ad-b419-5a19873f15df",
"due_date":"Y-m-d H:i:s", // -3h GMT
"copypaste":"xxxxxxxxxxxxx",
"qrcode":"xxxxxxxxxxxxx",
"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"
}

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"
}