Cria uma cobrança avulsa e devolve uma checkoutUrl para o cliente pagar. O postbackSecret (que valida os webhooks desta cobrança) é retornado apenas nesta resposta de criação.
Pagamento transparente: mande também o campo payment (mesmo formato de POST /v1/charges/{id}/payments) para criar a cobrança e o pagamento numa chamada só. O corpo inteiro é validado antes: dado faltando, inclusive o que só o gateway da loja exige, é 400 e nenhuma cobrança nasce. Criada a cobrança, a resposta é sempre 201, com payment quando o pagamento deu certo ou paymentError quando falhou (recusa, método indisponível, formato de cartão errado, gateway fora); nesse caso a cobrança segue pending e aceita nova tentativa. Replay com o mesmo Idempotency-Key devolve a cobrança e o último pagamento dela, sem postbackSecret e sem criar outro pagamento.
Vencimento do boleto desta cobrança, em dias corridos. Use quando o cliente paga no checkout hospedado: ele não conhece o prazo que o seu sistema prometeu. Ausente = padrão da loja (1 dia, salvo configuração no painel).
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Gravity Play","description":"Documentação da API da Gravity Play — crie cobranças, leve ao checkout e receba pagamentos por webhook.","colors":{"primary":"#EA580C","light":"#FB923C","dark":"#F97316"},"logo":{"light":"https://mintcdn.com/gravityplay/b7AIIk7hcK-Pou2a/logo/light.png?fit=max\u0026auto=format\u0026n=b7AIIk7hcK-Pou2a\u0026q=85\u0026s=098c877fccb72289c5e070695f803600","dark":"https://mintcdn.com/gravityplay/b7AIIk7hcK-Pou2a/logo/dark.png?fit=max\u0026auto=format\u0026n=b7AIIk7hcK-Pou2a\u0026q=85\u0026s=d2f027b73d5e28ee59c8bfb9bfc135ba"},"favicon":"https://mintcdn.com/gravityplay/b7AIIk7hcK-Pou2a/favicon.png?fit=max\u0026auto=format\u0026n=b7AIIk7hcK-Pou2a\u0026q=85\u0026s=b8e7801bd811dd295a96da4a49e284a4","api":{"playground":{"proxy":true}},"appearance":{"default":"system"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"gravityplay","hasAudioNarration":false,"actualSubdomain":"gravityplay","customDomains":["docs.gravitypay.app"],"gitSource":{"type":"github","owner":"leonammoura","repo":"gravity-pay","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"collectionId":"4ee58d31-b89d-4b0b-bad3-430ae590cd5f","liveDeploymentHistoryId":"6ada1e628b3d16364f988a2b","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ada1e628b3d16364f988a2b"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ada1e628b3d16364f988a2b","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"Referência da API","count":13},{"language":"default","tag":"Guias","count":12},{"language":"default","tag":"Cobranças","count":4},{"language":"default","tag":"Alunos","count":3},{"language":"default","tag":"Introdução","count":2},{"language":"default","tag":"Cursos","count":2},{"language":"default","tag":"Pagamentos","count":2},{"language":"default","tag":"Assinaturas","count":1},{"language":"default","tag":"Turmas","count":1}]},"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":"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":"llms-txt-v2","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":"vite-origin","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":"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}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/cobranças/criar-cobrança","slug":"/api-reference/cobranças/criar-cobrança","pageMetadata":{"title":"Criar cobrança","description":"Cria uma cobrança avulsa e devolve uma `checkoutUrl` para o cliente pagar. O `postbackSecret` (que valida os webhooks desta cobrança) é retornado **apenas** nesta resposta de criação.\n\n**Pagamento transparente:** mande também o campo `payment` (mesmo formato de `POST /v1/charges/{id}/payments`) para criar a cobrança e o pagamento numa chamada só. O corpo inteiro é validado antes: dado faltando, inclusive o que só o gateway da loja exige, é 400 e nenhuma cobrança nasce. Criada a cobrança, a resposta é **sempre 201**, com `payment` quando o pagamento deu certo ou `paymentError` quando falhou (recusa, método indisponível, formato de cartão errado, gateway fora); nesse caso a cobrança segue `pending` e aceita nova tentativa. Replay com o mesmo `Idempotency-Key` devolve a cobrança e o último pagamento dela, sem `postbackSecret` e sem criar outro pagamento.\n\nEscopo exigido: `charges:write`.","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/charges","href":"/api-reference/cobranças/criar-cobrança","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Cria uma cobrança avulsa e devolve uma \", _jsx(_components.code, {\n children: \"checkoutUrl\"\n }), \" para o cliente pagar. O \", _jsx(_components.code, {\n children: \"postbackSecret\"\n }), \" (que valida os webhooks desta cobrança) é retornado \", _jsx(_components.strong, {\n children: \"apenas\"\n }), \" nesta resposta de criação.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Pagamento transparente:\"\n }), \" mande também o campo \", _jsx(_components.code, {\n children: \"payment\"\n }), \" (mesmo formato de \", _jsx(_components.code, {\n children: \"POST /v1/charges/{id}/payments\"\n }), \") para criar a cobrança e o pagamento numa chamada só. O corpo inteiro é validado antes: dado faltando, inclusive o que só o gateway da loja exige, é 400 e nenhuma cobrança nasce. Criada a cobrança, a resposta é \", _jsx(_components.strong, {\n children: \"sempre 201\"\n }), \", com \", _jsx(_components.code, {\n children: \"payment\"\n }), \" quando o pagamento deu certo ou \", _jsx(_components.code, {\n children: \"paymentError\"\n }), \" quando falhou (recusa, método indisponível, formato de cartão errado, gateway fora); nesse caso a cobrança segue \", _jsx(_components.code, {\n children: \"pending\"\n }), \" e aceita nova tentativa. Replay com o mesmo \", _jsx(_components.code, {\n children: \"Idempotency-Key\"\n }), \" devolve a cobrança e o último pagamento dela, sem \", _jsx(_components.code, {\n children: \"postbackSecret\"\n }), \" e sem criar outro pagamento.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Escopo exigido: \", _jsx(_components.code, {\n children: \"charges:write\"\n }), \".\"]\n })]\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}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Criar cobrança","description":"Cria uma cobrança avulsa e devolve uma `checkoutUrl` para o cliente pagar. O `postbackSecret` (que valida os webhooks desta cobrança) é retornado **apenas** nesta resposta de criação.\n\n**Pagamento transparente:** mande também o campo `payment` (mesmo formato de `POST /v1/charges/{id}/payments`) para criar a cobrança e o pagamento numa chamada só. O corpo inteiro é validado antes: dado faltando, inclusive o que só o gateway da loja exige, é 400 e nenhuma cobrança nasce. Criada a cobrança, a resposta é **sempre 201**, com `payment` quando o pagamento deu certo ou `paymentError` quando falhou (recusa, método indisponível, formato de cartão errado, gateway fora); nesse caso a cobrança segue `pending` e aceita nova tentativa. Replay com o mesmo `Idempotency-Key` devolve a cobrança e o último pagamento dela, sem `postbackSecret` e sem criar outro pagamento.\n\nEscopo exigido: `charges:write`.","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/charges","href":"/api-reference/cobranças/criar-cobrança","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Cobranças"],"summary":"Criar cobrança","operationId":"createCharge","x-required-scope":"charges:write","description":"Cria uma cobrança avulsa e devolve uma `checkoutUrl` para o cliente pagar. O `postbackSecret` (que valida os webhooks desta cobrança) é retornado **apenas** nesta resposta de criação.\n\n**Pagamento transparente:** mande também o campo `payment` (mesmo formato de `POST /v1/charges/{id}/payments`) para criar a cobrança e o pagamento numa chamada só. O corpo inteiro é validado antes: dado faltando, inclusive o que só o gateway da loja exige, é 400 e nenhuma cobrança nasce. Criada a cobrança, a resposta é **sempre 201**, com `payment` quando o pagamento deu certo ou `paymentError` quando falhou (recusa, método indisponível, formato de cartão errado, gateway fora); nesse caso a cobrança segue `pending` e aceita nova tentativa. Replay com o mesmo `Idempotency-Key` devolve a cobrança e o último pagamento dela, sem `postbackSecret` e sem criar outro pagamento.\n\nEscopo exigido: `charges:write`.","requestBody":"0b1fec82-c3a2-4ee5-8a67-2ce1d12766c6","responses":{"201":"ccb4bb96-0647-463a-936c-591580483974","400":"da4c54b1-f960-456f-b752-e0ac15bb3225","401":"30d45594-aac3-4b55-8b91-d19ee3739802","403":"2f1dd5f4-3f17-4083-8c91-65f6c556a7c0"},"method":"post","type":"path","servers":["1c1c7f27-0b9d-401e-a017-98e680c1df97","0f1d9766-b463-4e6d-94bd-1bfaad3810bb"],"security":["09abb6d5-3458-4339-bdbb-4391192bb989"],"path":"/v1/charges","baseUrlOptions":["https://api.sandbox.gravitypay.app","https://api.gravitypay.app"],"title":"Criar cobrança","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["currency"],"properties":{"currency":{"type":"string","minLength":3,"maxLength":3,"isRequired":true,"uniqueKey":"currency","typeLabel":"string"},"items":{"type":"array","items":{"type":"object","required":["name","quantity","unitAmountInCents"],"properties":{"name":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].name","typeLabel":"string"},"quantity":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].quantity","typeLabel":"integer"},"unitAmountInCents":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].unitAmountInCents","typeLabel":"integer"}},"uniqueKey":"\\items.items.[INDEX]","typeLabel":"object"},"uniqueKey":"\\items","typeLabel":"object[]"},"amountInCents":{"type":"integer","minimum":1,"uniqueKey":"amountInCents","typeLabel":"integer"},"customer":{"type":"object","properties":{"email":{"type":"string","format":"email","uniqueKey":"customer.email","typeLabel":"string\u003cemail>"},"name":{"type":"string","uniqueKey":"customer.name","typeLabel":"string"}},"uniqueKey":"customer","typeLabel":"object"},"description":{"type":"string","maxLength":255,"uniqueKey":"description","typeLabel":"string"},"metadata":{"type":"object","additionalProperties":true,"uniqueKey":"metadata","typeLabel":"object"},"postbackUrl":{"type":"string","format":"uri","uniqueKey":"postbackUrl","typeLabel":"string\u003curi>"},"successUrl":{"type":"string","format":"uri","uniqueKey":"successUrl","typeLabel":"string\u003curi>"},"cancelUrl":{"type":"string","format":"uri","uniqueKey":"cancelUrl","typeLabel":"string\u003curi>"},"boletoDueInDays":{"type":"integer","minimum":1,"maximum":60,"description":"Vencimento do boleto desta cobrança, em dias corridos. Use quando o cliente paga no checkout hospedado: ele não conhece o prazo que o seu sistema prometeu. Ausente = padrão da loja (1 dia, salvo configuração no painel).","uniqueKey":"boletoDueInDays","typeLabel":"integer"},"maxInstallments":{"type":"integer","minimum":1,"maximum":12,"default":1,"description":"Máximo de parcelas no cartão (1 = à vista).","uniqueKey":"maxInstallments","typeLabel":"integer"},"passInstallmentInterest":{"type":"boolean","default":true,"description":"`true`: o comprador paga o juro do parcelamento; `false`: a loja absorve.","uniqueKey":"passInstallmentInterest","typeLabel":"boolean"},"payment":{"type":"object","description":"Opcional. Cria o pagamento junto com a cobrança (pagamento transparente). Sem ele, nada muda.","required":["method","buyer"],"properties":{"method":{"type":"string","enum":["pix","boleto","credit_card"],"isRequired":true,"uniqueKey":"payment.method","typeLabel":"enum\u003cstring>"},"buyer":{"type":"object","required":["name","email","document","phone"],"properties":{"name":{"type":"string","minLength":1,"maxLength":200,"description":"Vai ao gateway cortado em 64 caracteres.","isRequired":true,"uniqueKey":"payment.buyer.name","typeLabel":"string"},"email":{"type":"string","format":"email","isRequired":true,"uniqueKey":"payment.buyer.email","typeLabel":"string\u003cemail>"},"document":{"type":"string","description":"CPF (11 dígitos) ou CNPJ (14 dígitos), com ou sem máscara, com dígito verificador válido.","isRequired":true,"uniqueKey":"payment.buyer.document","typeLabel":"string"},"phone":{"type":"string","description":"Com DDD: pelo menos 10 dígitos.","isRequired":true,"uniqueKey":"payment.buyer.phone","typeLabel":"string"},"ip":{"type":"string","description":"IP (v4 ou v6) do COMPRADOR. Obrigatório no cartão Asaas. Nunca é lido do IP da requisição.","uniqueKey":"payment.buyer.ip","typeLabel":"string"},"address":{"type":"object","required":["zipCode","number"],"properties":{"zipCode":{"type":"string","description":"CEP (8 dígitos, com ou sem máscara).","isRequired":true,"uniqueKey":"payment.buyer.address.zipCode","typeLabel":"string"},"number":{"type":"string","isRequired":true,"uniqueKey":"payment.buyer.address.number","typeLabel":"string"},"street":{"type":"string","uniqueKey":"payment.buyer.address.street","typeLabel":"string"},"complement":{"type":"string","uniqueKey":"payment.buyer.address.complement","typeLabel":"string"},"neighborhood":{"type":"string","uniqueKey":"payment.buyer.address.neighborhood","typeLabel":"string"},"city":{"type":"string","uniqueKey":"payment.buyer.address.city","typeLabel":"string"},"state":{"type":"string","minLength":2,"maxLength":2,"description":"UF.","uniqueKey":"payment.buyer.address.state","typeLabel":"string"}},"uniqueKey":"payment.buyer.address","typeLabel":"object"}},"isRequired":true,"uniqueKey":"payment.buyer","typeLabel":"object"},"installments":{"type":"integer","minimum":1,"maximum":12,"description":"Só no cartão; até o `maxInstallments` da cobrança.","uniqueKey":"payment.installments","typeLabel":"integer"},"boletoDueInDays":{"type":"integer","minimum":1,"maximum":60,"description":"Vencimento deste boleto, em dias. Vence o `boletoDueInDays` da cobrança e o padrão da loja.","uniqueKey":"payment.boletoDueInDays","typeLabel":"integer"},"card":{"type":"object","description":"Cartão aberto (`number`, `holderName`, `expiryMonth`, `expiryYear`, `cvv`) só em loja Asaas; `token` (e `threedsTransactionId`, Pagar.me 3DS, opcional) em Pagar.me e Efí.","properties":{"number":{"type":"string","uniqueKey":"payment.card.number","typeLabel":"string"},"holderName":{"type":"string","uniqueKey":"payment.card.holderName","typeLabel":"string"},"expiryMonth":{"type":"string","description":"1 a 12.","uniqueKey":"payment.card.expiryMonth","typeLabel":"string"},"expiryYear":{"type":"string","description":"2 ou 4 dígitos (\"33\" vira \"2033\").","uniqueKey":"payment.card.expiryYear","typeLabel":"string"},"cvv":{"type":"string","uniqueKey":"payment.card.cvv","typeLabel":"string"},"token":{"type":"string","description":"`card_token` da Pagar.me ou `payment_token` da Efí.","uniqueKey":"payment.card.token","typeLabel":"string"},"threedsTransactionId":{"type":"string","uniqueKey":"payment.card.threedsTransactionId","typeLabel":"string"}},"uniqueKey":"payment.card","typeLabel":"object"},"metadata":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"payment.metadata.additionalProperties","typeLabel":"string"},"description":"Vai para o pagamento (`metadata` dos webhooks `payment.*` dos endpoints do painel).","uniqueKey":"payment.metadata","typeLabel":"object"}},"uniqueKey":"payment","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"currency":"\u003cstring>","items":[{"name":"\u003cstring>","quantity":2,"unitAmountInCents":1}],"amountInCents":2,"customer":{"email":"jsmith@example.com","name":"\u003cstring>"},"description":"\u003cstring>","metadata":{},"postbackUrl":"\u003cstring>","successUrl":"\u003cstring>","cancelUrl":"\u003cstring>","boletoDueInDays":30,"maxInstallments":1,"passInstallmentInterest":true}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"ccb4bb96-0647-463a-936c-591580483974":{"description":"Cobrança criada. Com `payment` no corpo, traz `payment` (pagamento criado) ou `paymentError` (pagamento falhou; a cobrança segue `pending`).","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","example":"chg_2e59538f...","uniqueKey":"id","typeLabel":"string"},"object":{"type":"string","example":"charge","uniqueKey":"object","typeLabel":"string"},"status":{"type":"string","enum":["pending","paid","failed","refunded","canceled"],"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"amountInCents":{"type":"integer","uniqueKey":"amountInCents","typeLabel":"integer"},"currency":{"type":"string","uniqueKey":"currency","typeLabel":"string"},"items":{"type":"array","items":{"type":"object","required":["name","quantity","unitAmountInCents"],"properties":{"name":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].name","typeLabel":"string"},"quantity":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].quantity","typeLabel":"integer"},"unitAmountInCents":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].unitAmountInCents","typeLabel":"integer"}},"uniqueKey":"\\items.items.[INDEX]","typeLabel":"object"},"uniqueKey":"\\items","typeLabel":"object[]"},"description":{"oneOf":[{"type":"string","uniqueKey":"description.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"description.oneOf.1","typeLabel":"null"}],"uniqueKey":"description","typeLabel":"string | null"},"customer":{"type":"object","properties":{"email":{"oneOf":[{"type":"string","uniqueKey":"customer.email.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"customer.email.oneOf.1","typeLabel":"null"}],"uniqueKey":"customer.email","typeLabel":"string | null"},"name":{"oneOf":[{"type":"string","uniqueKey":"customer.name.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"customer.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"customer.name","typeLabel":"string | null"}},"uniqueKey":"customer","typeLabel":"object"},"metadata":{"type":"object","additionalProperties":true,"uniqueKey":"metadata","typeLabel":"object"},"checkoutUrl":{"type":"string","uniqueKey":"checkoutUrl","typeLabel":"string"},"postbackSecret":{"type":"string","description":"Retornado apenas na criação.","uniqueKey":"postbackSecret","typeLabel":"string"},"boletoDueInDays":{"oneOf":[{"type":"integer","description":"Vencimento do boleto desta cobrança, em dias corridos. null = padrão da loja.","uniqueKey":"boletoDueInDays.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Vencimento do boleto desta cobrança, em dias corridos. null = padrão da loja.","uniqueKey":"boletoDueInDays.oneOf.1","typeLabel":"null"}],"uniqueKey":"boletoDueInDays","typeLabel":"integer | null"},"createdAt":{"type":"string","format":"date-time","uniqueKey":"createdAt","typeLabel":"string\u003cdate-time>"},"payment":{"oneOf":[{"type":"object","description":"Só quando o corpo trouxe `payment` e ele deu certo. No replay do `Idempotency-Key`, o último pagamento da cobrança (ou `null`).","required":["object","id","chargeId","status","method","provider","amountInCents","totalInCents","installments","pix","boleto","createdAt"],"properties":{"object":{"type":"string","example":"payment","isRequired":true,"uniqueKey":"payment.oneOf.0.object","typeLabel":"string"},"id":{"type":"string","description":"Id do pagamento na Gravity Play: o mesmo `data.id` dos webhooks `payment.*`.","isRequired":true,"uniqueKey":"payment.oneOf.0.id","typeLabel":"string"},"chargeId":{"type":"string","isRequired":true,"uniqueKey":"payment.oneOf.0.chargeId","typeLabel":"string"},"status":{"type":"string","enum":["pending","paid","failed","refunded"],"description":"`failed` cobre recusa e PIX vencido.","isRequired":true,"uniqueKey":"payment.oneOf.0.status","typeLabel":"enum\u003cstring>"},"method":{"type":"string","enum":["pix","boleto","credit_card"],"isRequired":true,"uniqueKey":"payment.oneOf.0.method","typeLabel":"enum\u003cstring>"},"provider":{"type":"string","enum":["ASAAS","PAGARME","EFI"],"isRequired":true,"uniqueKey":"payment.oneOf.0.provider","typeLabel":"enum\u003cstring>"},"amountInCents":{"type":"integer","description":"Valor da cobrança.","isRequired":true,"uniqueKey":"payment.oneOf.0.amountInCents","typeLabel":"integer"},"totalInCents":{"type":"integer","description":"Valor cobrado, com o juro do parcelamento quando o comprador paga.","isRequired":true,"uniqueKey":"payment.oneOf.0.totalInCents","typeLabel":"integer"},"installments":{"type":"integer","isRequired":true,"uniqueKey":"payment.oneOf.0.installments","typeLabel":"integer"},"pix":{"oneOf":[{"type":"object","properties":{"copyPaste":{"type":"string","description":"PIX copia-e-cola (EMV).","uniqueKey":"payment.oneOf.0.pix.oneOf.0.copyPaste","typeLabel":"string"},"qrCodeBase64":{"type":"string","description":"QR Code em PNG (base64, sem o prefixo `data:`), gerado a partir do copia-e-cola, igual para todo gateway.","uniqueKey":"payment.oneOf.0.pix.oneOf.0.qrCodeBase64","typeLabel":"string"},"qrCodeUrl":{"oneOf":[{"type":"string","description":"URL do QR hospedado pela Pagar.me (só na criação).","uniqueKey":"payment.oneOf.0.pix.oneOf.0.qrCodeUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"URL do QR hospedado pela Pagar.me (só na criação).","uniqueKey":"payment.oneOf.0.pix.oneOf.0.qrCodeUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"payment.oneOf.0.pix.oneOf.0.qrCodeUrl","typeLabel":"string | null"},"expiresAt":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"payment.oneOf.0.pix.oneOf.0.expiresAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"payment.oneOf.0.pix.oneOf.0.expiresAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"payment.oneOf.0.pix.oneOf.0.expiresAt","typeLabel":"string\u003cdate-time> | null"}},"isRequired":true,"uniqueKey":"payment.oneOf.0.pix.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"copyPaste":{"type":"string","description":"PIX copia-e-cola (EMV)."},"qrCodeBase64":{"type":"string","description":"QR Code em PNG (base64, sem o prefixo `data:`), gerado a partir do copia-e-cola, igual para todo gateway."},"qrCodeUrl":{"oneOf":[{"type":"string","description":"URL do QR hospedado pela Pagar.me (só na criação)."},{"type":"null","description":"URL do QR hospedado pela Pagar.me (só na criação)."}]},"expiresAt":{"oneOf":[{"type":"string","format":"date-time"},{"type":"null","format":"date-time"}]}},"isRequired":true,"uniqueKey":"payment.oneOf.0.pix.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"payment.oneOf.0.pix","typeLabel":"object | null"},"boleto":{"oneOf":[{"type":"object","properties":{"line":{"oneOf":[{"type":"string","description":"Linha digitável. `null` só quando o gateway não devolve.","uniqueKey":"payment.oneOf.0.boleto.oneOf.0.line.oneOf.0","typeLabel":"string"},{"type":"null","description":"Linha digitável. `null` só quando o gateway não devolve.","uniqueKey":"payment.oneOf.0.boleto.oneOf.0.line.oneOf.1","typeLabel":"null"}],"uniqueKey":"payment.oneOf.0.boleto.oneOf.0.line","typeLabel":"string | null"},"barcode":{"oneOf":[{"type":"string","uniqueKey":"payment.oneOf.0.boleto.oneOf.0.barcode.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"payment.oneOf.0.boleto.oneOf.0.barcode.oneOf.1","typeLabel":"null"}],"uniqueKey":"payment.oneOf.0.boleto.oneOf.0.barcode","typeLabel":"string | null"},"url":{"oneOf":[{"type":"string","uniqueKey":"payment.oneOf.0.boleto.oneOf.0.url.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"payment.oneOf.0.boleto.oneOf.0.url.oneOf.1","typeLabel":"null"}],"uniqueKey":"payment.oneOf.0.boleto.oneOf.0.url","typeLabel":"string | null"},"pdfUrl":{"oneOf":[{"type":"string","uniqueKey":"payment.oneOf.0.boleto.oneOf.0.pdfUrl.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"payment.oneOf.0.boleto.oneOf.0.pdfUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"payment.oneOf.0.boleto.oneOf.0.pdfUrl","typeLabel":"string | null"},"expiresAt":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"payment.oneOf.0.boleto.oneOf.0.expiresAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"payment.oneOf.0.boleto.oneOf.0.expiresAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"payment.oneOf.0.boleto.oneOf.0.expiresAt","typeLabel":"string\u003cdate-time> | null"}},"isRequired":true,"uniqueKey":"payment.oneOf.0.boleto.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"line":{"oneOf":[{"type":"string","description":"Linha digitável. `null` só quando o gateway não devolve."},{"type":"null","description":"Linha digitável. `null` só quando o gateway não devolve."}]},"barcode":{"oneOf":[{"type":"string"},{"type":"null"}]},"url":{"oneOf":[{"type":"string"},{"type":"null"}]},"pdfUrl":{"oneOf":[{"type":"string"},{"type":"null"}]},"expiresAt":{"oneOf":[{"type":"string","format":"date-time"},{"type":"null","format":"date-time"}]}},"isRequired":true,"uniqueKey":"payment.oneOf.0.boleto.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"payment.oneOf.0.boleto","typeLabel":"object | null"},"createdAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"payment.oneOf.0.createdAt","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"payment.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"payment.oneOf.1","typeLabel":"null"}],"uniqueKey":"payment","typeLabel":"object | null"},"paymentError":{"type":"object","description":"Só quando o corpo trouxe `payment` e ele falhou.","required":["type","code","message"],"properties":{"type":{"type":"string","description":"`payment_declined`, `unprocessable` ou `gateway_error`.","isRequired":true,"uniqueKey":"paymentError.type","typeLabel":"string"},"code":{"type":"string","description":"`payment_declined`, `method_unavailable`, `card_input_not_supported` ou `gateway_error`.","isRequired":true,"uniqueKey":"paymentError.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"paymentError.message","typeLabel":"string"}},"uniqueKey":"paymentError","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"semPagamento":{"title":"semPagamento","value":{"id":"chg_c7fb440eb3112525e35718d4488d66c8","object":"charge","status":"pending","amountInCents":15900,"currency":"brl","items":[],"description":"Curso NR-35","customer":{"email":null,"name":null},"metadata":{},"postbackUrl":"https://integrador.example/postback","successUrl":null,"cancelUrl":null,"maxInstallments":1,"passInstallmentInterest":true,"boletoDueInDays":null,"createdAt":"2026-10-03T13:47:55.024Z","checkoutUrl":"https://gravitypay.app/c/chg_c7fb440eb3112525e35718d4488d66c8","postbackSecret":"whsec_6dec1cf6..."}},"comPix":{"title":"comPix","value":{"id":"chg_c7fb440eb3112525e35718d4488d66c8","object":"charge","status":"pending","amountInCents":15900,"currency":"brl","items":[],"description":"Curso NR-35","customer":{"email":null,"name":null},"metadata":{},"postbackUrl":"https://integrador.example/postback","successUrl":null,"cancelUrl":null,"maxInstallments":1,"passInstallmentInterest":true,"boletoDueInDays":null,"createdAt":"2026-10-03T13:47:55.024Z","checkoutUrl":"https://gravitypay.app/c/chg_c7fb440eb3112525e35718d4488d66c8","postbackSecret":"whsec_6dec1cf6...","payment":{"object":"payment","id":"cmusg5quw000mypfs3g9daah2","chargeId":"chg_c7fb440eb3112525e35718d4488d66c8","status":"pending","method":"pix","provider":"ASAAS","amountInCents":15900,"totalInCents":15900,"installments":1,"pix":{"copyPaste":"00020126580014br.gov.bcb.pix0136...6304ABCD","qrCodeBase64":"iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCAYAAACAvzbMAAA...","qrCodeUrl":null,"expiresAt":"2026-10-05T02:59:59.000Z"},"boleto":null,"createdAt":"2026-10-03T13:47:55.064Z"}}},"pagamentoRecusado":{"title":"pagamentoRecusado","value":{"id":"chg_c7fb440eb3112525e35718d4488d66c8","object":"charge","status":"pending","amountInCents":15900,"currency":"brl","items":[],"description":"Curso NR-35","customer":{"email":null,"name":null},"metadata":{},"postbackUrl":"https://integrador.example/postback","successUrl":null,"cancelUrl":null,"maxInstallments":1,"passInstallmentInterest":true,"boletoDueInDays":null,"createdAt":"2026-10-03T13:47:55.024Z","checkoutUrl":"https://gravitypay.app/c/chg_c7fb440eb3112525e35718d4488d66c8","postbackSecret":"whsec_6dec1cf6...","paymentError":{"type":"payment_declined","code":"payment_declined","message":"Não foi possível processar o pagamento. Confira os dados e tente novamente."}}}},"exampleType":"examples"}},"exampleType":"examples"},"da4c54b1-f960-456f-b752-e0ac15bb3225":{"description":"Erro","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","required":["type","message"],"properties":{"type":{"type":"string","description":"`authentication` (401), `insufficient_scope` (403), `forbidden` (403, rota de parceiro chamada por outra loja), `invalid_request` (400), `not_found` (404) e, no pagamento transparente, `payment_declined` (402), `conflict` (409), `unprocessable` (422) e `gateway_error` (502).","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"code":{"type":"string","description":"Detalhe do `type` no pagamento transparente: `charge_not_pending`, `payment_in_progress`, `method_unavailable`, `card_input_not_supported`, `payment_declined` ou `gateway_error`.","uniqueKey":"error.code","typeLabel":"string"},"param":{"type":"string","description":"Parâmetro que falhou, em `invalid_request`.","uniqueKey":"error.param","typeLabel":"string"},"requiredScope":{"type":"string","description":"Escopo que falta, em `insufficient_scope`.","uniqueKey":"error.requiredScope","typeLabel":"string"}},"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"type":"\u003cstring>","message":"\u003cstring>","code":"\u003cstring>","param":"\u003cstring>","requiredScope":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"30d45594-aac3-4b55-8b91-d19ee3739802":{"description":"Erro","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","required":["type","message"],"properties":{"type":{"type":"string","description":"`authentication` (401), `insufficient_scope` (403), `forbidden` (403, rota de parceiro chamada por outra loja), `invalid_request` (400), `not_found` (404) e, no pagamento transparente, `payment_declined` (402), `conflict` (409), `unprocessable` (422) e `gateway_error` (502).","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"code":{"type":"string","description":"Detalhe do `type` no pagamento transparente: `charge_not_pending`, `payment_in_progress`, `method_unavailable`, `card_input_not_supported`, `payment_declined` ou `gateway_error`.","uniqueKey":"error.code","typeLabel":"string"},"param":{"type":"string","description":"Parâmetro que falhou, em `invalid_request`.","uniqueKey":"error.param","typeLabel":"string"},"requiredScope":{"type":"string","description":"Escopo que falta, em `insufficient_scope`.","uniqueKey":"error.requiredScope","typeLabel":"string"}},"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"type":"\u003cstring>","message":"\u003cstring>","code":"\u003cstring>","param":"\u003cstring>","requiredScope":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"2f1dd5f4-3f17-4083-8c91-65f6c556a7c0":{"description":"A chave é válida, mas não tem o escopo exigido pela operação.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","required":["type","message"],"properties":{"type":{"type":"string","description":"`authentication` (401), `insufficient_scope` (403), `forbidden` (403, rota de parceiro chamada por outra loja), `invalid_request` (400), `not_found` (404) e, no pagamento transparente, `payment_declined` (402), `conflict` (409), `unprocessable` (422) e `gateway_error` (502).","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"code":{"type":"string","description":"Detalhe do `type` no pagamento transparente: `charge_not_pending`, `payment_in_progress`, `method_unavailable`, `card_input_not_supported`, `payment_declined` ou `gateway_error`.","uniqueKey":"error.code","typeLabel":"string"},"param":{"type":"string","description":"Parâmetro que falhou, em `invalid_request`.","uniqueKey":"error.param","typeLabel":"string"},"requiredScope":{"type":"string","description":"Escopo que falta, em `insufficient_scope`.","uniqueKey":"error.requiredScope","typeLabel":"string"}},"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"type":"insufficient_scope","message":"Esta chave de API não tem o escopo students:read.","requiredScope":"students:read"}},"examples":{"Example":{"title":"Example","value":{"error":{"type":"insufficient_scope","message":"Esta chave de API não tem o escopo students:read.","requiredScope":"students:read"}}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"09abb6d5-3458-4339-bdbb-4391192bb989":{"bearerAuth":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"1c1c7f27-0b9d-401e-a017-98e680c1df97":{"url":"https://api.sandbox.gravitypay.app","description":"Sandbox (testes) — alvo do try-it"},"0f1d9766-b463-4e6d-94bd-1bfaad3810bb":{"url":"https://api.gravitypay.app","description":"Produção"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi.json"},"subdomain":"gravityplay","siteName":"Gravity Play","title":"Criar cobrança - Gravity Play","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-22T14:32:06.424Z","originalFileLocation":"api-reference/cobranças/criar-cobrança.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=\"Cria uma cobrança avulsa e devolve uma checkoutUrl para o cliente pagar. O postbackSecret (que valida os webhooks desta cobrança) é retornado apenas nesta resposta de criação. Pagamento transparente: mande também o campo payment (mesmo formato de POST /v1/charges/{id}/payments) para criar a cobrança e o pagamento numa chamada só. O corpo inteiro é validado antes: dado faltando, inclusive o que só o gateway da loja exige, é 400 e nenhuma cobrança nasce. Criada a cobrança, a resposta é sempre 201, com payment quando o pagamento deu certo ou paymentError quando falhou (recusa, método indisponível, formato de cartão errado, gateway fora); nesse caso a cobrança segue pending e aceita nova tentativa. Replay com o mesmo Idempotency-Key devolve a cobrança e o último pagamento dela, sem postbackSecret e sem criar outro pagamento. Escopo exigido: charges:write.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Gravity Play\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/gravityplay/K1lL00SbZCa1K75h/_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/gravityplay/K1lL00SbZCa1K75h/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/gravityplay/K1lL00SbZCa1K75h/_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/gravityplay/K1lL00SbZCa1K75h/_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/gravityplay/K1lL00SbZCa1K75h/_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/gravityplay/K1lL00SbZCa1K75h/_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/gravityplay/K1lL00SbZCa1K75h/_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/gravityplay/K1lL00SbZCa1K75h/_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/gravityplay/K1lL00SbZCa1K75h/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Criar cobrança - Gravity Play\">\u003cmeta data-mint-head property=\"og:description\" content=\"Cria uma cobrança avulsa e devolve uma checkoutUrl para o cliente pagar. O postbackSecret (que valida os webhooks desta cobrança) é retornado apenas nesta resposta de criação. Pagamento transparente: mande também o campo payment (mesmo formato de POST /v1/charges/{id}/payments) para criar a cobrança e o pagamento numa chamada só. O corpo inteiro é validado antes: dado faltando, inclusive o que só o gateway da loja exige, é 400 e nenhuma cobrança nasce. Criada a cobrança, a resposta é sempre 201, com payment quando o pagamento deu certo ou paymentError quando falhou (recusa, método indisponível, formato de cartão errado, gateway fora); nesse caso a cobrança segue pending e aceita nova tentativa. Replay com o mesmo Idempotency-Key devolve a cobrança e o último pagamento dela, sem postbackSecret e sem criar outro pagamento. Escopo exigido: charges:write.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Gravity Play\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.gravitypay.app/api-reference/cobranças/criar-cobrança\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://gravityplay.mintlify.app/_mintlify/api/og/v2?division=Cobran%C3%A7as\u0026amp;title=Criar+cobran%C3%A7a\u0026amp;description=Cria+uma+cobran%C3%A7a+avulsa+e+devolve+uma+%60checkoutUrl%60+para+o+cliente+pagar.+O+%60postbackSecret%60+%28que+valida+os+webhooks+desta+cobran%C3%A7a%29+%C3%A9+retornado+**apenas**+nes\u0026amp;theme=91ba7479a4ba67b966427c49\u0026amp;signature=5bef3cb4f51c7a162d40556fb8684c742632f447e0cf97bc5606d7720e936e12\">\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=\"Criar cobrança - Gravity Play\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Cria uma cobrança avulsa e devolve uma checkoutUrl para o cliente pagar. O postbackSecret (que valida os webhooks desta cobrança) é retornado apenas nesta resposta de criação. Pagamento transparente: mande também o campo payment (mesmo formato de POST /v1/charges/{id}/payments) para criar a cobrança e o pagamento numa chamada só. O corpo inteiro é validado antes: dado faltando, inclusive o que só o gateway da loja exige, é 400 e nenhuma cobrança nasce. Criada a cobrança, a resposta é sempre 201, com payment quando o pagamento deu certo ou paymentError quando falhou (recusa, método indisponível, formato de cartão errado, gateway fora); nesse caso a cobrança segue pending e aceita nova tentativa. Replay com o mesmo Idempotency-Key devolve a cobrança e o último pagamento dela, sem postbackSecret e sem criar outro pagamento. Escopo exigido: charges:write.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://gravityplay.mintlify.app/_mintlify/api/og/v2?division=Cobran%C3%A7as\u0026amp;title=Criar+cobran%C3%A7a\u0026amp;description=Cria+uma+cobran%C3%A7a+avulsa+e+devolve+uma+%60checkoutUrl%60+para+o+cliente+pagar.+O+%60postbackSecret%60+%28que+valida+os+webhooks+desta+cobran%C3%A7a%29+%C3%A9+retornado+**apenas**+nes\u0026amp;theme=91ba7479a4ba67b966427c49\u0026amp;signature=5bef3cb4f51c7a162d40556fb8684c742632f447e0cf97bc5606d7720e936e12\">\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/gravityplay/K1lL00SbZCa1K75h/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Gravity Play\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#EA580C\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.gravitypay.app/api-reference/cobranças/criar-cobrança\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/cobran%C3%A7as/criar-cobran%C3%A7a.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.gravitypay.app/#organization\",\"name\":\"Gravity Play\",\"url\":\"https://docs.gravitypay.app\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/gravityplay/b7AIIk7hcK-Pou2a/logo/light.png?fit=max\u0026auto=format\u0026n=b7AIIk7hcK-Pou2a\u0026q=85\u0026s=098c877fccb72289c5e070695f803600\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.gravitypay.app#website\",\"name\":\"Gravity Play\",\"url\":\"https://docs.gravitypay.app\",\"publisher\":{\"@id\":\"https://docs.gravitypay.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.gravitypay.app/api-reference/cobran%C3%A7as/criar-cobran%C3%A7a#webpage\",\"url\":\"https://docs.gravitypay.app/api-reference/cobran%C3%A7as/criar-cobran%C3%A7a\",\"name\":\"Criar cobrança\",\"description\":\"Cria uma cobrança avulsa e devolve uma checkoutUrl para o cliente pagar. O postbackSecret (que valida os webhooks desta cobrança) é retornado apenas nesta resposta de criação. Pagamento transparente: mande também o campo payment (mesmo formato de POST /v1/charges/{id}/payments) para criar a cobrança e o pagamento numa chamada só. O corpo inteiro é validado antes: dado faltando, inclusive o que só o gateway da loja exige, é 400 e nenhuma cobrança nasce. Criada a cobrança, a resposta é sempre 201, com payment quando o pagamento deu certo ou paymentError quando falhou (recusa, método indisponível, formato de cartão errado, gateway fora); nesse caso a cobrança segue pending e aceita nova tentativa. Replay com o mesmo Idempotency-Key devolve a cobrança e o último pagamento dela, sem postbackSecret e sem criar outro pagamento. Escopo exigido: charges:write.\",\"dateModified\":\"2026-10-22T14:32:06.424Z\",\"isPartOf\":{\"@id\":\"https://docs.gravitypay.app#website\"},\"breadcrumb\":{\"@id\":\"https://docs.gravitypay.app/api-reference/cobran%C3%A7as/criar-cobran%C3%A7a#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.gravitypay.app/api-reference/cobran%C3%A7as/criar-cobran%C3%A7a#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Gravity Play\",\"item\":\"https://docs.gravitypay.app\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Criar cobrança\",\"item\":\"https://docs.gravitypay.app/api-reference/cobran%C3%A7as/criar-cobran%C3%A7a\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.gravitypay.app/api-reference/cobran%C3%A7as/criar-cobran%C3%A7a#apireference\",\"headline\":\"Criar cobrança\",\"name\":\"Criar cobrança\",\"description\":\"Cria uma cobrança avulsa e devolve uma checkoutUrl para o cliente pagar. O postbackSecret (que valida os webhooks desta cobrança) é retornado apenas nesta resposta de criação. Pagamento transparente: mande também o campo payment (mesmo formato de POST /v1/charges/{id}/payments) para criar a cobrança e o pagamento numa chamada só. O corpo inteiro é validado antes: dado faltando, inclusive o que só o gateway da loja exige, é 400 e nenhuma cobrança nasce. Criada a cobrança, a resposta é sempre 201, com payment quando o pagamento deu certo ou paymentError quando falhou (recusa, método indisponível, formato de cartão errado, gateway fora); nesse caso a cobrança segue pending e aceita nova tentativa. Replay com o mesmo Idempotency-Key devolve a cobrança e o último pagamento dela, sem postbackSecret e sem criar outro pagamento. Escopo exigido: charges:write.\",\"url\":\"https://docs.gravitypay.app/api-reference/cobran%C3%A7as/criar-cobran%C3%A7a\",\"mainEntityOfPage\":{\"@id\":\"https://docs.gravitypay.app/api-reference/cobran%C3%A7as/criar-cobran%C3%A7a#webpage\"},\"dateModified\":\"2026-10-22T14:32:06.424Z\",\"publisher\":{\"@id\":\"https://docs.gravitypay.app/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.gravitypay.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Gravity Play\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Gravity Play","nav":{"global":null,"tabs":[{"tab":"Guias","pages":[{"title":"Guias","href":""}]},{"tab":"Referência da API","groups":[{"group":"Cobranças","pages":[{"title":"Criar cobrança","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/charges","href":"/api-reference/cobranças/criar-cobrança"},{"title":"Consultar cobrança","description":"Retorna uma cobrança pelo id. O `postbackSecret` **não** é retornado aqui — só na criação.\n\nEscopo exigido: `charges:read`.","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/charges/{id}","href":"/api-reference/cobranças/consultar-cobrança"},{"title":"Pagar cobrança (pagamento transparente)","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/charges/{id}/payments","href":"/api-reference/cobranças/pagar-cobrança-pagamento-transparente"},{"title":"Métodos de pagamento da loja","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/payment-methods","href":"/api-reference/cobranças/métodos-de-pagamento-da-loja"}]},{"group":"Pagamentos","pages":[{"title":"Listar cobranças","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/payments","href":"/api-reference/pagamentos/listar-cobranças"},{"title":"Listar vendedores","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/sales-reps","href":"/api-reference/pagamentos/listar-vendedores"}]},{"group":"Assinaturas","pages":[{"title":"Listar assinaturas","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/subscriptions","href":"/api-reference/assinaturas/listar-assinaturas"}]},{"group":"Cursos","pages":[{"title":"Listar cursos","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/courses","href":"/api-reference/cursos/listar-cursos"},{"title":"Consultar curso","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/courses/{id}","href":"/api-reference/cursos/consultar-curso"}]},{"group":"Turmas","pages":[{"title":"Listar turmas","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/cohorts","href":"/api-reference/turmas/listar-turmas"}]},{"group":"Alunos","pages":[{"title":"Listar alunos","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/students","href":"/api-reference/alunos/listar-alunos"},{"title":"Consultar aluno","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/students/{id}","href":"/api-reference/alunos/consultar-aluno"},{"title":"Progresso do aluno","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/students/{id}/progress","href":"/api-reference/alunos/progresso-do-aluno"}]}]}]},"basePath":"","title":"Criar cobrança - Gravity Play","buildId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","deploymentId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DX1Meug0.js","utils-B_OMIQVC.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-ChxhRPMa.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CuKvD8Iv.js","snippetPresets-C5d7p2hp.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CfHcE8m4.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C1zZV314.js","shallow-CmQhqCJn.js","getApiPlaygroundDisplay-YRo9s1O7.js","CodeSnippet-RN1MTdfk.js","CodeSnippets-DKLPHxJA.js","Page-BAvA99GL.js","getPastedJson-bz0M41mU.js","icon-CsmhpPrv.js","MethodPill-CNGsVE77.js","DuplicateIcon-DilfU_Z2.js","createIcon-BdsYzQck.js","DynamicMarkdown-CbqEDjbV.js","SectionHeading-O6hXpFCN.js","axios-vUo_bRtp.js","Markdown-nKm-uidQ.js","clsx-ClVdStUn.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CIQkMg3R.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-ImrFS4Fy.js"]}