Skip to main content
RazorpayCustomer feedback

A developer implementing Razorpay Subscriptions and UPI Autopay shared key implementation gotchas, noting that UPI Autopay requires manual support activation and detailing webhook verification...

What happened

A developer implementing Razorpay Subscriptions and UPI Autopay shared key implementation gotchas, noting that UPI Autopay requires manual support activation and detailing webhook verification requirements.

Source

Post

Highlighted: the lines this signal was extracted from

I just launched a small paid SaaS (GST invoicing) as a solo dev and wired up Razorpay subscriptions end to end. A few things cost me time, so sharing in case it helps someone: UPI Autopay is not on by default. Checkout showed only cards for subscriptions. You have to ask Razorpay support to enable UPI Autopay, and test mode and live mode are enabled separately. Don't trust the Checkout success callback alone. Verify the signature server-side: HMAC-SHA256 of `payment_id|subscription_id` with your key secret. Then fetch the subscription from the API to get `current_end` for the access expiry. Webhooks are your real source of truth. Renewals, halts and cancellations only reach you there. Verify `X-Razorpay-Signature` against the raw request body, not parsed JSON, or it will fail. Put the user id in subscription `notes` when you create it. That way the webhook can always map an event back to a user, even if your DB write failed earlier. Never let the client decide who is "paid". I store the paid-until date in a table users can read but not write (Postgres row-level security), and only the webhook/server function updates it. Cancel with `cancel_at_cycle_end: 1` so users keep what they paid for. Fewer refund requests, fewer angry emails. KYC review looks at your website. Terms, privacy, refund policy, contact page and a visible pricing page with your legal name made...

Keep reading with a free account

The rest of this post, and every signal for Razorpay, is in your free account.

Comments on the post

1 of 2 comments
  • “Great writeup. The cancel_at_cycle_end tip is something way too many SaaS setups overlook and then wonder why churn spikes right after someone cancels. That dialog stacking issue wouldve driven me up a wall, its always the tiny frontend things that eat half a day for no reason.”

    u/JuggernautSlow30291 points · Oct 8, 2026View

Extracted by Autobound

From the Signal API record
Signal
Customer feedback

What this signalsUser posts often show product pain before it reaches reviews or churn.

Subreddit
r/payments
Event date
Oct 2026

The full record

From the Signal API record

Numbers

Mentions
2

Details

Timing
Completed
Category
Implementation
Virality
Very low
Post kind
Text
Prominence
Core
Company's role
Vendor

Topics and mentions

Topics

  • payments
  • subscriptions
  • implementation
  • upi

Products named

  • Razorpay Subscriptions
  • Razorpay Checkout

Extraction

Sentiment
Neutral
Detected
Oct 8, 2026
signal_type
reddit-company
signal_subtype
customerFeedback

Use this data

Get every Reddit signal for Razorpay and the companies you sell to, in the tools you already use.

  1. Ask Claude about it

    Connect Autobound to Claude, Claude Code or Cursor with MCP. Then ask: “What changed at Razorpay this week?”

  2. Send it to your own tools

    The Signal API returns Reddit signals for any list of companies as JSON, for your CRM, warehouse or app.

  3. Try it free

    Sign up and spend your free credits on the companies you sell to.

    Start Free1,000 free credits

The API returns more than this page shows

This page shows a preview. The full reddit-company record in the Signal API and MCP can also have these 8 fields. Some fields are empty for some signals.

Company

  • linkedin_urlValue in the API
  • industriesValue in the API
  • employee_count_lowValue in the API
  • employee_count_highValue in the API
  • revenueValue in the API
  • descriptionValue in the API

Signal

  • signal_nameValue in the API
  • associationValue in the API
Show the full JSONThe record on this page and the API request

GET /v1/signals/5200a9b1-21cd-55fc-aa44-b53fa8b32579 returns this record as JSON. POST /v1/companies/enrich returns every signal for razorpay.com.

