Disputas
Atualizar uma disputa
Atualiza uma dispute.
Atualiza um
Validações e limites de
Cada request com
dispute com merge: o que você manda em evidence e metadata é
combinado com o que já existe, campo a campo, sem apagar o resto. Esse mesmo
endpoint serve pra duas coisas — montar a defesa aos poucos (com
submit: false) e efetivamente enviá-la pra análise.
A defesa inteira vive nos campos nomeados de evidence. Campos de arquivo
recebem o ID de um file (file_*) enviado antes com
POST /v1/files e purpose=dispute_evidence — veja
Criar arquivo; campos de texto recebem
string livre. Pra limpar um campo — de texto ou de arquivo —, envie string
vazia (""). O catálogo completo dos 27 campos, com a descrição de cada um,
está na visão geral do dispute.
O que precisa estar pronto antes do envio funcionar
O envio (submit efetivo true) só é aceito se todas essas condições forem
verdadeiras:
- O dispute não pode já estar fechado (
statusdiferente dewon,lostewarning_closed). - O prazo em
evidence_details.due_byainda não pode ter passado — isso é checado contra o relógio no momento da chamada, não contra o valor já salvo emevidence_details.past_due. - Precisa haver pelo menos um campo de arquivo de
evidencepreenchido — considerando o merge deste próprio request. Só texto não é suficiente pro envio passar. - A defesa ainda não pode ter sido enviada
(
evidence_details.submission_countigual a0) — o envio é único e irreversível.
evidence é
aplicado, depois a defesa é enviada. Ou seja, um único request pode anexar o
último arquivo e já enviar. Quando o envio é aceito, o dispute passa para
under_review e evidence fica somente leitura.
Se o prazo termina com pelo menos um campo de arquivo preenchido e a defesa
não enviada, a Chargefy envia a defesa automaticamente por você — o
charge.dispute.updated reflete a mudança para under_review.Validações e limites de evidence
Cada request com evidence é validado na hora — você nunca descobre um
estouro só no fim:
- Chave desconhecida em
evidenceé recusada com400eparam: "evidence.<chave>". Só as 27 chaves do contrato existem. - Campo de arquivo precisa apontar pra um
fileexistente, da organização atuante, compurpose=dispute_evidencee não excluído. - O mesmo
file_*não pode ocupar dois campos da defesa — envie um upload por documento. - Limites somados dos arquivos preenchidos na defesa: até 10 páginas e
6,5 MB no total (PDF conta as páginas reais, medidas no upload; cada
imagem conta 1 página). O
400de estouro diz quanto ainda resta. - Limite somado dos campos de texto: até 150.000 caracteres no total.
string
obrigatório
ID do dispute (
dp_*).object
Campos nomeados da defesa. Faz merge por campo com o
evidence que já existe
— campos ausentes ficam como estão, campos enviados são sobrescritos e ""
limpa o campo. Campos de texto: access_activity_log, billing_address,
cancellation_policy_disclosure, cancellation_rebuttal,
customer_email_address, customer_name, customer_purchase_ip,
duplicate_charge_explanation, duplicate_charge_id, product_description,
refund_policy_disclosure, refund_refusal_explanation, service_date,
shipping_address, shipping_carrier, shipping_date,
shipping_tracking_number e uncategorized_text. Campos de arquivo (valor
file_* com purpose=dispute_evidence): cancellation_policy,
customer_communication, customer_signature,
duplicate_charge_documentation, receipt, refund_policy,
service_documentation, shipping_documentation e uncategorized_file. A
descrição de cada campo está na visão geral do
dispute.object
Pares chave-valor livres. Também faz merge com o
metadata existente.boolean
Se a defesa deve ser enviada pra análise nesta chamada. Quando o request
contém
evidence, o padrão é true — mande submit: false pra apenas
preparar a defesa sem enviar. Num request sem evidence, submit é ignorado
e nada é enviado. O envio só funciona com os requisitos acima satisfeitos;
quando aceito, o dispute passa para under_review. O envio é único e
irreversível.(a) Montar a defesa sem enviar
Anexe arquivos e preencha textos quantas vezes precisar, sempre comsubmit: false:
cURL
(b) Limpar um campo preenchido
String vazia limpa o campo — vale pra texto e pra arquivo:cURL
(c) Enviar a defesa
O request final pode completar os últimos campos e enviar na mesma chamada — comevidence presente, submit omitido já significa true:

