Skip to main content
Atualiza checkout aberto (status === open), com o mesmo conjunto de campos opcionais que PATCH /v1/checkouts/:id. Regras específicas deste path:
  1. O checkout deve existir e seu produto principal deve ter organization_id === :orgId; caso contrário 404 (igual ao GET escopado).
  2. Se o corpo incluir product_id ou product_price_id, o novo produto (resolvido a partir do preço, se for o caso) também deve pertencer a :orgId; senão 422.
Outras regras do núcleo permanecem (ex.: não atualizar checkout já confirmado → 403).

Autenticação

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

Escopos

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

Parâmetros de path

orgId
string
required
Sub-organização dona esperada do produto principal (e de qualquer produto novo na atualização).
checkoutId
string
required
ID da sessão.

Corpo (parcial)

Todos os campos são opcionais; envie apenas o que mudar. Exemplos em snake_case no HTTP:
customer_email
string
customer_name
string
customer_tax_id
string
product_id
string
Novo produto principal — deve ser da sub-org :orgId.
product_price_id
string
Novo preço — produto associado deve ser da sub-org :orgId.
amount
integer
Valor em centavos (quando permitido pelo fluxo de preço).
seats
integer
discount_id
string
metadata
object
success_url
string
Para a lista completa, alinhe-se ao comportamento de PATCH /v1/checkouts/:id no ambiente que você integra.

Resposta

200 OK — checkout atualizado.

Erros

HTTPMotivo
404Checkout não encontrado ou não pertence a :orgId no sentido do produto principal
403Checkout não está open
422Novo product_id / product_price_id não é da sub-org :orgId
401 / 403Token, escopo ou vínculo pai–filho

Exemplos

Atualizar e-mail e nome antes do pagamento

curl -s -X PATCH "${API_BASE:-https://api.chargefy.io/api}/v1/sdk/organizations/${CHILD_ORG_ID}/checkouts/${CHECKOUT_ID}" \
  -H "Authorization: Bearer ${PARENT_JWT}" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_email": "[email protected]",
    "customer_name": "Maria Silva Santos"
  }' | jq .

Trocar para outro produto do mesmo filho

curl -s -X PATCH "${API_BASE}/v1/sdk/organizations/${CHILD_ORG_ID}/checkouts/${CHECKOUT_ID}" \
  -H "Authorization: Bearer ${PARENT_JWT}" \
  -H "Content-Type: application/json" \
  -d '{"product_id": "'"${OTHER_PRODUCT_SAME_CHILD_ID}"'"}' | jq .

Metadados para conciliação no marketplace

await chargefy.subOrganizations.updateCheckout(childOrgId, checkoutId, {
  metadata: {
    marketplace_order_ref: 'ord_998877',
    seller_slug: 'loja-b',
  },
})

Variáveis (bash)

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"
export OTHER_PRODUCT_SAME_CHILD_ID="uuid_outro_produto_mesma_sub_org"