Skip to main content
GET
Grade de parcelas

As duas perguntas

A rota responde nos dois sentidos, e você escolhe pelo parâmetro: A segunda existe para que você não precise refazer a nossa conta de taxa do seu lado: duas implementações da mesma conta divergem no dia em que a taxa mudar de forma.
E ela não é a taxa somada ao valor. Acrescentar 5,99% sobre R100,00daˊR 100,00 dá R 105,99 — e o que sobra de R105,99depoisdedescontadaataxaeˊR 105,99 depois de descontada a taxa é R 97,65, não cem. A conta certa é teto((líquido + fixo) / (1 − percentual)), e o arredondamento é sempre em desfavor da plataforma: você nunca recebe menos do que pediu.

Por que a grade vem por bandeira

Porque o preço muda com ela, e a bandeira só é conhecida quando o comprador digita os seis primeiros dígitos. Mostre a chave default antes disso: ela é o pior caso, então o preço nunca sobe depois de o comprador ver o primeiro número. Quando o vext.js devolver brand, troque para a chave daquela bandeira.

net_cents é igual em todas as linhas

E isso é a informação, não uma redundância: o juro do parcelamento é cobrado do comprador e sobe o total_cents, mas a taxa incide sobre o preço do produto. Oferecer 12x não lhe custa um centavo a mais que oferecer 1x. O modelo inteiro — sobre o que a taxa incide, o que é a antecipação e quando o dinheiro cai — está em Taxas e liquidação.

Quando não há grade

available: false, e unavailable_reason diz por quê. Trate por ele, nunca pela message. Os seis primeiros motivos são configuração, e cada um tem dono diferente: a plataforma, a conta que atende a sua loja, o interruptor da sua conta, o status do seu cadastro, a credencial e o seu contrato de taxa. amount_below_minimum é outra coisa — o cartão está de pé, o que não cabe é aquele valor.

Authorizations

Authorization
string
header
required

Chave secreta do vendedor, criada no painel em Desenvolvedores.

O valor em claro existe uma única vez, na criação. Guardamos só o hash SHA-256 - nem o suporte consegue recuperá-lo, o que é o ponto: um dump do nosso banco não permite cobrar em nome de ninguém.

A chave vai no servidor. Colocá-la no navegador do comprador a entrega a qualquer pessoa que abra a página.

Scopes

charges:read

Query Parameters

amount
integer

O valor a parcelar, em centavos inteiros - o preço do seu produto. Excludente com net_amount, e um dos dois é obrigatório: aceitar os dois deixaria para nós a escolha de qual honrar quando eles não combinassem.

Required range: x >= 1
net_amount
integer

Quanto você quer receber, em centavos inteiros. A resposta devolve em amount o preço de vitrine que produz esse líquido depois da taxa.

Não é a taxa somada ao valor: acrescentar 5,99% sobre R$ 100,00 dá R$ 105,99, e o que sobra de R$ 105,99 depois de descontada a taxa é R$ 97,65 - não cem. A conta certa é teto((líquido + fixo) / (1 − percentual)), e o arredondamento é sempre em desfavor da plataforma: você nunca recebe menos que pediu.

Excludente com amount.

Required range: x >= 1
max_installments
integer

O teto que você quer impor. O limite real é o menor entre ele, a escada por valor e a taxa da sua conta - um número maior aqui não amplia nada.

Required range: 1 <= x <= 12

Response

A grade, ou o motivo de não haver uma.

A grade de parcelamento para um valor, como o SEU SERVIDOR a recebe. Todo campo está sempre presente - message e unavailable_reason vêm null quando há grade, e matrix vem {} quando não há.

object
string
required
Allowed value: "installments"
amount
integer<int64> | null
required

O que o comprador paga à vista, em centavos inteiros - e o número que você manda em amount na criação da cobrança.

Consultado por amount, é ele de volta. Consultado por net_amount, é o preço de vitrine que produz o líquido pedido.

null só num caso: consulta por net_amount numa loja sem cartão. Converter um alvo líquido com a taxa de cartão de quem não vende no cartão daria um número que não vale para nada.

net_amount
integer<int64> | null
required

O que você recebe, em centavos inteiros: amount menos a taxa da sua conta. null quando não há grade.

Não muda com o número de parcelas. O juro do parcelamento é cobrado do comprador e sobe o total_cents, mas a taxa incide sobre o preço do produto - parcelar não lhe custa nada a mais.

platform_fee
integer<int64> | null
required

A taxa da sua conta sobre esta venda, em centavos inteiros - amount − net_amount. null quando não há grade.

available
boolean
required
unavailable_reason
enum<string> | null
required

Por que não há grade. Trate por ele, nunca pela message.

As seis primeiras são chaves de configuração, e cada uma tem dono diferente: a plataforma, a conta Pagar.me que atende a sua loja, o interruptor da sua conta, o status do seu cadastro, a credencial do provedor e o seu contrato de taxa. amount_below_minimum é outra coisa - o cartão está de pé, o que não cabe é este valor.

Available options:
platform_disabled,
gateway_account_disabled,
seller_disabled,
seller_cannot_transact,
no_credential,
fee_disabled,
amount_below_minimum,
null
message
string | null
required

A frase em português, para o seu log. Não é contrato.

brands
enum<string>[]
required

As bandeiras aceitas na sua conta, e lista vazia quando não há grade. São exatamente as chaves de matrix menos default: anunciar aqui uma bandeira que a matriz não precifica faria o seu seletor oferecer uma opção sem preço.

Available options:
visa,
mastercard,
elo,
hipercard,
amex,
diners,
discover,
aura
settlement
object | null
required

Quando o dinheiro cai, em dias, e null quando não há grade.

Em D+X e não numa data: a data depende do calendário de feriados bancários, que muda por ano e por praça, e uma data errada numa API de pagamento é pior que data nenhuma. A de verdade é a da Pagar.me, e só existe depois da venda.

matrix
object
required

Mapa de bandeira para lista de opções. Objeto vazio, nunca lista vazia, quando não há grade.