curl --request GET \
--url https://api.cakto.com.br/public_api/fees/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.cakto.com.br/public_api/fees/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.cakto.com.br/public_api/fees/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cakto.com.br/public_api/fees/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.cakto.com.br/public_api/fees/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.get("https://api.cakto.com.br/public_api/fees/")
.header("Authorization", "Bearer <token>")
.asString();using RestSharp;
var options = new RestClientOptions("https://api.cakto.com.br/public_api/fees/");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
{
"paymentMethods": [
{
"paymentMethod": "pix",
"percentage": 0,
"fixed": 2.49,
"releaseDays": 1
},
{
"paymentMethod": "pix_auto",
"percentage": 8.99,
"fixed": 2.49,
"releaseDays": 7
},
{
"paymentMethod": "boleto",
"percentage": 3.99,
"fixed": 2.49,
"releaseDays": 2
},
{
"paymentMethod": "credit_card",
"percentage": 4.99,
"fixed": 2.49,
"releaseDays": 15
},
{
"paymentMethod": "threeDs",
"percentage": 4.99,
"fixed": 2.49,
"releaseDays": 15
},
{
"paymentMethod": "picpay",
"percentage": 4.99,
"fixed": 2.49,
"releaseDays": 15
},
{
"paymentMethod": "pagaleve",
"percentage": 4.99,
"fixed": 2.49,
"releaseDays": 15
},
{
"paymentMethod": "googlepay",
"percentage": 4.99,
"fixed": 2.49,
"releaseDays": 15
},
{
"paymentMethod": "applepay",
"percentage": 4.99,
"fixed": 2.49,
"releaseDays": 15
},
{
"paymentMethod": "openfinance_nubank",
"percentage": null,
"fixed": null,
"releaseDays": null
}
],
"creditCardInstallments": [
{
"installments": 1,
"interestPercentage": 0
},
{
"installments": 2,
"interestPercentage": 2.99
},
{
"installments": 3,
"interestPercentage": 4.49
},
{
"installments": 4,
"interestPercentage": 5.99
},
{
"installments": 5,
"interestPercentage": 7.49
},
{
"installments": 6,
"interestPercentage": 8.99
},
{
"installments": 7,
"interestPercentage": 10.49
},
{
"installments": 8,
"interestPercentage": 11.99
},
{
"installments": 9,
"interestPercentage": 13.49
},
{
"installments": 10,
"interestPercentage": 14.99
},
{
"installments": 11,
"interestPercentage": 16.49
},
{
"installments": 12,
"interestPercentage": 17.99
},
{
"installments": 13,
"interestPercentage": 18.49
},
{
"installments": 14,
"interestPercentage": 19.49
},
{
"installments": 15,
"interestPercentage": 20.49
},
{
"installments": 16,
"interestPercentage": 20.99
},
{
"installments": 17,
"interestPercentage": 21.24
},
{
"installments": 18,
"interestPercentage": 21.5
}
]
}{
"detail": "As credenciais de autenticação não foram fornecidas."
}{
"detail": "Você não tem permissão para executar esta ação."
}{
"detail": "Conta ainda não habilitada para recebimento. Conclua o cadastro no painel da Cakto para que a tabela de taxas e prazos exista."
}{
"detail": "Não foi possível consultar as taxas agora. Tente novamente em instantes."
}Taxas e Prazos
Consulte as taxas e os prazos de recebimento vigentes da sua conta, por método de pagamento, e a tabela de juros do parcelamento no cartão. É a mesma informação da tela Taxas e Prazos do painel.
curl --request GET \
--url https://api.cakto.com.br/public_api/fees/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.cakto.com.br/public_api/fees/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.cakto.com.br/public_api/fees/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cakto.com.br/public_api/fees/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.cakto.com.br/public_api/fees/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.get("https://api.cakto.com.br/public_api/fees/")
.header("Authorization", "Bearer <token>")
.asString();using RestSharp;
var options = new RestClientOptions("https://api.cakto.com.br/public_api/fees/");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
{
"paymentMethods": [
{
"paymentMethod": "pix",
"percentage": 0,
"fixed": 2.49,
"releaseDays": 1
},
{
"paymentMethod": "pix_auto",
"percentage": 8.99,
"fixed": 2.49,
"releaseDays": 7
},
{
"paymentMethod": "boleto",
"percentage": 3.99,
"fixed": 2.49,
"releaseDays": 2
},
{
"paymentMethod": "credit_card",
"percentage": 4.99,
"fixed": 2.49,
"releaseDays": 15
},
{
"paymentMethod": "threeDs",
"percentage": 4.99,
"fixed": 2.49,
"releaseDays": 15
},
{
"paymentMethod": "picpay",
"percentage": 4.99,
"fixed": 2.49,
"releaseDays": 15
},
{
"paymentMethod": "pagaleve",
"percentage": 4.99,
"fixed": 2.49,
"releaseDays": 15
},
{
"paymentMethod": "googlepay",
"percentage": 4.99,
"fixed": 2.49,
"releaseDays": 15
},
{
"paymentMethod": "applepay",
"percentage": 4.99,
"fixed": 2.49,
"releaseDays": 15
},
{
"paymentMethod": "openfinance_nubank",
"percentage": null,
"fixed": null,
"releaseDays": null
}
],
"creditCardInstallments": [
{
"installments": 1,
"interestPercentage": 0
},
{
"installments": 2,
"interestPercentage": 2.99
},
{
"installments": 3,
"interestPercentage": 4.49
},
{
"installments": 4,
"interestPercentage": 5.99
},
{
"installments": 5,
"interestPercentage": 7.49
},
{
"installments": 6,
"interestPercentage": 8.99
},
{
"installments": 7,
"interestPercentage": 10.49
},
{
"installments": 8,
"interestPercentage": 11.99
},
{
"installments": 9,
"interestPercentage": 13.49
},
{
"installments": 10,
"interestPercentage": 14.99
},
{
"installments": 11,
"interestPercentage": 16.49
},
{
"installments": 12,
"interestPercentage": 17.99
},
{
"installments": 13,
"interestPercentage": 18.49
},
{
"installments": 14,
"interestPercentage": 19.49
},
{
"installments": 15,
"interestPercentage": 20.49
},
{
"installments": 16,
"interestPercentage": 20.99
},
{
"installments": 17,
"interestPercentage": 21.24
},
{
"installments": 18,
"interestPercentage": 21.5
}
]
}{
"detail": "As credenciais de autenticação não foram fornecidas."
}{
"detail": "Você não tem permissão para executar esta ação."
}{
"detail": "Conta ainda não habilitada para recebimento. Conclua o cadastro no painel da Cakto para que a tabela de taxas e prazos exista."
}{
"detail": "Não foi possível consultar as taxas agora. Tente novamente em instantes."
}Escopo
read payments
O que é este endpoint?
É a versão consultável por API da tela Taxas e Prazos do painel. Para cada método de pagamento, ele devolve os três números que a tela mostra:- o percentual cobrado sobre a venda aprovada — o
4,99%da linha do cartão; - o valor fixo somado a ele — o
+ R$ 2,49 por venda aprovada; - o prazo de recebimento em dias — o selo
Recebimento: 15 dias.
Para que serve
Calcular o líquido antes de vender
Projetar o fluxo de caixa
Escolher o método a oferecer
Montar simulador de parcelamento
De onde vem cada número na tela
Os nomes na API são os mesmos que você já usa empaymentMethod de POST /public_api/payments/. Como o painel usa rótulos comerciais, esta é a correspondência:
| No painel | paymentMethod na API |
|---|---|
| Cartão | credit_card |
| Pix | pix |
| Pix Automático | pix_auto |
| Boleto | boleto |
| PicPay | picpay |
| Apple Pay | applepay |
| Google Pay | googlepay |
| Parcelamento no Pix | pagaleve |
| 3DS — exibido no painel em “Taxa para autenticação segura” | threeDs |
| Nubank via Open Finance — não aparece nessa tela | openfinance_nubank |
null — é o mesmo caso em que o painel escreve “Não configurado”. Pode iterar a lista sem medo de ela mudar de tamanho entre chamadas.A taxa que o comprador paga
Tudo empaymentMethods sai do seu repasse. customerFees é a exceção: são taxas que a Cakto cobra do comprador, somadas ao total que ele paga no checkout. Elas não reduzem o seu líquido.
Hoje há exatamente uma:
| Nome | Taxa de serviço |
| Valor | R$ 0,99 por pedido, fixo |
| Métodos | todos (paymentMethod: null) |
| No reembolso | volta para o comprador (refundable: true) |
customerFees no seu cálculo de líquido. O erro simétrico também custa dinheiro: se você monta a tela de preço para o comprador, o total dele é o valor do produto mais amount — quem esquece mostra um preço menor do que o cobrado.customerFees. Por isso leia a lista em vez de assumir os R$ 0,99: customerFees: [] é uma resposta válida e significa que nenhuma taxa é cobrada do seu comprador.Esta é também a razão de customerFees ser uma lista e não um campo fixo: a composição pode mudar sem quebrar quem já integra.Como ler os valores
percentage vem em pontos percentuais, não em fração
percentage vem em pontos percentuais, não em fração
4.99 significa 4,99%, e não 0,0499. Para aplicar sobre o valor da venda, divida por 100:taxa = valor * (percentage / 100) + fixed
0.0 do Pix é taxa percentual zero de verdade — a cobrança daquele método é só o valor fixed.null não é zero
null não é zero
null quer dizer “sem taxa vigente configurada para esse método na sua conta”, exatamente o “Não configurado” do painel. Tratar null como 0 faz sua conta de líquido dar um número que a Cakto nunca prometeu. Se um método que você usa aparece null, fale com o suporte.releaseDays é a configuração vigente, não a data de um pedido
releaseDays é a configuração vigente, não a data de um pedido
Recebimento: do painel: dias corridos, contados da criação do pedido, segundo o que está configurado hoje na sua conta.É uma projeção, não uma garantia por venda: a venda pode ser processada por outra adquirente, e antecipação altera o prazo. A data efetiva de cada pedido está em releaseDate, no próprio pedido — veja Obter Pedido.releaseDays: 0 é liberação no mesmo dia, o que o painel exibe como “Instantâneo”.creditCardInstallments é o juro da Cakto, não o seu
creditCardInstallments é o juro da Cakto, não o seu
interestPercentage é o juro-base que a Cakto cobra para aquele número de parcelas, também em pontos percentuais. installments: 1 costuma vir 0.0 — à vista não tem juro de parcelamento.Ele não inclui o juro adicional que você mesmo pode ter configurado para cobrar do comprador no parcelado. Esse é seu, vale de 2x a 12x e sai em Consultar Juro Adicional. São dois números somados na mesma parcela: para exibir o valor real ao comprador, some os dois; tratar este aqui como se já incluísse o seu erra a conta.Os valores são números JSON
Os valores são números JSON
percentage, fixed e interestPercentage chegam como número (2.49), não como string. Em linguagens onde isso importa, converta para decimal antes de fazer aritmética financeira, em vez de acumular em ponto flutuante.Resposta
Exemplo de resposta
{
"paymentMethods": [
{ "paymentMethod": "pix", "percentage": 0.0, "fixed": "2.49", "releaseDays": 1 },
{ "paymentMethod": "pix_auto", "percentage": 8.99, "fixed": "2.49", "releaseDays": 7 },
{ "paymentMethod": "boleto", "percentage": 3.99, "fixed": "2.49", "releaseDays": 2 },
{ "paymentMethod": "credit_card", "percentage": 4.99, "fixed": "2.49", "releaseDays": 15 },
{ "paymentMethod": "threeDs", "percentage": 4.99, "fixed": "2.49", "releaseDays": 15 },
{ "paymentMethod": "picpay", "percentage": 4.99, "fixed": "2.49", "releaseDays": 15 },
{ "paymentMethod": "pagaleve", "percentage": 4.99, "fixed": "2.49", "releaseDays": 15 },
{ "paymentMethod": "googlepay", "percentage": 4.99, "fixed": "2.49", "releaseDays": 15 },
{ "paymentMethod": "applepay", "percentage": 4.99, "fixed": "2.49", "releaseDays": 15 },
{ "paymentMethod": "openfinance_nubank", "percentage": null, "fixed": null, "releaseDays": null }
],
"creditCardInstallments": [
{ "installments": 1, "interestPercentage": 0.0 },
{ "installments": 2, "interestPercentage": 2.99 },
{ "installments": 3, "interestPercentage": 4.49 },
{ "installments": 18, "interestPercentage": 21.5 }
],
"customerFees": [
{
"name": "Taxa de serviço",
"amount": "0.99",
"percentage": 0,
"paymentMethod": null,
"refundable": true
}
]
}
creditCardInstallments foi encurtado no exemplo acima. Na resposta real ele traz as 18 linhas, de 1 a 18, sem buracos.Respostas de erro
| Código | Quando ocorre | Corpo de exemplo |
|---|---|---|
401 | Token ausente, inválido ou expirado. | { "detail": "As credenciais de autenticação não foram fornecidas." } |
403 | Chave de API sem o escopo payments. | { "detail": "Você não tem permissão para executar esta ação." } |
409 | Conta ainda sem cadastro de recebimento concluído. | { "detail": "Conta ainda não habilitada para recebimento. Conclua o cadastro no painel da Cakto para que a tabela de taxas e prazos exista." } |
429 | Limite de requisições excedido. Veja Limites de Requisição. | { "detail": "Request was throttled. Expected available in 42 seconds." } |
503 | Falha temporária ao consultar as taxas. | { "detail": "Não foi possível consultar as taxas agora. Tente novamente em instantes." } |
409 e 503 pedem reações opostas — não trate os dois como “deu erro, tenta de novo”.409 tem um único motivo nesta operação: a conta ainda não concluiu o cadastro de recebimento, então não existe tabela de taxas para responder. Repetir a chamada não resolve; quem resolve é o produtor, no Painel Cakto.503 é transitório: repita com backoff. Se persistir, é incidente do nosso lado — fale com o suporte.Exemplo de requisição
curl -X GET 'https://api.cakto.com.br/public_api/fees/' \
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsIn...'
import requests
response = requests.get(
"https://api.cakto.com.br/public_api/fees/",
headers={"Authorization": "Bearer eyJhbGciOiJIUzI1NiIsIn..."},
timeout=30,
)
response.raise_for_status()
fees = response.json()
por_metodo = {linha["paymentMethod"]: linha for linha in fees["paymentMethods"]}
cartao = por_metodo["credit_card"]
if cartao["percentage"] is None or cartao["fixed"] is None:
raise RuntimeError("Cartão sem taxa configurada nesta conta.")
bruto = 197.00
taxa = bruto * (cartao["percentage"] / 100) + cartao["fixed"]
print(f"Líquido: R$ {bruto - taxa:.2f} em {cartao['releaseDays']} dias")
const response = await fetch("https://api.cakto.com.br/public_api/fees/", {
headers: { Authorization: "Bearer eyJhbGciOiJIUzI1NiIsIn..." },
});
if (!response.ok) throw new Error(`Cakto API error ${response.status}`);
const fees = await response.json();
const cartao = fees.paymentMethods.find((linha) => linha.paymentMethod === "credit_card");
if (cartao.percentage === null || cartao.fixed === null) {
throw new Error("Cartão sem taxa configurada nesta conta.");
}
const bruto = 197.0;
const taxa = bruto * (cartao.percentage / 100) + cartao.fixed;
console.log(`Líquido: R$ ${(bruto - taxa).toFixed(2)} em ${cartao.releaseDays} dias`);
Boas práticas
- Consulte uma vez e guarde. Sua tabela de taxas muda raramente — normalmente só quando o plano ou o contrato muda. Chamar este endpoint a cada pedido gasta seu limite de requisições sem trazer informação nova. Guarde o resultado e atualize periodicamente.
- Trate
nullexplicitamente antes de qualquer conta, em vez de deixar a linguagem convertê-lo para zero em silêncio. - Não use
releaseDayspara prometer data ao cliente final. Para a data de um pedido específico, leiareleaseDateem Obter Pedido. - Não deduza a taxa a partir do valor recebido de uma venda antecipada. Antecipação tem custo próprio, que não sai neste endpoint; a conta não vai fechar.
Authorizations
Token de autenticação do tipo Bearer {access_token}, onde {access_token} é o token obtido no fluxo de autenticação.
Response
Taxas e prazos vigentes da conta autenticada, por método de pagamento.
Taxas e prazos por método de pagamento. A lista traz sempre todos os métodos suportados, na mesma ordem; método sem taxa configurada aparece com os três valores em null.
Show child attributes
Show child attributes
Juro-base da Cakto por número de parcelas no cartão, de 1x a 18x.
Show child attributes
Show child attributes
Taxas que a Cakto cobra do comprador nas vendas desta conta, somadas ao total que ele paga. Não saem do seu repasse. A lista reflete a sua conta: se a taxa foi transferida para você ou isentada, ela não aparece aqui. Pode vir vazia.
Show child attributes
Show child attributes
Was this page helpful?