Campo a campo do objeto que toda rota de cobrança devolve — e que chega nos webhooks.
É o objeto central da API. Volta na criação, na consulta, na listagem e dentro de todo webhook de
cobrança — escrever o seu código contra ele uma vez resolve as quatro.
Todo campo desta lista está sempre presente. Os anuláveis vêm null, nunca ausentes. Marcar
como opcional o que nunca falta obrigaria você a testar a existência de uma chave que sempre
existe.Isso vale para pix, card e boleto também: numa cobrança de cartão os objetos pix e
boleto vêm com os membros nulos. O seu código lê charge.card.brand sem checar se card
existe.
payment_method diz qual dos três está preenchido. Os outros dois vêm com todos os membros null.
payment_method
O bloco com dados
O campo que o comprador usa
pix
pix
pix.qr_code — o copia-e-cola
credit_card
card
nenhum, já pagou
boleto
boleto
boleto.line — a linha digitável
No boleto, boleto.line nulo significa que o documento não existe. Quando o provedor recusa a
emissão, a cobrança nasce failed e não há o que pagar. Ver
Cobrança por boleto.
O que o comprador paga. No parcelado, já inclui o juro
card.interest
O juro do parcelamento, pago por ele. 0 no Pix e à vista
platform_fee
A nossa taxa, calculada sobre o preço do produto
net_amount
O que sobra para você
net_amount não é amount − platform_fee. Essa conta dá um número maior, e a diferença é o
juro: ele está dentro do amount porque o comprador o pagou, mas não é receita de ninguém aqui —
atravessa até o arranjo de pagamento.A identidade que fecha, e que o banco confere em toda cobrança:
No Pix e no cartão à vista o juro é zero, e aí amount − platform_fee fecha. É por isso que quem
integrou só Pix nunca tropeçou nisso.
E há uma assimetria entre o que entra e o que sai: no POST você manda o preço do produto, e aqui
volta o total. O preço do produto, de volta, é amount − card.interest. Ver
Taxas e liquidação.
authorized_at não é paid_at. A autorização reserva o limite no cartão; a captura é o que move
o dinheiro. Quem confirma a venda para o seu sistema continua sendo o webhook
charge.paid.
Os dez estados do status e as transições possíveis.
Taxas e liquidação
Como a taxa incide e quando o dinheiro cai.
Uma cobrança, como a API a devolve. Todo campo desta lista está
sempre presente - os anuláveis vêm com null, nunca ausentes.
Marcar como opcional o que nunca falta obrigaria você a testar a
existência de uma chave que sempre existe.
Nos webhooks há uma exceção documentada: veja ChargeMinimal.
Situação da cobrança. Só os estados de trânsito - pending,
processing e in_analysis - ainda mudam sozinhos; os demais são
terminais, exceto os que ainda admitem estorno.
processing e in_analysis são do cartão: a autorização é
decidida na mesma requisição, mas pode parar na análise de fraude
antes de virar paid ou failed. No PIX a cobrança vai direto de
pending para o desfecho.
partially_refunded é estado próprio, e não um refunded com
asterisco: tratar uma venda devolvida pela metade como estornada
faria seu relatório descontar o valor inteiro.
chargedback é definitivo: o dinheiro voltou pelo caminho da
bandeira, e nem cancelamento nem estorno são mais possíveis.
O meio pelo qual esta cobrança foi criada. Omitir o campo na
criação continua significando pix - é o que toda integração
que existe hoje espera, e mudar isso as quebraria todas de uma
vez.
Cuidado com a assimetria, porque ela é a pegadinha desta API: no
POST você manda o PREÇO DO PRODUTO, e aqui volta o TOTAL. No
Pix e no cartão à vista os dois são iguais; no cartão parcelado
este é maior, porque inclui o juro que o comprador pagou.
O preço do produto, de volta, é amount - interest.
Não é amount - platform_fee. Essa conta dá um número maior,
e a diferença é o JURO do parcelamento: ele está dentro do
amount porque o comprador o pagou, mas não é receita de
ninguém aqui - atravessa até o arranjo de pagamento.
A identidade que fecha, e que o banco confere em toda cobrança:
Presente em toda cobrança, inclusive nas de cartão - onde os
três campos vêm null. Um objeto sempre presente evita o
if (charge.pix) antes de cada leitura.
Presente em toda cobrança, inclusive nas de PIX - onde os campos
vêm null. Mesma regra do pix acima, e pelo mesmo motivo.
O que não está aqui, e não vai estar: os seis primeiros
dígitos, o código de retorno da adquirente e a nota do
antifraude. Os dois primeiros são diagnóstico nosso; a nota numa
resposta pública seria um oráculo de risco para quem testa
cartão em lote. O código de recusa sai numa recusa, em
error.details.decline_code, onde quem lê é o seu servidor.
Presente em toda cobrança, inclusive nas de PIX e de cartão -
onde os campos vêm null. Mesma regra do pix e do card, e
pelo mesmo motivo.
Boleto é oferecido apenas a lojas em conta de split na Pagar.me.
Numa loja fora desse arranjo, POST /v1/charges com
payment_method: boleto responde 422 com
boleto_not_available.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Vext","colors":{"primary":"#1A7A14","light":"#4FFC46","dark":"#14640F"},"logo":{"light":"https://mintcdn.com/vext/kcwCRAttQYaZqJCy/logo/light.svg?fit=max\u0026auto=format\u0026n=kcwCRAttQYaZqJCy\u0026q=85\u0026s=fb9b46dfbd546322b281376800e5d841","dark":"https://mintcdn.com/vext/kcwCRAttQYaZqJCy/logo/dark.svg?fit=max\u0026auto=format\u0026n=kcwCRAttQYaZqJCy\u0026q=85\u0026s=b5d7910037e70bdeaabd3c84a89ba3b8"},"favicon":"https://mintcdn.com/vext/OcFZC8TCCCNiFjKO/favicon.svg?fit=max\u0026auto=format\u0026n=OcFZC8TCCCNiFjKO\u0026q=85\u0026s=e0dfe4ab440758e15218c96ed34fe259","api":{"playground":{"display":"interactive"},"examples":{"defaults":"required","languages":["curl","php","javascript","python"]}},"appearance":{"default":"system"},"navbar":{"links":[{"href":"https://wa.me/5511936185272","label":"Suporte"}]},"footer":{"links":[{"header":"Documentação","items":[{"label":"Primeira cobrança","href":"/quickstart"},{"label":"Referência da API","href":"/api-reference/introducao"},{"label":"Webhooks","href":"/webhooks/visao-geral"}]},{"header":"Vext","items":[{"label":"Suporte","href":"https://wa.me/5511936185272"}]}]},"search":{"prompt":"Buscar na documentação da Vext"},"icons":{"library":"lucide"},"contextual":{"options":["copy","view","claude","chatgpt","mcp"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"vext","hasAudioNarration":false,"actualSubdomain":"vext","customDomains":["docs.usevext.com"],"gitSource":{"type":"github","owner":"brendooliveira","repo":"documentation","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae0ead2400e864d11faf0ec","clientVersion":"0.0.4117","searchFilterCounts":[{"language":"default","tag":"Referência da API","count":30},{"language":"default","tag":"Guias","count":26},{"language":"default","tag":"Cobranças","count":5},{"language":"default","tag":"Eventos de cobrança","count":5},{"language":"default","tag":"Convenções da API","count":5},{"language":"default","tag":"Cartão","count":5},{"language":"default","tag":"Depois da venda","count":5},{"language":"default","tag":"Cartões","count":4},{"language":"default","tag":"Objetos","count":4},{"language":"default","tag":"Cartão no navegador","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/objetos/cobranca","slug":"/api-reference/objetos/cobranca","pageMetadata":{"title":"Cobrança","description":"Campo a campo do objeto que toda rota de cobrança devolve — e que chega nos webhooks.","icon":"receipt","openapi-schema":"api-reference/openapi.yaml Charge","href":"/api-reference/objetos/cobranca"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Campo a campo do objeto que toda rota de cobrança devolve — e que chega nos webhooks.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Card,CardGroup,CodeBlock,Heading,Note,Table,Warning}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`É o objeto central da API. Volta na criação, na consulta, na listagem e `,_jsx(_components.strong,{children:`dentro de todo webhook de\ncobrança`}),` — escrever o seu código contra ele uma vez resolve as quatro.`]}),`\n`,_jsxs(Note,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Todo campo desta lista está sempre presente.`}),` Os anuláveis vêm `,_jsx(_components.code,{children:`null`}),`, nunca ausentes. Marcar\ncomo opcional o que nunca falta obrigaria você a testar a existência de uma chave que sempre\nexiste.`]}),_jsxs(_components.p,{children:[`Isso vale para `,_jsx(_components.code,{children:`pix`}),`, `,_jsx(_components.code,{children:`card`}),` e `,_jsx(_components.code,{children:`boleto`}),` também: numa cobrança de cartão os objetos `,_jsx(_components.code,{children:`pix`}),` e\n`,_jsx(_components.code,{children:`boleto`}),` vêm com os membros nulos. O seu código lê `,_jsx(_components.code,{children:`charge.card.brand`}),` sem checar se `,_jsx(_components.code,{children:`card`}),`\nexiste.`]})]}),`\n`,_jsx(Heading,{level:`2`,id:`qual-bloco-ler`,children:`Qual bloco ler`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`payment_method`}),` diz qual dos três está preenchido. Os outros dois vêm com todos os membros `,_jsx(_components.code,{children:`null`}),`.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:_jsx(_components.code,{children:`payment_method`})}),_jsx(_components.th,{children:`O bloco com dados`}),_jsx(_components.th,{children:`O campo que o comprador usa`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`pix`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`pix`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`pix.qr_code`}),` — o copia-e-cola`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`credit_card`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`card`})}),_jsx(_components.td,{children:`nenhum, já pagou`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`boleto`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boleto`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`boleto.line`}),` — a linha digitável`]})]})]})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsxs(_components.strong,{children:[`No boleto, `,_jsx(_components.code,{children:`boleto.line`}),` nulo significa que o documento não existe.`]}),` Quando o provedor recusa a\nemissão, a cobrança nasce `,_jsx(_components.code,{children:`failed`}),` e não há o que pagar. Ver\n`,_jsx(_components.a,{href:`/essenciais/boleto`,children:`Cobrança por boleto`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`o-que-não-está-aqui`,children:`O que NÃO está aqui`}),`\n`,_jsx(_components.p,{children:`E não vai estar, de propósito:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Os seis primeiros dígitos do cartão`}),` (o BIN). Somados aos quatro últimos, são material de\ncorrelação que você não precisa.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`O código de retorno da adquirente.`}),` Ele sai numa recusa, em `,_jsx(_components.code,{children:`error.details.decline_code`}),`, onde\nquem lê é o seu servidor.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`A nota do antifraude.`}),` Numa resposta pública ela seria um oráculo de risco para quem testa\ncartão em lote.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`As referências da Pagar.me.`}),` O `,_jsx(_components.code,{children:`id`}),` (`,_jsx(_components.code,{children:`ch_…`}),`) é o nosso, e é o único que você precisa.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`os-quatro-valores-e-a-pegadinha-entre-eles`,children:`Os quatro valores, e a pegadinha entre eles`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Campo`}),_jsx(_components.th,{children:`O que é`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`amount`})}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`O que o comprador paga.`}),` No parcelado, já inclui o juro`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`card.interest`})}),_jsxs(_components.td,{children:[`O juro do parcelamento, pago por ele. `,_jsx(_components.code,{children:`0`}),` no Pix e à vista`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`platform_fee`})}),_jsxs(_components.td,{children:[`A nossa taxa, calculada sobre o `,_jsx(_components.strong,{children:`preço do produto`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`net_amount`})}),_jsx(_components.td,{children:`O que sobra para você`})]})]})]}),`\n`,_jsxs(Warning,{children:[_jsxs(_components.p,{children:[_jsxs(_components.strong,{children:[_jsx(_components.code,{children:`net_amount`}),` não é `,_jsx(_components.code,{children:`amount − platform_fee`}),`.`]}),` Essa conta dá um número maior, e a diferença é o\njuro: ele está dentro do `,_jsx(_components.code,{children:`amount`}),` porque o comprador o pagou, mas não é receita de ninguém aqui —\natravessa até o arranjo de pagamento.`]}),_jsx(_components.p,{children:`A identidade que fecha, e que o banco confere em toda cobrança:`}),_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`amount = net_amount + platform_fee + interest + co-produção`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsxs(_components.p,{children:[`No Pix e no cartão à vista o juro é zero, e aí `,_jsx(_components.code,{children:`amount − platform_fee`}),` fecha. É por isso que quem\nintegrou só Pix nunca tropeçou nisso.`]})]}),`\n`,_jsxs(_components.p,{children:[`E há uma assimetria entre o que entra e o que sai: `,_jsxs(_components.strong,{children:[`no `,_jsx(_components.code,{children:`POST`}),` você manda o preço do produto`]}),`, e aqui\nvolta o total. O preço do produto, de volta, é `,_jsx(_components.code,{children:`amount − card.interest`}),`. Ver\n`,_jsx(_components.a,{href:`/essenciais/taxas-e-liquidacao`,children:`Taxas e liquidação`}),`.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`authorized_at`}),` não é `,_jsx(_components.code,{children:`paid_at`}),`. A autorização reserva o limite no cartão; a captura é o que move\no dinheiro. Quem confirma a venda para o seu sistema continua sendo o webhook\n`,_jsx(_components.a,{href:`/api-reference/webhooks/charge-paid`,children:_jsx(_components.code,{children:`charge.paid`})}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`veja-também`,children:`Veja também`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Ciclo de vida`,icon:`workflow`,href:`/essenciais/ciclo-de-vida-da-cobranca`,children:_jsxs(_components.p,{children:[`Os dez estados do `,_jsx(_components.code,{children:`status`}),` e as transições possíveis.`]})}),_jsx(Card,{title:`Taxas e liquidação`,icon:`percent`,href:`/essenciais/taxas-e-liquidacao`,children:_jsx(_components.p,{children:`Como a taxa incide e quando o dinheiro cai.`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Cobrança","description":"Campo a campo do objeto que toda rota de cobrança devolve — e que chega nos webhooks.","icon":"receipt","openapi-schema":"api-reference/openapi.yaml Charge","href":"/api-reference/objetos/cobranca"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Qual bloco ler","slug":"qual-bloco-ler","depth":2,"children":[]},{"title":"O que NÃO está aqui","slug":"o-que-não-está-aqui","depth":2,"children":[]},{"title":"Os quatro valores, e a pegadinha entre eles","slug":"os-quatro-valores-e-a-pegadinha-entre-eles","depth":2,"children":[]},{"title":"Veja também","slug":"veja-também","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"schemaData":{"type":"object","description":"Uma cobrança, como a API a devolve. **Todo campo desta lista está\nsempre presente** - os anuláveis vêm com `null`, nunca ausentes.\nMarcar como opcional o que nunca falta obrigaria você a testar a\nexistência de uma chave que sempre existe.\n\nNos webhooks há uma exceção documentada: veja `ChargeMinimal`.\n","required":["object","id","status","payment_method","amount","currency","platform_fee","net_amount","refunded_amount","description","reference","metadata","customer","pix","card","boleto","created_at","paid_at","expired_at","refunded_at"],"properties":{"object":{"type":"string","const":"charge","isRequired":true,"uniqueKey":"object","typeLabel":"string"},"id":{"type":"string","description":"Código público da cobrança. Nunca é a chave primária: expor o\nautoincremento diria a qualquer cliente quantas vendas a\nplataforma inteira processou.\n","example":"ch_01k1y6r6m6q2x0p3d9v4t7c8n2","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"status":{"type":"string","description":"Situação da cobrança. Só os estados de trânsito - `pending`,\n`processing` e `in_analysis` - ainda mudam sozinhos; os demais são\nterminais, exceto os que ainda admitem estorno.\n\n`processing` e `in_analysis` são do cartão: a autorização é\ndecidida na mesma requisição, mas pode parar na análise de fraude\nantes de virar `paid` ou `failed`. No PIX a cobrança vai direto de\n`pending` para o desfecho.\n\n`partially_refunded` é estado próprio, e não um `refunded` com\nasterisco: tratar uma venda devolvida pela metade como estornada\nfaria seu relatório descontar o valor inteiro.\n\n`chargedback` é definitivo: o dinheiro voltou pelo caminho da\nbandeira, e nem cancelamento nem estorno são mais possíveis.\n","enum":["pending","processing","in_analysis","paid","expired","canceled","partially_refunded","refunded","failed","chargedback"],"x-labels":{"pending":"Aguardando pagamento","processing":"Processando","in_analysis":"Em análise","paid":"Pago","expired":"Expirado","canceled":"Cancelado","partially_refunded":"Estornado em parte","refunded":"Estornado","failed":"Falhou","chargedback":"Chargeback"},"isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"payment_method":{"type":"string","enum":["pix","credit_card","boleto"],"description":"O meio pelo qual esta cobrança foi criada. Omitir o campo na\ncriação continua significando `pix` - é o que toda integração\nque existe hoje espera, e mudar isso as quebraria todas de uma\nvez.\n","isRequired":true,"uniqueKey":"payment_method","typeLabel":"enum\u003cstring>"},"amount":{"type":"integer","description":"**O que o comprador paga**, em centavos inteiros.\n\nCuidado com a assimetria, porque ela é a pegadinha desta API: no\n`POST` você manda o PREÇO DO PRODUTO, e aqui volta o TOTAL. No\nPix e no cartão à vista os dois são iguais; no cartão parcelado\neste é maior, porque inclui o juro que o comprador pagou.\n\nO preço do produto, de volta, é `amount - interest`.\n","format":"int64","isRequired":true,"uniqueKey":"amount","typeLabel":"integer\u003cint64>"},"currency":{"type":"string","const":"BRL","isRequired":true,"uniqueKey":"currency","typeLabel":"string"},"platform_fee":{"type":"integer","description":"Nossa taxa, em centavos inteiros. Congelada na criação: reflete\no contrato que valia quando a venda aconteceu, não o de hoje.\n\nEla incide sobre o **preço do produto** (`amount - interest`), e\nnão sobre o total pago. É o que faz parcelar não custar nada a\nvocê - ver `net_amount`.\n","format":"int64","isRequired":true,"uniqueKey":"platform_fee","typeLabel":"integer\u003cint64>"},"net_amount":{"type":"integer","description":"O que fica com o vendedor, em centavos inteiros.\n\n**Não é `amount - platform_fee`.** Essa conta dá um número maior,\ne a diferença é o JURO do parcelamento: ele está dentro do\n`amount` porque o comprador o pagou, mas não é receita de\nninguém aqui - atravessa até o arranjo de pagamento.\n\nA identidade que fecha, e que o banco confere em toda cobrança:\n\n```\namount = net_amount + platform_fee + interest + co-produção\n```\n\nNo Pix e no cartão à vista o juro é zero, e aí\n`amount - platform_fee` fecha.\n","format":"int64","isRequired":true,"uniqueKey":"net_amount","typeLabel":"integer\u003cint64>"},"refunded_amount":{"type":"integer","description":"Total já devolvido ao comprador, em centavos inteiros. Acumulado\nentre estornos parciais.\n","format":"int64","isRequired":true,"uniqueKey":"refunded_amount","typeLabel":"integer\u003cint64>"},"description":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"description.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"description.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"description","typeLabel":"string | null"},"reference":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"reference.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"reference.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"reference","typeLabel":"string | null"},"metadata":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"metadata.additionalProperties","typeLabel":"string"},"description":"O que você enviou na criação. **Sempre um objeto**, `{}` quando\nnão houve nada - nunca `null`, para o seu código não ter dois\ncasos a tratar.\n","example":{"carrinho":"cart_88f21","campanha":"black-friday"},"isRequired":true,"uniqueKey":"metadata","typeLabel":"object"},"customer":{"oneOf":[{"type":"object","description":"`null` na cobrança que não tem comprador vinculado. A chave em\nsi nunca falta.\n","required":["name","email","document"],"properties":{"name":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"customer.oneOf.0.name.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"customer.oneOf.0.name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"customer.oneOf.0.name","typeLabel":"string | null"},"email":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"customer.oneOf.0.email.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"customer.oneOf.0.email.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"customer.oneOf.0.email","typeLabel":"string | null"},"document":{"oneOf":[{"type":"string","description":"Mascarado. Você já enviou o documento; devolvê-lo inteiro em\ntoda consulta espalharia o dado sem nenhum ganho.\n","example":"111.***.***-35","isRequired":true,"uniqueKey":"customer.oneOf.0.document.oneOf.0","typeLabel":"string"},{"type":"null","description":"Mascarado. Você já enviou o documento; devolvê-lo inteiro em\ntoda consulta espalharia o dado sem nenhum ganho.\n","example":"111.***.***-35","isRequired":true,"uniqueKey":"customer.oneOf.0.document.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"customer.oneOf.0.document","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"customer.oneOf.0","typeLabel":"object"},{"type":"null","description":"`null` na cobrança que não tem comprador vinculado. A chave em\nsi nunca falta.\n","isRequired":true,"uniqueKey":"customer.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"customer","typeLabel":"object | null"},"pix":{"type":"object","description":"Presente em toda cobrança, inclusive nas de cartão - onde os\ntrês campos vêm `null`. Um objeto sempre presente evita o\n`if (charge.pix)` antes de cada leitura.\n","required":["qr_code","expires_at","end_to_end_id"],"properties":{"qr_code":{"oneOf":[{"type":"string","description":"Payload copia-e-cola do PIX. Gere a imagem do QR a partir\ndele - não devolvemos PNG.\n","isRequired":true,"uniqueKey":"pix.qr_code.oneOf.0","typeLabel":"string"},{"type":"null","description":"Payload copia-e-cola do PIX. Gere a imagem do QR a partir\ndele - não devolvemos PNG.\n","isRequired":true,"uniqueKey":"pix.qr_code.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"pix.qr_code","typeLabel":"string | null"},"expires_at":{"oneOf":[{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"pix.expires_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","isRequired":true,"uniqueKey":"pix.expires_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"pix.expires_at","typeLabel":"string\u003cdate-time> | null"},"end_to_end_id":{"oneOf":[{"type":"string","description":"Identificador da transação no Sistema de Pagamentos\nBrasileiro. Aparece depois do pagamento e é o que o banco do\ncomprador reconhece.\n","isRequired":true,"uniqueKey":"pix.end_to_end_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Identificador da transação no Sistema de Pagamentos\nBrasileiro. Aparece depois do pagamento e é o que o banco do\ncomprador reconhece.\n","isRequired":true,"uniqueKey":"pix.end_to_end_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"pix.end_to_end_id","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"pix","typeLabel":"object"},"card":{"type":"object","description":"Presente em toda cobrança, inclusive nas de PIX - onde os campos\nvêm `null`. Mesma regra do `pix` acima, e pelo mesmo motivo.\n\nO que **não** está aqui, e não vai estar: os seis primeiros\ndígitos, o código de retorno da adquirente e a nota do\nantifraude. Os dois primeiros são diagnóstico nosso; a nota numa\nresposta pública seria um oráculo de risco para quem testa\ncartão em lote. O código de recusa sai numa recusa, em\n`error.details.decline_code`, onde quem lê é o seu servidor.\n","required":["brand","last_four","holder_name","installments","recurrence_cycle","interest","three_d_secure","authorized_at"],"properties":{"brand":{"oneOf":[{"type":"string","description":"A bandeira que a **Pagar.me** reconheceu, e não a que o\nnavegador leu do BIN. Elas divergem, e a que vale é esta.\n","enum":["visa","mastercard","elo","hipercard","amex","diners","discover","aura",null],"isRequired":true,"uniqueKey":"card.brand.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"A bandeira que a **Pagar.me** reconheceu, e não a que o\nnavegador leu do BIN. Elas divergem, e a que vale é esta.\n","enum":["visa","mastercard","elo","hipercard","amex","diners","discover","aura",null],"isRequired":true,"uniqueKey":"card.brand.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"card.brand","typeLabel":"enum\u003cstring> | null"},"last_four":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"card.last_four.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"card.last_four.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"card.last_four","typeLabel":"string | null"},"holder_name":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"card.holder_name.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"card.holder_name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"card.holder_name","typeLabel":"string | null"},"installments":{"oneOf":[{"type":"integer","description":"`null` no PIX. A coluna tem default `1`, mas \"uma parcela\"\nnuma cobrança que não parcela é um número que convida a\nconta errada.\n","isRequired":true,"uniqueKey":"card.installments.oneOf.0","typeLabel":"integer"},{"type":"null","description":"`null` no PIX. A coluna tem default `1`, mas \"uma parcela\"\nnuma cobrança que não parcela é um número que convida a\nconta errada.\n","isRequired":true,"uniqueKey":"card.installments.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"card.installments","typeLabel":"integer | null"},"recurrence_cycle":{"oneOf":[{"type":"string","description":"O ciclo declarado na criação, de volta - e `null` em toda\ncobrança que não faz parte de uma série, que é a esmagadora\nmaioria.\n\nÉ por ele que você responde \"quais destas cobranças foram de\nassinatura?\" ao conciliar, e é ele que explica a ausência do\ncomprador na tela numa contestação.\n","enum":["first","subsequent",null],"isRequired":true,"uniqueKey":"card.recurrence_cycle.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"O ciclo declarado na criação, de volta - e `null` em toda\ncobrança que não faz parte de uma série, que é a esmagadora\nmaioria.\n\nÉ por ele que você responde \"quais destas cobranças foram de\nassinatura?\" ao conciliar, e é ele que explica a ausência do\ncomprador na tela numa contestação.\n","enum":["first","subsequent",null],"isRequired":true,"uniqueKey":"card.recurrence_cycle.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"card.recurrence_cycle","typeLabel":"enum\u003cstring> | null"},"interest":{"type":"integer","description":"Os juros do parcelamento, em centavos inteiros, e `0` nas\nparcelas sem juros. Eles viajam à Pagar.me como um ITEM à\nparte - ela deriva o valor do pedido da soma dos itens, e um\npedido que não fecha é recusado inteiro.\n","format":"int64","isRequired":true,"uniqueKey":"card.interest","typeLabel":"integer\u003cint64>"},"three_d_secure":{"type":"object","required":["status","transaction_id"],"properties":{"status":{"oneOf":[{"type":"string","description":"O `transStatus` do protocolo. `Y` é autenticado, `A` é\ntentativa comprovada - os dois carregam o liability\nshift em Visa e Mastercard.\n","enum":["Y","A","N","C","U","R","I",null],"isRequired":true,"uniqueKey":"card.three_d_secure.status.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"O `transStatus` do protocolo. `Y` é autenticado, `A` é\ntentativa comprovada - os dois carregam o liability\nshift em Visa e Mastercard.\n","enum":["Y","A","N","C","U","R","I",null],"isRequired":true,"uniqueKey":"card.three_d_secure.status.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"card.three_d_secure.status","typeLabel":"enum\u003cstring> | null"},"transaction_id":{"oneOf":[{"type":"string","description":"O identificador da autenticação. É ele que se apresenta\nà bandeira numa contestação.\n","isRequired":true,"uniqueKey":"card.three_d_secure.transaction_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"O identificador da autenticação. É ele que se apresenta\nà bandeira numa contestação.\n","isRequired":true,"uniqueKey":"card.three_d_secure.transaction_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"card.three_d_secure.transaction_id","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"card.three_d_secure","typeLabel":"object"},"authorized_at":{"oneOf":[{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"card.authorized_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","isRequired":true,"uniqueKey":"card.authorized_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"card.authorized_at","typeLabel":"string\u003cdate-time> | null"}},"isRequired":true,"uniqueKey":"card","typeLabel":"object"},"boleto":{"type":"object","description":"Presente em toda cobrança, inclusive nas de PIX e de cartão -\nonde os campos vêm `null`. Mesma regra do `pix` e do `card`, e\npelo mesmo motivo.\n\nBoleto é oferecido apenas a lojas em conta de split na Pagar.me.\nNuma loja fora desse arranjo, `POST /v1/charges` com\n`payment_method: boleto` responde 422 com\n`boleto_not_available`.\n","required":["line","barcode","url","pdf","nosso_numero","due_at"],"properties":{"line":{"oneOf":[{"type":"string","description":"Linha digitável - o equivalente do copia-e-cola do PIX, e o\núnico campo que o pagador realmente usa. É o que indica que\no boleto existe: quando ela vem `null`, o provedor recusou a\nemissão e a cobrança nasce `failed`.\n","example":"34191.79001 01043.510047 91020.150008 1 92230000050000","isRequired":true,"uniqueKey":"boleto.line.oneOf.0","typeLabel":"string"},{"type":"null","description":"Linha digitável - o equivalente do copia-e-cola do PIX, e o\núnico campo que o pagador realmente usa. É o que indica que\no boleto existe: quando ela vem `null`, o provedor recusou a\nemissão e a cobrança nasce `failed`.\n","example":"34191.79001 01043.510047 91020.150008 1 92230000050000","isRequired":true,"uniqueKey":"boleto.line.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"boleto.line","typeLabel":"string | null"},"barcode":{"oneOf":[{"type":"string","description":"Endereço da imagem do código de barras na Pagar.me. Não\nservimos o arquivo - como no QR do PIX, devolvemos o\nendereço.\n","isRequired":true,"uniqueKey":"boleto.barcode.oneOf.0","typeLabel":"string"},{"type":"null","description":"Endereço da imagem do código de barras na Pagar.me. Não\nservimos o arquivo - como no QR do PIX, devolvemos o\nendereço.\n","isRequired":true,"uniqueKey":"boleto.barcode.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"boleto.barcode","typeLabel":"string | null"},"url":{"oneOf":[{"type":"string","description":"Página do boleto, para o pagador visualizar.","isRequired":true,"uniqueKey":"boleto.url.oneOf.0","typeLabel":"string"},{"type":"null","description":"Página do boleto, para o pagador visualizar.","isRequired":true,"uniqueKey":"boleto.url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"boleto.url","typeLabel":"string | null"},"pdf":{"oneOf":[{"type":"string","description":"O mesmo documento em PDF.","isRequired":true,"uniqueKey":"boleto.pdf.oneOf.0","typeLabel":"string"},{"type":"null","description":"O mesmo documento em PDF.","isRequired":true,"uniqueKey":"boleto.pdf.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"boleto.pdf","typeLabel":"string | null"},"nosso_numero":{"oneOf":[{"type":"string","description":"Identificador do boleto na conta do emissor. É o número que\no banco devolve no arquivo de retorno, e é por ele que se\nencontra à mão um pagamento cujo webhook não chegou.\n","isRequired":true,"uniqueKey":"boleto.nosso_numero.oneOf.0","typeLabel":"string"},{"type":"null","description":"Identificador do boleto na conta do emissor. É o número que\no banco devolve no arquivo de retorno, e é por ele que se\nencontra à mão um pagamento cujo webhook não chegou.\n","isRequired":true,"uniqueKey":"boleto.nosso_numero.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"boleto.nosso_numero","typeLabel":"string | null"},"due_at":{"oneOf":[{"type":"string","description":"**Vencimento, não expiração.** O banco aceita boleto depois\ndesta data, e por isso não varremos boleto vencido para\n`expired` - quem tratar esta data como fim encerraria venda\nque ainda pode ser paga. Normalizada pelo provedor para o\nfim do dia.\n","format":"date-time","isRequired":true,"uniqueKey":"boleto.due_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"**Vencimento, não expiração.** O banco aceita boleto depois\ndesta data, e por isso não varremos boleto vencido para\n`expired` - quem tratar esta data como fim encerraria venda\nque ainda pode ser paga. Normalizada pelo provedor para o\nfim do dia.\n","format":"date-time","isRequired":true,"uniqueKey":"boleto.due_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"boleto.due_at","typeLabel":"string\u003cdate-time> | null"}},"isRequired":true,"uniqueKey":"boleto","typeLabel":"object"},"created_at":{"oneOf":[{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"created_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","isRequired":true,"uniqueKey":"created_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"created_at","typeLabel":"string\u003cdate-time> | null"},"paid_at":{"oneOf":[{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"paid_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","isRequired":true,"uniqueKey":"paid_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"paid_at","typeLabel":"string\u003cdate-time> | null"},"expired_at":{"oneOf":[{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"expired_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","isRequired":true,"uniqueKey":"expired_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"expired_at","typeLabel":"string\u003cdate-time> | null"},"refunded_at":{"oneOf":[{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"refunded_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","isRequired":true,"uniqueKey":"refunded_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"refunded_at","typeLabel":"string\u003cdate-time> | null"}},"uniqueKey":"","typeLabel":"object","example":{"title":"Example","value":{"object":"charge","id":"ch_01k1y6r6m6q2x0p3d9v4t7c8n2","amount":123,"currency":"BRL","platform_fee":123,"net_amount":123,"refunded_amount":123,"description":"\u003cstring>","reference":"\u003cstring>","metadata":{"carrinho":"cart_88f21","campanha":"black-friday"},"customer":{"name":"\u003cstring>","email":"\u003cstring>","document":"111.***.***-35"},"pix":{"qr_code":"\u003cstring>","expires_at":"2023-11-07T05:31:56Z","end_to_end_id":"\u003cstring>"},"card":{"last_four":"\u003cstring>","holder_name":"\u003cstring>","installments":123,"interest":123,"three_d_secure":{"transaction_id":"\u003cstring>"},"authorized_at":"2023-11-07T05:31:56Z"},"boleto":{"line":"34191.79001 01043.510047 91020.150008 1 92230000050000","barcode":"\u003cstring>","url":"\u003cstring>","pdf":"\u003cstring>","nosso_numero":"\u003cstring>","due_at":"2023-11-07T05:31:56Z"},"created_at":"2023-11-07T05:31:56Z","paid_at":"2023-11-07T05:31:56Z","expired_at":"2023-11-07T05:31:56Z","refunded_at":"2023-11-07T05:31:56Z"}}},"originalFileLocation":"api-reference/openapi.yaml"},"subdomain":"vext","siteName":"Vext","title":"Cobrança - Vext","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-02T19:37:31.049Z","originalFileLocation":"api-reference/objetos/cobranca.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Campo a campo do objeto que toda rota de cobrança devolve — e que chega nos webhooks.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Vext\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/vext/1ynttjJ_6FW1Z8CJ/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/vext/1ynttjJ_6FW1Z8CJ/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/vext/1ynttjJ_6FW1Z8CJ/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/vext/1ynttjJ_6FW1Z8CJ/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/vext/1ynttjJ_6FW1Z8CJ/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/vext/1ynttjJ_6FW1Z8CJ/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/vext/1ynttjJ_6FW1Z8CJ/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/vext/1ynttjJ_6FW1Z8CJ/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/vext/1ynttjJ_6FW1Z8CJ/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Cobrança - Vext\">\u003cmeta data-mint-head property=\"og:description\" content=\"Campo a campo do objeto que toda rota de cobrança devolve — e que chega nos webhooks.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Vext\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.usevext.com/api-reference/objetos/cobranca\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://vext.mintlify.site/_mintlify/api/og/v2?division=Objetos\u0026amp;title=Cobran%C3%A7a\u0026amp;description=Campo+a+campo+do+objeto+que+toda+rota+de+cobran%C3%A7a+devolve+%E2%80%94+e+que+chega+nos+webhooks.\u0026amp;theme=5fdce344cf730a9d43aa6618\u0026amp;signature=333987f5620eeea7de3189e6a1c42885a2ff5fc90d61f2f46ab4179ae9dd8662\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Cobrança - Vext\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Campo a campo do objeto que toda rota de cobrança devolve — e que chega nos webhooks.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://vext.mintlify.site/_mintlify/api/og/v2?division=Objetos\u0026amp;title=Cobran%C3%A7a\u0026amp;description=Campo+a+campo+do+objeto+que+toda+rota+de+cobran%C3%A7a+devolve+%E2%80%94+e+que+chega+nos+webhooks.\u0026amp;theme=5fdce344cf730a9d43aa6618\u0026amp;signature=333987f5620eeea7de3189e6a1c42885a2ff5fc90d61f2f46ab4179ae9dd8662\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/vext/1ynttjJ_6FW1Z8CJ/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Vext\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1A7A14\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.usevext.com/api-reference/objetos/cobranca\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/objetos/cobranca.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.usevext.com/#organization\",\"name\":\"Vext\",\"url\":\"https://docs.usevext.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/vext/kcwCRAttQYaZqJCy/logo/light.svg?fit=max\u0026auto=format\u0026n=kcwCRAttQYaZqJCy\u0026q=85\u0026s=fb9b46dfbd546322b281376800e5d841\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.usevext.com#website\",\"name\":\"Vext\",\"url\":\"https://docs.usevext.com\",\"publisher\":{\"@id\":\"https://docs.usevext.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.usevext.com/api-reference/objetos/cobranca#webpage\",\"url\":\"https://docs.usevext.com/api-reference/objetos/cobranca\",\"name\":\"Cobrança\",\"description\":\"Campo a campo do objeto que toda rota de cobrança devolve — e que chega nos webhooks.\",\"dateModified\":\"2026-10-02T19:37:31.049Z\",\"isPartOf\":{\"@id\":\"https://docs.usevext.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.usevext.com/api-reference/objetos/cobranca#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.usevext.com/api-reference/objetos/cobranca#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Vext\",\"item\":\"https://docs.usevext.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cobrança\",\"item\":\"https://docs.usevext.com/api-reference/objetos/cobranca\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.usevext.com/api-reference/objetos/cobranca#apireference\",\"headline\":\"Cobrança\",\"name\":\"Cobrança\",\"description\":\"Campo a campo do objeto que toda rota de cobrança devolve — e que chega nos webhooks.\",\"url\":\"https://docs.usevext.com/api-reference/objetos/cobranca\",\"mainEntityOfPage\":{\"@id\":\"https://docs.usevext.com/api-reference/objetos/cobranca#webpage\"},\"dateModified\":\"2026-10-02T19:37:31.049Z\",\"publisher\":{\"@id\":\"https://docs.usevext.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.usevext.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Vext\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Vext\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/objetos/cobranca.md","siteName":"Vext","nav":{"global":null,"tabs":[{"tab":"Guias","pages":[{"title":"Guias","href":""}]},{"tab":"Referência da API","groups":[{"group":"Visão geral","pages":[{"title":"Visão geral","description":"URL base, prefixo /v1, cabeçalhos comuns e como usar o playground sem cobrar ninguém de verdade.","icon":"terminal","href":"/api-reference/introducao"}]},{"group":"Objetos","pages":[{"title":"Cobrança","icon":"receipt","href":"/api-reference/objetos/cobranca"},{"title":"Cartão guardado","description":"Campo a campo do cartão no cofre — o pm_ que cobra de novo sem pedir nada ao comprador.","icon":"vault","href":"/api-reference/objetos/cartao-guardado"},{"title":"Comprador","icon":"user","href":"/api-reference/objetos/comprador"},{"title":"Saque","icon":"banknote","href":"/api-reference/objetos/saque"}]},{"group":"Cobranças","pages":[{"title":"Criar cobrança","icon":"circle-dollar-sign","openapi":"api-reference/openapi.yaml POST /v1/charges","href":"/api-reference/cobrancas/criar"},{"title":"Listar cobranças","icon":"list","openapi":"api-reference/openapi.yaml GET /v1/charges","href":"/api-reference/cobrancas/listar"},{"title":"Consultar cobrança","icon":"file-search","openapi":"api-reference/openapi.yaml GET /v1/charges/{code}","href":"/api-reference/cobrancas/consultar"},{"title":"Estornar cobrança","icon":"rotate-ccw","openapi":"api-reference/openapi.yaml POST /v1/charges/{code}/refund","href":"/api-reference/cobrancas/estornar"},{"title":"Grade de parcelas","icon":"table","openapi":"api-reference/openapi.yaml GET /v1/installments","href":"/api-reference/cobrancas/parcelas"}]},{"group":"Cartão no navegador","pages":[{"title":"A biblioteca vext.js","sidebarTitle":"vext.js","icon":"code","openapi":"api-reference/openapi.yaml GET /v1/vext.js","href":"/api-reference/cartao/vext-js"},{"title":"Configuração para o navegador","sidebarTitle":"client_config","icon":"browser","openapi":"api-reference/openapi.yaml GET /v1/client_config","href":"/api-reference/cartao/client-config"},{"title":"Emitir token de autenticação","icon":"shield-check","openapi":"api-reference/openapi.yaml POST /v1/three_ds_tokens","href":"/api-reference/cartao/three-ds-token"}]},{"group":"Cartões","pages":[{"title":"Guardar cartão","icon":"vault","openapi":"api-reference/openapi.yaml POST /v1/cards","href":"/api-reference/cartoes/guardar"},{"title":"Listar cartões guardados","icon":"credit-card","openapi":"api-reference/openapi.yaml GET /v1/cards","href":"/api-reference/cartoes/listar"},{"title":"Consultar cartão guardado","icon":"file-search","openapi":"api-reference/openapi.yaml GET /v1/cards/{code}","href":"/api-reference/cartoes/consultar"},{"title":"Remover cartão guardado","icon":"trash-2","openapi":"api-reference/openapi.yaml DELETE /v1/cards/{code}","href":"/api-reference/cartoes/remover"}]},{"group":"Saldo","pages":[{"title":"Consultar saldo","icon":"wallet","openapi":"api-reference/openapi.yaml GET /v1/balance","href":"/api-reference/saldo/consultar"}]},{"group":"Saques","pages":[{"title":"Solicitar saque","icon":"banknote","openapi":"api-reference/openapi.yaml POST /v1/withdrawals","href":"/api-reference/saques/solicitar"},{"title":"Listar saques","icon":"list","openapi":"api-reference/openapi.yaml GET /v1/withdrawals","href":"/api-reference/saques/listar"},{"title":"Consultar saque","icon":"search","openapi":"api-reference/openapi.yaml GET /v1/withdrawals/{code}","href":"/api-reference/saques/consultar"}]},{"group":"Eventos de cobrança","pages":[{"title":"charge.paid","icon":"badge-check","openapi":"api-reference/openapi.yaml webhook charge.paid","href":"/api-reference/webhooks/charge-paid"},{"title":"charge.failed","icon":"circle-x","openapi":"api-reference/openapi.yaml webhook charge.failed","href":"/api-reference/webhooks/charge-failed"},{"title":"charge.in_analysis","icon":"search","openapi":"api-reference/openapi.yaml webhook charge.in_analysis","href":"/api-reference/webhooks/charge-in-analysis"},{"title":"charge.refunded","icon":"undo-2","openapi":"api-reference/openapi.yaml webhook charge.refunded","href":"/api-reference/webhooks/charge-refunded"},{"title":"charge.chargedback","icon":"gavel","openapi":"api-reference/openapi.yaml webhook charge.chargedback","href":"/api-reference/webhooks/charge-chargedback"}]},{"group":"Eventos de contestação (MED)","pages":[{"title":"med.opened","icon":"shield-alert","openapi":"api-reference/openapi.yaml webhook med.opened","href":"/api-reference/webhooks/med-opened"},{"title":"med.approved","icon":"thumbs-down","openapi":"api-reference/openapi.yaml webhook med.approved","href":"/api-reference/webhooks/med-approved"},{"title":"med.rejected","icon":"thumbs-up","openapi":"api-reference/openapi.yaml webhook med.rejected","href":"/api-reference/webhooks/med-rejected"}]},{"group":"Eventos de saque","pages":[{"title":"withdrawal.paid","icon":"banknote","openapi":"api-reference/openapi.yaml webhook withdrawal.paid","href":"/api-reference/webhooks/withdrawal-paid"}]}]}]},"basePath":"","title":"Cobrança - Vext","buildId":"dpl_41S5Z2jG9QnfDRwN1KZrLdBwj7DM","deploymentId":"dpl_41S5Z2jG9QnfDRwN1KZrLdBwj7DM","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DDP9JXtj.js","utils-8yQyvEtx.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-CBCFR8Sn.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-rQaXkUHa.js","snippetPresets-J5KpBTgV.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BVxVH4Cj.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BxdQ2vIi.js","shallow-BjV2tFiD.js","getApiPlaygroundDisplay-C_55tL4O.js","CodeSnippet-C0JpiCOC.js","CodeSnippets-w9Ps7djG.js","Page-DTNSD-0M.js","getPastedJson-BDfB-H8d.js","icon-g-kUkkO9.js","MethodPill-v4l6fq0h.js","DuplicateIcon-CvLo-CfU.js","createIcon-165clrrV.js","DynamicMarkdown-D3RQ-fEj.js","SectionHeading-vvo-3yLf.js","axios-vUo_bRtp.js","Markdown-CMT1uFWQ.js","clsx-C8f2yC9R.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CI2D8R2Y.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-k78Wrw_e.js"]}