- Criar um link expresso com um único produto inline (compatível com o fluxo antigo).
- Criar um link com produtos do catálogo (
items[]) — vários produtos com quantidade. - Definir frete (
none,fixedoucheckout). - Sobrescrever o total via
priceOverride(ex.: aplicar um desconto).
Modelo do link
Cada link agora carrega três blocos novos no payload de criação e atualização:PaymentLinkItem
productId— ID de um produto ativo do catálogo do merchant.quantity— inteiro positivo (≥ 1).
Freight
Regras:
- Frete só é aceito em links físicos. Links digitais devem usar
mode: "none". fixedValueé obrigatório quandomode = "fixed".mode: "checkout"exige uma ferramenta de frete ativa no merchant (consulte a disponibilidade — veja Disponibilidade de frete).
priceOverride
Quando definido, substitui o subtotal calculado a partir dos itens. Útil para aplicar um desconto fixo, um valor promocional ou consolidar um valor combinado externamente.
O frete, quando houver, continua sendo somado ao priceOverride.
Criar um link com produtos
priceOverride (se houver) e persiste o frete escolhido.
Atualizar um link
PUT /v1/payment-links/:id aceita os mesmos blocos. Enviar items substitui a lista completa do link. Você pode enviar apenas freight ou apenas priceOverride para alterar somente esses campos.
Detalhar um link
GET /v1/payment-links/:id agora retorna os novos campos. Cada item vem com seu imageUrl assinado (URL temporária pronta para o checkout) e com o productType derivado do catálogo.
Disponibilidade de frete
Antes de oferecermode: "checkout" no formulário do link, consulte se o merchant tem uma ferramenta de frete ativa:
hasFreightTool é false, restrinja a UI ao modo fixed ou none até o merchant conectar uma ferramenta de frete.
Cobranças geradas pelo link
Ao gerar uma cobrança a partir de um link, a FastPay:- Calcula o subtotal a partir dos itens (preço × quantidade, lidos ao vivo do catálogo).
- Aplica
priceOverridese ele estiver definido — caso contrário, usa o subtotal. - Soma o frete (
fixed) ou recebe o valor cobrado no checkout (checkout). - Cria a cobrança com
freightAmountigual ao valor de frete aplicado.
freightAmount foi adicionado em POST /v1/charges (opcional, ≥ 0). Você só precisa enviá-lo manualmente quando estiver criando cobranças fora do fluxo nativo do link. Em cobranças geradas pelo próprio link, o valor é calculado pela FastPay.
Checkout do comprador
O checkout hospedado foi redesenhado para suportar o novo modelo:- O resumo do pedido mostra cada item (thumb + nome + quantidade + preço).
- Quando há frete, surge uma seção Subtotal · Frete · Total.
- O formulário de endereço de entrega aparece automaticamente em links físicos e fica oculto em digitais — o tipo é derivado dos
items[]. - O layout funciona tanto em desktop (resumo à esquerda) quanto em mobile (resumo expansível no topo).
items[] ou produto inline.
Próximos passos
- Veja como cadastrar e atualizar produtos em Produtos.
- Consulte os schemas detalhados em API Reference.