<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel>
<title>Payments Architecture Blog — Avik Ganguly</title>
<link>https://tradeofflore.com/blog/</link>
<atom:link href="https://tradeofflore.com/blog/feed.xml" rel="self" type="application/rss+xml"/>
<description>Practitioner write-ups on payments architecture, release engineering and ledger design.</description>
<language>en</language>
<item><title>Never Reuse a Release Tag: One Overwritten Image, One Burned Version</title><link>https://tradeofflore.com/blog/never-reuse-a-release-tag/</link><guid isPermaLink="true">https://tradeofflore.com/blog/never-reuse-a-release-tag/</guid><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><description>Why a reused Docker image tag slips past Kubernetes, when reusing a deleted release's tag is safe, and what a release pipeline should enforce instead.</description></item>
<item><title>Passed All Tests in Integration and Acceptance, Then Broke Production</title><link>https://tradeofflore.com/blog/payment-releases-break-in-production/</link><guid isPermaLink="true">https://tradeofflore.com/blog/payment-releases-break-in-production/</guid><pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate><description>Why payment releases that pass integration and acceptance tests still break in production: config drift between environments that different teams own.</description></item>
<item><title>Idempotency Keys in Payment APIs: Safe Retries Without Double Charges</title><link>https://tradeofflore.com/blog/idempotency-keys-payments/</link><guid isPermaLink="true">https://tradeofflore.com/blog/idempotency-keys-payments/</guid><pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate><description>How idempotency keys stop payment retries from double-charging — and why the key has to be enforced at the ledger write, not just cached at the API gateway.</description></item>
</channel></rss>