OPT-SIG-005Decisión del bancoFirma y cabeceras
Idempotencia y duplicados
¿Cómo detecta el banco una petición repetida o un duplicado?
Las opciones
Idempotency-KeyObligatorio en
POST /payment-requests,POST …/confirmationyPOST /funds-confirmations, con las reglas de unicidad y expiración del draft del IETF.paymentInformationIdUn indicio para evitar una doble SCA o una doble ejecución. El banco también puede usar sus propios mecanismos.
- En STET 1.6.3
- Parte 1, §3.7 Otras cabeceras HTTP específicas que deben utilizarse, p. 57
- OpenAPI
IdempotencyHeaderPaymentInformationId - Registro de cambiosCR 526
- Lado del banco
- Documentar el período de validez de una clave, que la especificación no fija. El banco también puede modificar identificadores para evitar duplicados, y en ese caso devuelve el recurso modificado.
- Lado del TPP
- Reutilizar la misma clave para un retry de la misma petición, nunca para una nueva. Volver a leer el recurso con
GETen lugar de suponer que se han conservado sus identificadores. La clave no se aplica alPUTde cancelación.
La ficha tal como está almacenada
{
"id": "OPT-SIG-005",
"edition": "1.6.3",
"chooser": "aspsp",
"title": {
"fr": "Idempotence et doublons",
"en": "Idempotency and duplicates",
"es": "Idempotencia y duplicados",
"pt-br": "Idempotência e duplicidades"
},
"question": {
"fr": "Comment la banque détecte-t-elle une requête rejouée ou un doublon ?",
"en": "How does the bank detect a replayed request or a duplicate?",
"es": "¿Cómo detecta el banco una petición repetida o un duplicado?",
"pt-br": "Como o banco detecta uma requisição reenviada ou duplicada?"
},
"options": [
{
"label": {
"fr": "`Idempotency-Key`",
"en": "`Idempotency-Key`",
"es": "`Idempotency-Key`",
"pt-br": "`Idempotency-Key`"
},
"text": {
"fr": "Obligatoire sur `POST /payment-requests`, `POST …/confirmation` et `POST /funds-confirmations`, avec les règles d'unicité et d'expiration du draft IETF.",
"en": "Mandatory on `POST /payment-requests`, `POST …/confirmation` and `POST /funds-confirmations`, with the uniqueness and expiry rules of the IETF draft.",
"es": "Obligatorio en `POST /payment-requests`, `POST …/confirmation` y `POST /funds-confirmations`, con las reglas de unicidad y expiración del draft del IETF.",
"pt-br": "Obrigatória em `POST /payment-requests`, `POST …/confirmation` e `POST /funds-confirmations`, com as regras de unicidade e de expiração do draft da IETF."
}
},
{
"label": {
"fr": "`paymentInformationId`",
"en": "`paymentInformationId`",
"es": "`paymentInformationId`",
"pt-br": "`paymentInformationId`"
},
"text": {
"fr": "Un indice pour éviter une double SCA ou une double exécution. La banque peut aussi utiliser ses propres mécanismes.",
"en": "A hint to avoid a double SCA or a double execution. The bank may also use its own mechanisms.",
"es": "Un indicio para evitar una doble SCA o una doble ejecución. El banco también puede usar sus propios mecanismos.",
"pt-br": "Uma indicação para evitar uma SCA duplicada ou uma execução duplicada. O banco também pode usar mecanismos próprios."
}
}
],
"stet": {
"sections": [
{
"part": "framework",
"section": "3.7",
"page": 57
}
],
"openapi": [
"IdempotencyHeader",
"PaymentInformationId"
],
"flows": [],
"changes": [
526
],
"remark": null
},
"aspsp": {
"fr": "Documenter la durée de validité d'une clé, que la spec ne fixe pas. La banque peut aussi mettre à jour des identifiants pour éviter les doublons, et renvoie alors la ressource modifiée.",
"en": "Document how long a key stays valid, which the spec does not set. The bank may also update identifiers to avoid duplicates, and then returns the modified resource.",
"es": "Documentar el período de validez de una clave, que la especificación no fija. El banco también puede modificar identificadores para evitar duplicados, y en ese caso devuelve el recurso modificado.",
"pt-br": "Documentar o prazo de validade de uma chave, que a especificação não fixa. O banco também pode atualizar identificadores para evitar duplicidades e, nesse caso, retorna o recurso modificado."
},
"tpp": {
"fr": "Réutiliser la même clé pour un retry de la même requête, jamais pour une nouvelle. Relire la ressource par `GET` plutôt que supposer que ses identifiants ont été gardés. La clé ne s'applique pas au `PUT` d'annulation.",
"en": "Reuse the same key for a retry of the same request, never for a new one. Read the resource back with `GET` instead of assuming its identifiers were kept. The key does not apply to the cancellation `PUT`.",
"es": "Reutilizar la misma clave para un retry de la misma petición, nunca para una nueva. Volver a leer el recurso con `GET` en lugar de suponer que se han conservado sus identificadores. La clave no se aplica al `PUT` de cancelación.",
"pt-br": "Reutilizar a mesma chave para um retry da mesma requisição, nunca para uma nova. Reler o recurso com `GET` em vez de supor que os identificadores foram mantidos. A chave não se aplica ao `PUT` de cancelamento."
},
"regulation": null,
"note": null,
"production": null,
"verifiedAt": "2026-10-19"
}