> ## Documentation Index
> Fetch the complete documentation index at: https://scaleup-c34c4386.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# GET /api/v1/sdk/organizations/:orgId/checkouts/:checkoutId

> Retorna um checkout por ID somente se o produto principal da sessão pertence à sub-organização do path.

Busca um checkout por `checkoutId` com o mesmo payload enriquecido que `GET /v1/checkouts/:id`, mas com **isolamento por URL**:

* Se o checkout existir, porém o produto principal (`checkouts.product_id` → `products.organization_id`) for **diferente** de `:orgId`, a API responde **`404 Not Found`** (mesmo que o JWT do pai pudesse enxergar esse checkout em outro contexto).

Assim, integrações que usam `:orgId` no path nunca misturam acidentalmente sessões de outro vendedor.

## Autenticação

**JWT da organização pai** com relação direta para `:orgId`.

## Escopos

Pelo menos um de: `web:read`, `web:write`, `checkouts:read`.

## Parâmetros de path

**orgId** `string` *required*

UUID da sub-organização esperada como dona do produto principal do checkout.

**checkoutId** `string` *required*

UUID da sessão de checkout.

## Resposta

`200 OK` — objeto checkout (produto embutido, cliente, desconto, etc.), alinhado ao endpoint principal.

## Erros

| HTTP | Motivo |
| - | - |
| `404` | Checkout inexistente, soft-deleted, **ou** produto principal não pertence a `:orgId` |
| `401` / `403` | Token, escopo ou vínculo pai–filho inválido |

## Exemplos

### Obter checkout após criação

```bash cURL theme={null}
curl -s "${API_BASE:-https://api.chargefy.io/api}/v1/sdk/organizations/${CHILD_ORG_ID}/checkouts/${CHECKOUT_ID}" \
  -H "Authorization: Bearer ${PARENT_JWT}" \
  -H "Accept: application/json" | jq .
```

```typescript SDK theme={null}
import { Chargefy } from '@chargefy/sdk'

const chargefy = new Chargefy({ accessToken: process.env.PARENT_JWT! })

const checkout = await chargefy.subOrganizations.getCheckout(
  process.env.CHILD_ORG_ID!,
  process.env.CHECKOUT_ID!
)

if (!checkout.ok) {
  console.error(checkout.error)
  process.exit(1)
}

console.log({
  id: checkout.value.id,
  status: checkout.value.status,
  amount: checkout.value.amount,
  currency: checkout.value.currency,
  productName: checkout.value.product?.name,
})
```

### Fluxo típico: criar → redirecionar → consultar status pelo ID

```typescript theme={null}
const create = await chargefy.subOrganizations.createCheckout(childOrgId, {
  productId: productId,
  customerEmail: 'user@example.com',
})
if (!create.ok) throw create.error

const checkoutId = create.value.id

// Mais tarde, job de reconciliação ou painel do marketplace:
const again = await chargefy.subOrganizations.getCheckout(childOrgId, checkoutId)
if (!again.ok) throw again.error
console.log('Status atual:', again.value.status)
```

### Tentativa com `orgId` errado (404)

Se você trocar `CHILD_ORG_ID` por o UUID de **outro** filho que não é dono do produto da sessão, o mesmo `CHECKOUT_ID` retorna 404 neste path — propositalmente, para não vazar que o ID existe em outra loja.

```bash theme={null}
curl -s -o /dev/null -w "%{http_code}" \
  "${API_BASE}/v1/sdk/organizations/${WRONG_CHILD_ORG_ID}/checkouts/${CHECKOUT_ID}" \
  -H "Authorization: Bearer ${PARENT_JWT}"
# Esperado: 404
```

### Variáveis (bash)

```bash theme={null}
export API_BASE="https://api.chargefy.io/api"
export PARENT_JWT="<supabase_jwt>..."
export CHILD_ORG_ID="uuid_sub_org"
export CHECKOUT_ID="uuid_checkout"
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.