RNRaj Nagulapalleinfetchsandbox.hashnode.dev·6d ago · 5 min readYour Paddle Webhook Is Signed. The Seat Count Is Not.The webhook passed signature verification. Paddle said the transaction was complete. The customer paid for 5 seats. The database granted 500. Nothing forged the webhook. The dangerous value had entere00
RNRaj Nagulapalleinfetchsandbox.hashnode.dev·Sep 7 · 5 min readYour PayPal Refund Worked. Your Lovable App Says It Failed.Your app called PayPal's refund endpoint. PayPal completed the operation, but the 201 Created response never reached your server. The app retries and receives 422 CAPTURE_FULLY_REFUNDED. If the handle00
RNRaj Nagulapalleinfetchsandbox.hashnode.dev·Sep 6 · 5 min readYour AI builder shipped the Stripe code in an afternoon. Verifying it took a week.A friend shipped a booking app last month. Lovable built the whole thing, Stripe Checkout included, in something like an afternoon. It looked finished. It was finished, in the sense that you could pay00
RNRaj Nagulapalleinfetchsandbox.hashnode.dev·Aug 11 · 6 min readGreen passed. The fix granted zero seats.TL;DR "Did the bug stop?" is a weak invariant. An over-suppressing fix — grant nothing — also stops the bug. Assert the exact correct end state: after N identical deliveries, seats == the purchased 00
RNRaj Nagulapalleinfetchsandbox.hashnode.dev·Jul 30 · 3 min readWhy Paddle's subscription.activated arrives before subscription.createdI was building a Paddle integration last week. Subscription billing, nothing fancy. Customer clicks buy, Paddle handles checkout, my app gets webhooks and updates the database. The flow should be simp00