GET /v1/deliveries/{paymentId} é como
você lê esse conteúdo do seu lado, para reenviar por e-mail, mostrar numa tela de pedido ou
registrar no seu banco.
Amarrando o produto
A ligação é feita na criação da cobrança, pelo camposupplier. Ele funciona igual em
POST /v1/charges e em POST /v1/payments:
string
ID público do produto da loja, no formato
prod_xxx. Você pega no painel, no
produto. Não é o _id que aparece em GET /v1/store/products, e não é o productId de
produto de cobrança.integer
default:"0"
Qual variação, pela posição na lista:
0 é a primeira, 1 a segunda. Índice que não
existe devolve 400 dizendo quantas variações o produto tem.
Isso evita vender abaixo do custo por engano, que é um erro que só apareceria no
fechamento do mês.
Lendo o que foi entregue
psa_) quanto de cobrança (psc_).
Quando deliveredContent vem null
O pagamento ainda não foi confirmado
O pagamento ainda não foi confirmado
Enquanto o
status for pending, não existe entrega. Espere o webhook.O produto tem entrega manual
O produto tem entrega manual
Nesse caso o conteúdo não é gerado automaticamente, e não há nada para esta rota
devolver.
A cobrança não tinha produto vinculado
A cobrança não tinha produto vinculado
Sem
supplier na criação, não existe o que entregar. É só um valor.Esse é o caso mais comum de “criei tudo certo e deliveredContent vem null”: o
vínculo precisa ser feito na criação, não dá pra amarrar depois.200 com deliveredContent: null. 404 só
acontece quando o pagamento não existe ou não é da sua conta.
O conteúdo também chega no webhook
O eventopayment.paid traz deliveredContent quando há entrega automática. Se você já
processa o webhook, normalmente não precisa chamar esta rota.
Ela é útil em dois momentos: quando o cliente pede a chave de novo e você não quer guardar
o conteúdo no seu banco, e quando você está reconciliando um pagamento antigo cujo webhook
se perdeu.

