---
title: "Verify Razorpay Subscription Authorization"
method: POST
path: "/api/payments/razorpay/{environment}/subscriptions/verify"
tags: ["Razorpay Payments"]
---

# Verify Razorpay Subscription Authorization

`POST /api/payments/razorpay/{environment}/subscriptions/verify`

Verify the Razorpay Checkout signature for the subscription authorization payment before recording the authorization payment ID locally.

## Path parameters

- `environment` 'test' | 'live', required

## Request body

- VerifyRazorpaySubscriptionBody
  - `subscriptionId` string, required
  - `paymentId` string, required
  - `signature` string, required

## Response `200`

Razorpay subscription authorization verified

- VerifyRazorpaySubscriptionResponse
  - `verified` boolean, required
  - `subscription` RazorpaySubscription, required
    - `environment` 'test' | 'live', required
    - `subscriptionId` string, required
    - `planId` string, required
    - `customerId` string, nullable, required
    - `subjectType` string, nullable, required
    - `subjectId` string, nullable, required
    - `status` 'created' | 'authenticated' | 'active' | 'pending' | 'halted' | 'cancelled' | 'completed' | 'expired' | 'paused', required
    - `currentStart` string, date-time, nullable, required
    - `currentEnd` string, date-time, nullable, required
    - `endedAt` string, date-time, nullable, required
    - `quantity` integer, nullable, required
    - `chargeAt` string, date-time, nullable, required
    - `startAt` string, date-time, nullable, required
    - `endAt` string, date-time, nullable, required
    - `totalCount` integer, nullable, required
    - `authAttempts` integer, nullable, required
    - `paidCount` integer, nullable, required
    - `remainingCount` integer, nullable, required
    - `shortUrl` string, nullable, required
    - `hasScheduledChanges` boolean, required
    - `changeScheduledAt` string, date-time, nullable, required
    - `offerId` string, nullable, required
    - `authorizationPaymentId` string, nullable, required
    - `authorizationVerifiedAt` string, date-time, nullable, required
    - `notes` Metadata, required
    - `providerCreatedAt` string, date-time, nullable, required
    - `syncedAt` string, date-time, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required

## Other responses

- `400` — Invalid request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Resource not found

---

[API](https://skmtc.dev/insforge/apis/insforge-authentication-api.md) · [All operations](https://skmtc.dev/insforge/apis/insforge-authentication-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/insforge/insforge-authentication-api/revisions/a935bb49f932/schema)