{
  "signal_id": "5200a9b1-21cd-55fc-aa44-b53fa8b32579",
  "signal_type": "reddit-company",
  "signal_subtype": "customerFeedback",
  "detected_at": "2026-10-08T17:13:27+00:00",
  "company": {
    "name": "Razorpay",
    "domain": "razorpay.com"
  },
  "data": {
    "nsfw": false,
    "stage": "none",
    "awards": 0,
    "timing": "completed",
    "topics": [
      "payments",
      "subscriptions",
      "upi",
      "implementation"
    ],
    "post_id": "1x0wokq",
    "summary": "A developer implementing Razorpay Subscriptions and UPI Autopay shared key implementation gotchas, noting that UPI Autopay requires manual support activation and detailing webhook verification requirements.",
    "category": "implementation",
    "comments": [
      {
        "url": "https://www.reddit.com/r/payments/comments/1x0wokq/comment/peodpug/",
        "depth": 0,
        "score": 1,
        "author": "JuggernautSlow3029",
        "excerpt": "Great writeup. The cancel_at_cycle_end tip is something way too many SaaS setups overlook and then wonder why churn spikes right after someone cancels.\n\n That dialog stacking issue wouldve driven me up a wall, its always the tiny frontend things that eat half a day for no reason.",
        "posted_at": "2026-10-08T17:16:55.000Z",
        "author_url": "https://www.reddit.com/user/JuggernautSlow3029/"
      }
    ],
    "evidence": [
      "[post] UPI Autopay is not on by default. Checkout showed only cards for subscriptions. You have to ask Razorpay support to enable UPI Autopay, and test mode and live mode are enabled separately.",
      "[post] Webhooks are your real source of truth. Renewals, halts and cancellations only reach you there. Verify `X-Razorpay-Signature` against the raw request body, not parsed JSON, or it will fail."
    ],
    "virality": "very_low",
    "post_date": "2026-10-08T17:13:27.000Z",
    "post_kind": "text",
    "post_text": "I just launched a small paid SaaS (GST invoicing) as a solo dev and wired up Razorpay subscriptions end to end. A few things cost me time, so sharing in case it helps someone:\n\nUPI Autopay is not on by default. Checkout showed only cards for subscriptions. You have to ask Razorpay support to enable UPI Autopay, and test mode and live mode are enabled separately.\n\nDon't trust the Checkout success callback alone. Verify the signature server-side: HMAC-SHA256 of `payment_id|subscription_id` with your key secret. Then fetch the subscription from the API to get `current_end` for the access expiry.\n\nWebhooks are your real source of truth. Renewals, halts and cancellations only reach you there. Verify `X-Razorpay-Signature` against the raw request body, not parsed JSON, or it will fail.\n\nPut the user id in subscription `notes` when you create it. That way the webhook can always map an event back to a user, even if your DB write failed earlier.\n\nNever let the client decide who is \"paid\". I store the paid-until date in a table users can read but not write (Postgres row-level security), and only the webhook/server function updates it.\n\nCancel with `cancel_at_cycle_end: 1` so users keep what they paid for. Fewer refund requests, fewer angry emails.\n\nKYC review looks at your website. Terms, privacy, refund policy, contact page and a visible pricing page with your legal name made approval...",
    "sentiment": "neutral",
    "subreddit": "payments",
    "event_date": "2026-10",
    "post_title": "What I learned integrating Razorpay Subscriptions + UPI Autopay for a solo SaaS (things the docs don't make obvious)",
    "prominence": "core",
    "source_url": "https://www.reddit.com/r/payments/comments/1x0wokq/what_i_learned_integrating_razorpay_subscriptions/",
    "entity_role": "vendor",
    "post_author": "BillKaro",
    "upvote_ratio": 1,
    "mention_count": 2,
    "mention_surge": false,
    "subreddit_url": "https://www.reddit.com/r/payments/",
    "total_upvotes": 2,
    "comments_total": 2,
    "total_comments": 2,
    "event_date_text": "just launched",
    "post_author_url": "https://www.reddit.com/user/BillKaro/",
    "signal_category": "feedback",
    "comments_included": 1,
    "products_mentioned": [
      "Razorpay Subscriptions",
      "Razorpay Checkout"
    ]
  }
}

Long text fields are shortened on this page.

Looking up one signal by its id is free. Enrich costs 2 credits per signal returned; a call with no results is free.