<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Payment-Gateway on Kuldeep Pisda</title><link>https://kdpisda.in/tag/payment-gateway/</link><description>Recent content in Payment-Gateway on Kuldeep Pisda</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 14 Feb 2026 10:00:00 +0530</lastBuildDate><atom:link href="https://kdpisda.in/tag/payment-gateway/index.xml" rel="self" type="application/rss+xml"/><item><title>Building CCAvenue Right, Then Open-Sourcing python-pay-ccavenue</title><link>https://kdpisda.in/building-ccavenue-payments-open-source-python-pay-ccavenue/</link><pubDate>Sat, 14 Feb 2026 10:00:00 +0530</pubDate><guid>https://kdpisda.in/building-ccavenue-payments-open-source-python-pay-ccavenue/</guid><description>&lt;p&gt;When Django took over the payments slice from the FastAPI proxy (chapter 4), I made myself a promise: this time CCAvenue would be built &lt;em&gt;properly&lt;/em&gt;, not smeared across a request handler with encryption copied from a vendor sample and a prayer. I had already integrated it once — deliberately badly — back in the proxy era, just to prove people would pay for courses at all. They did: roughly one in ten of six thousand users. But that first version was a pile of &lt;code&gt;hashlib&lt;/code&gt; calls and string concatenation I never wanted to write again. So on the rebuild I wrote it one more time, carefully, and then pulled the gnarly core out into a package so nobody would ever have to. That package is &lt;a href="https://github.com/kdpisda/python-pay-ccavenue"&gt;&lt;code&gt;python-pay-ccavenue&lt;/code&gt;&lt;/a&gt;, and extracting it was the highest-leverage hour in the whole payments effort.&lt;/p&gt;</description></item><item><title>The Hack in Front of the CMS: A Cache and a Checkout on Directus</title><link>https://kdpisda.in/fastapi-proxy-directus-caching-ccavenue/</link><pubDate>Sun, 18 Jan 2026 10:00:00 +0530</pubDate><guid>https://kdpisda.in/fastapi-proxy-directus-caching-ccavenue/</guid><description>&lt;h2 id="the-success-problem-up-close"&gt;The success problem, up close&lt;a class="heading-anchor" href="#the-success-problem-up-close" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Chapter 1 ended on a good note with a nasty tail. The throwaway MVP on Directus worked — people came back, finished long talks, and we were climbing toward roughly 2,000 users. But the same thing that proved the bet started to hurt. As traffic grew, the API responses coming out of the CMS got heavy and slow, and the app began to feel sticky on exactly the cheap Android phones our audience actually used.&lt;/p&gt;</description></item></channel></rss>