---
title: "Discussion on \"Payment failed but money deducted: how idempotency keys stop double charges\" | Hashnode"
description: "Discussion on \"Payment failed but money deducted: how idempotency keys stop double charges\". The app shows \"Payment failed\". A second later your phone gets an SMS: ₹2,000 debited.\nYou tap Pay again. Now ₹4,000 is gone, and you still have no order.\nThis post covers why this happens, the fixes"
url: "https://hashnode.com/posts/payment-failed-money-deducted-idempotency/6af2d4383c36fe3908d4fd5a"
---

[Feed](https://hashnode.com/feed) /

Discussion

# [Payment failed but money deducted: how idempotency keys stop double charges](https://systemdesignwithparam.hashnode.dev/payment-failed-money-deducted-idempotency?utm_source=hashnode&utm_medium=feed)

The app shows "Payment failed". A second later your phone gets an SMS: ₹2,000 debited. You tap Pay again. Now ₹4,000 is gone, and you still have no order. This post covers why this happens, the fixes

4h ago · 5 min read · systemdesignwithparam.hashnode.dev  
Read the article

-   [#system-design](https://hashnode.com/tag/system-design)
-   [#system-design-interview](https://hashnode.com/tag/system-design-interview)
-   [#idempotency](https://hashnode.com/tag/idempotency)
-   [#payments](https://hashnode.com/tag/payments)
-   [#backend](https://hashnode.com/tag/backend)

## Written by

[Parminder singh](https://hashnode.com/@param007)

@param007

  
[View profile](https://hashnode.com/@param007)

Software developer · Writing system design with real numbers and tests

Software developer who writes about system design the practical way. I take interview-style questions like rate limiters, flash sales, and large file uploads, then test them on my own machine and share what actually breaks. New post every few days at System Design with Param.

## Responses

Markdown supported · ⌘↵ to post

No responses yet.
