curl -X PUT "https://api.pix.basspago.com.br/pix/E12345678202607211307a1b2c3d4e5f/devolucao/dev-90210-01" \
--cert ./client.crt \
--key ./client.key \
--pass "SUA_SENHA_DO_CERTIFICADO" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {access_token}" \
-d '{
"valor": "49.90",
"natureza": "ORIGINAL",
"descricao": "Devolução solicitada pelo cliente"
}'
<?php
$e2eid = 'E12345678202607211307a1b2c3d4e5f';
$id = 'dev-90210-01';
$ch = curl_init("https://api.pix.basspago.com.br/pix/{$e2eid}/devolucao/{$id}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_SSLCERT => './client.crt',
CURLOPT_SSLKEY => './client.key',
CURLOPT_KEYPASSWD => 'SUA_SENHA_DO_CERTIFICADO',
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Authorization: Bearer {access_token}',
],
CURLOPT_POSTFIELDS => json_encode([
'valor' => '49.90',
'natureza' => 'ORIGINAL',
'descricao' => 'Devolução solicitada pelo cliente',
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
import fs from "node:fs";
import https from "node:https";
import axios from "axios";
const agent = new https.Agent({
cert: fs.readFileSync("./client.crt"),
key: fs.readFileSync("./client.key"),
passphrase: "SUA_SENHA_DO_CERTIFICADO",
});
const e2eid = "E12345678202607211307a1b2c3d4e5f";
const id = "dev-90210-01";
const { data } = await axios.put(
`https://api.pix.basspago.com.br/pix/${e2eid}/devolucao/${id}`,
{
valor: "49.90",
natureza: "ORIGINAL",
descricao: "Devolução solicitada pelo cliente",
},
{
httpsAgent: agent,
headers: { Authorization: "Bearer {access_token}" },
}
);
console.log(data);
{
"id": "dev-90210-01",
"rtrId": "D12345678202607211100f6e5d4c3b2a",
"valor": "49.90",
"horario": {
"solicitacao": "2026-07-21T11:00:00.000Z"
},
"status": "EM_PROCESSAMENTO",
"natureza": "ORIGINAL",
"descricao": "Devolução solicitada pelo cliente"
}
Transações
Solicitar reembolso
Solicite a devolução total ou parcial de uma transação Pix paga.
PUT
/
pix
/
{e2eid}
/
devolucao
/
{id}
curl -X PUT "https://api.pix.basspago.com.br/pix/E12345678202607211307a1b2c3d4e5f/devolucao/dev-90210-01" \
--cert ./client.crt \
--key ./client.key \
--pass "SUA_SENHA_DO_CERTIFICADO" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {access_token}" \
-d '{
"valor": "49.90",
"natureza": "ORIGINAL",
"descricao": "Devolução solicitada pelo cliente"
}'
<?php
$e2eid = 'E12345678202607211307a1b2c3d4e5f';
$id = 'dev-90210-01';
$ch = curl_init("https://api.pix.basspago.com.br/pix/{$e2eid}/devolucao/{$id}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_SSLCERT => './client.crt',
CURLOPT_SSLKEY => './client.key',
CURLOPT_KEYPASSWD => 'SUA_SENHA_DO_CERTIFICADO',
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Authorization: Bearer {access_token}',
],
CURLOPT_POSTFIELDS => json_encode([
'valor' => '49.90',
'natureza' => 'ORIGINAL',
'descricao' => 'Devolução solicitada pelo cliente',
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
import fs from "node:fs";
import https from "node:https";
import axios from "axios";
const agent = new https.Agent({
cert: fs.readFileSync("./client.crt"),
key: fs.readFileSync("./client.key"),
passphrase: "SUA_SENHA_DO_CERTIFICADO",
});
const e2eid = "E12345678202607211307a1b2c3d4e5f";
const id = "dev-90210-01";
const { data } = await axios.put(
`https://api.pix.basspago.com.br/pix/${e2eid}/devolucao/${id}`,
{
valor: "49.90",
natureza: "ORIGINAL",
descricao: "Devolução solicitada pelo cliente",
},
{
httpsAgent: agent,
headers: { Authorization: "Bearer {access_token}" },
}
);
console.log(data);
{
"id": "dev-90210-01",
"rtrId": "D12345678202607211100f6e5d4c3b2a",
"valor": "49.90",
"horario": {
"solicitacao": "2026-07-21T11:00:00.000Z"
},
"status": "EM_PROCESSAMENTO",
"natureza": "ORIGINAL",
"descricao": "Devolução solicitada pelo cliente"
}
Essa rota utiliza os certificados e o Bearer Token de Cash In.
O prazo máximo para reembolsos de transações é de 90 dias após a data de pagamento.
Certificados
Esta rota usa autenticação mútua (mTLS). Envie o certificado de Cash In, a chave e a senha na requisição:file
required
Certificado de Cash In do cliente (
client.crt).file
required
Chave privada do cliente (
client.key).string
required
Senha para descriptografar a chave
.key, enviada por e-mail junto com os certificados.Headers
string
required
Formato do corpo da requisição. Use
application/json.string
required
Bearer Token de Cash In. Formato:
Bearer {access_token}.Path
string
required
E2E da transação paga sobre a qual será feita a devolução.
string
required
ID único da devolução, gerado por você. Deve ser único por E2E.
Body
string
required
Valor a ser reembolsado. Pode ser parcial. Exemplo:
"50.00".string
Natureza da devolução.
ORIGINAL representa Devolução Padrão. RETIRADA representa devolução por Pix Saque ou Troco.string
Motivo da devolução.
Resposta
string
ID da devolução informado por você na requisição.
string
Identificador da devolução gerado pelo SPI.
string
Valor reembolsado.
object
Datas da devolução (
solicitacao).string
Status da devolução. Exemplos:
EM_PROCESSAMENTO, DEVOLVIDO, NAO_REALIZADO.string
Natureza da devolução aplicada.
string
Motivo da devolução.
curl -X PUT "https://api.pix.basspago.com.br/pix/E12345678202607211307a1b2c3d4e5f/devolucao/dev-90210-01" \
--cert ./client.crt \
--key ./client.key \
--pass "SUA_SENHA_DO_CERTIFICADO" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {access_token}" \
-d '{
"valor": "49.90",
"natureza": "ORIGINAL",
"descricao": "Devolução solicitada pelo cliente"
}'
<?php
$e2eid = 'E12345678202607211307a1b2c3d4e5f';
$id = 'dev-90210-01';
$ch = curl_init("https://api.pix.basspago.com.br/pix/{$e2eid}/devolucao/{$id}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_SSLCERT => './client.crt',
CURLOPT_SSLKEY => './client.key',
CURLOPT_KEYPASSWD => 'SUA_SENHA_DO_CERTIFICADO',
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Authorization: Bearer {access_token}',
],
CURLOPT_POSTFIELDS => json_encode([
'valor' => '49.90',
'natureza' => 'ORIGINAL',
'descricao' => 'Devolução solicitada pelo cliente',
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
import fs from "node:fs";
import https from "node:https";
import axios from "axios";
const agent = new https.Agent({
cert: fs.readFileSync("./client.crt"),
key: fs.readFileSync("./client.key"),
passphrase: "SUA_SENHA_DO_CERTIFICADO",
});
const e2eid = "E12345678202607211307a1b2c3d4e5f";
const id = "dev-90210-01";
const { data } = await axios.put(
`https://api.pix.basspago.com.br/pix/${e2eid}/devolucao/${id}`,
{
valor: "49.90",
natureza: "ORIGINAL",
descricao: "Devolução solicitada pelo cliente",
},
{
httpsAgent: agent,
headers: { Authorization: "Bearer {access_token}" },
}
);
console.log(data);
{
"id": "dev-90210-01",
"rtrId": "D12345678202607211100f6e5d4c3b2a",
"valor": "49.90",
"horario": {
"solicitacao": "2026-07-21T11:00:00.000Z"
},
"status": "EM_PROCESSAMENTO",
"natureza": "ORIGINAL",
"descricao": "Devolução solicitada pelo cliente"
}