Menu

Asset

Esempio enterprise: conferma pagamento ritentata

Un provider di pagamento può notificare o confermare la stessa transazione più volte, e l'ordine deve restare coerente.

Tipo
Esempio

Immagina un OMS che riceve la conferma di pagamento per un ordine e aggiorna lo stato da pending_payment a paid. Se la chiamata va in timeout, il chiamante ritenta. Senza idempotenza, il sistema potrebbe registrare due eventi di pagamento, avviare due processi di fulfillment o inviare due comunicazioni al cliente. Con una chiave basata su orderId e paymentTransactionId, il secondo tentativo viene riconosciuto come duplicato della stessa intenzione e produce lo stesso risultato applicativo.

Tag