{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://bcp.dev.br/draft/schemas/shopping/types/binding.json",
  "title": "Binding",
  "description": "Binds a token to a specific checkout session and participant. Prevents token reuse across different checkouts or participants.",
  "description_pt": "Vincula um token a uma sessão de checkout e a um participante específicos. Impede a reutilização do token entre diferentes checkouts ou participantes.",
  "type": "object",
  "required": [
    "checkout_id"
  ],
  "properties": {
    "checkout_id": {
      "type": "string",
      "description": "The checkout session identifier this token is bound to.",
      "description_pt": "O identificador da sessão de checkout à qual este token está vinculado."
    },
    "identity": {
      "$ref": "https://bcp.dev.br/draft/schemas/shopping/types/payment_identity.json",
      "description": "The participant this token is bound to. Required when acting on behalf of another participant (e.g., agent tokenizing for merchant). Omit when the authenticated caller is the binding target.",
      "description_pt": "O participante ao qual este token está vinculado. Obrigatório ao agir em nome de outro participante (ex.: agente tokenizando para o merchant). Omita quando o chamador autenticado for o alvo da vinculação."
    }
  }
}
