{"id":18887,"date":"2019-09-03T11:00:08","date_gmt":"2019-09-03T09:00:08","guid":{"rendered":"https:\/\/www.intellias.com\/?p=18887"},"modified":"2024-04-29T12:47:45","modified_gmt":"2024-04-29T10:47:45","slug":"how-to-deal-with-transaction-inconsistency-in-payments-a-technical-case-study","status":"publish","type":"blog","link":"https:\/\/intellias.com\/how-to-deal-with-transaction-inconsistency-in-payments-a-technical-case-study\/","title":{"rendered":"How to Deal with Transaction Inconsistency in Payments: A Technical Case Study"},"content":{"rendered":"

From a technical standpoint, a payment transaction is some unit of work performed in distributed systems. Every database transaction has ACID properties<\/a> \u2013 they are atomic, consistent, isolated and durable. But when it comes to payments, transactional consistency means that a transaction can go through without any issues (even if the user messed up something).<\/p>\n

Here\u2019s a quick example to illustrate this point: You are PSP (payment service provider) such as PayPal. Some user wants to send $25 to an eBay seller. So when the person clicks that \u201cpay\u201d button, several things happen behind the hood:<\/p>\n