Insforge Razorpay Payments API
Razorpay Orders, Subscriptions, catalog, manual webhook setup, sync, customer, and transaction routes
Razorpay Orders, Subscriptions, catalog, manual webhook setup, sync, customer, and transaction routes
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/insforge-razorpay-payments-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Insforge AI Admin Razorpay Payments API
version: 1.0.0
description: Model Gateway helper APIs for OpenRouter key provisioning, model discovery, and deprecated compatibility proxy routes
servers:
- url: https://api.insforge.dev
description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Razorpay Payments
description: Razorpay Orders, Subscriptions, catalog, manual webhook setup, sync, customer, and transaction routes
paths:
/api/payments/razorpay/status:
get:
summary: Get Razorpay Payments Status
description: Return Razorpay connection and sync status for each environment.
tags:
- Razorpay Payments
security:
- bearerAuth: []
- apiKey: []
responses:
'200':
description: Razorpay payments status
content:
application/json:
schema:
$ref: '#/components/schemas/GetRazorpayStatusResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/api/payments/razorpay/config:
get:
summary: Get Razorpay Key Configuration
description: Return masked Razorpay key configuration for test and live environments.
tags:
- Razorpay Payments
security:
- bearerAuth: []
- apiKey: []
responses:
'200':
description: Razorpay key configuration
content:
application/json:
schema:
$ref: '#/components/schemas/GetRazorpayConfigResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/api/payments/razorpay/sync:
post:
summary: Sync Razorpay Payments State
description: Sync items, plans, customers, subscriptions, invoices, and payments for every configured Razorpay environment. Razorpay remains the source of truth.
tags:
- Razorpay Payments
security:
- bearerAuth: []
- apiKey: []
responses:
'200':
description: Sync result for configured Razorpay environments
content:
application/json:
schema:
$ref: '#/components/schemas/SyncRazorpayPaymentsResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/api/payments/razorpay/{environment}/config:
put:
summary: Configure Razorpay Keys
description: Validate and store Razorpay API keys for one environment. A webhook secret is generated automatically when one does not already exist.
tags:
- Razorpay Payments
security:
- bearerAuth: []
- apiKey: []
parameters:
- $ref: '#/components/parameters/EnvironmentPath'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpsertRazorpayConfigBody'
example:
keyId: rzp_test_xxx
keySecret: razorpay_secret_xxx
webhookSecret: webhook_secret_xxx
responses:
'200':
description: Updated Razorpay key configuration
content:
application/json:
schema:
$ref: '#/components/schemas/GetRazorpayConfigResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
delete:
summary: Remove Razorpay Keys
description: Remove the configured Razorpay keys for one environment.
tags:
- Razorpay Payments
security:
- bearerAuth: []
- apiKey: []
parameters:
- $ref: '#/components/parameters/EnvironmentPath'
responses:
'200':
description: Updated Razorpay key configuration
content:
application/json:
schema:
$ref: '#/components/schemas/GetRazorpayConfigResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/api/payments/razorpay/{environment}/sync:
post:
summary: Sync Razorpay Payments State For One Environment
description: Sync items, plans, customers, subscriptions, invoices, and payments for one Razorpay environment. Razorpay remains the source of truth.
tags:
- Razorpay Payments
security:
- bearerAuth: []
- apiKey: []
parameters:
- $ref: '#/components/parameters/EnvironmentPath'
responses:
'200':
description: Sync result for the requested Razorpay environment
content:
application/json:
schema:
$ref: '#/components/schemas/SyncRazorpayPaymentsResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/api/payments/razorpay/{environment}/webhook:
get:
summary: Get Razorpay Webhook Setup Values
description: Return the Razorpay webhook URL and signing secret that must be copied into the Razorpay Dashboard for manual webhook setup.
tags:
- Razorpay Payments
security:
- bearerAuth: []
- apiKey: []
parameters:
- $ref: '#/components/parameters/EnvironmentPath'
responses:
'200':
description: Razorpay webhook setup values
content:
application/json:
schema:
$ref: '#/components/schemas/GetRazorpayWebhookSetupResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/api/payments/razorpay/{environment}/webhook/rotate-secret:
post:
summary: Rotate Razorpay Webhook Secret
description: Generate a new Razorpay webhook signing secret. Update the webhook secret in the Razorpay Dashboard after calling this endpoint.
tags:
- Razorpay Payments
security:
- bearerAuth: []
- apiKey: []
parameters:
- $ref: '#/components/parameters/EnvironmentPath'
responses:
'200':
description: Razorpay webhook setup values with the rotated secret
content:
application/json:
schema:
$ref: '#/components/schemas/RotateRazorpayWebhookSecretResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/api/payments/razorpay/{environment}/orders:
post:
summary: Create Razorpay Order
description: Create a local Razorpay Order record with the caller's user context, create a Razorpay Order, and return Checkout options for the client-side Razorpay Checkout script.
tags:
- Razorpay Payments
security:
- bearerAuth: []
parameters:
- $ref: '#/components/parameters/EnvironmentPath'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRazorpayOrderBody'
example:
amount: 50000
currency: INR
receipt: order-team_123-pro
description: Pro upgrade
subject:
type: team
id: team_123
customerEmail: buyer@example.com
responses:
'201':
description: Razorpay Order created
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRazorpayOrderResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/InternalError'
/api/payments/razorpay/{environment}/orders/verify:
post:
summary: Verify Razorpay Order Payment
description: Verify the Razorpay Checkout signature for an order payment before recording the verified payment ID locally.
tags:
- Razorpay Payments
security:
- bearerAuth: []
parameters:
- $ref: '#/components/parameters/EnvironmentPath'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/VerifyRazorpayOrderBody'
example:
orderId: order_123
paymentId: pay_123
signature: razorpay_signature
responses:
'200':
description: Razorpay order payment verified
content:
application/json:
schema:
$ref: '#/components/schemas/VerifyRazorpayOrderResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/api/payments/razorpay/{environment}/catalog:
get:
summary: List Razorpay Payment Catalog
description: Return mirrored Razorpay items and plans for one environment.
tags:
- Razorpay Payments
security:
- bearerAuth: []
- apiKey: []
parameters:
- $ref: '#/components/parameters/EnvironmentPath'
responses:
'200':
description: Synced Razorpay items and plans
content:
application/json:
schema:
$ref: '#/components/schemas/ListRazorpayCatalogResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/api/payments/razorpay/{environment}/catalog/items:
post:
summary: Create Razorpay Item
description: Create a Razorpay Item, then mirror it locally after Razorpay succeeds.
tags:
- Razorpay Payments
security:
- bearerAuth: []
- apiKey: []
parameters:
- $ref: '#/components/parameters/EnvironmentPath'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRazorpayItemBody'
example:
name: One-time setup
amount: 50000
currency: INR
responses:
'201':
description: Razorpay item created
content:
application/json:
schema:
$ref: '#/components/schemas/MutateRazorpayItemResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/api/payments/razorpay/{environment}/catalog/items/{itemId}:
patch:
summary: Update Razorpay Item
description: Update mutable Razorpay Item fields, then mirror the item locally after Razorpay succeeds.
tags:
- Razorpay Payments
security:
- bearerAuth: []
- apiKey: []
parameters:
- $ref: '#/components/parameters/EnvironmentPath'
- $ref: '#/components/parameters/RazorpayItemIdPath'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateRazorpayItemBody'
example:
active: false
responses:
'200':
description: Razorpay item updated
content:
application/json:
schema:
$ref: '#/components/schemas/MutateRazorpayItemResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/api/payments/razorpay/{environment}/catalog/plans:
post:
summary: Create Razorpay Plan
description: Create a Razorpay Plan with its amount-bearing item definition, then mirror it locally after Razorpay succeeds.
tags:
- Razorpay Payments
security:
- bearerAuth: []
- apiKey: []
parameters:
- $ref: '#/components/parameters/EnvironmentPath'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRazorpayPlanBody'
example:
period: monthly
interval: 1
item:
name: Pro monthly
amount: 199900
currency: INR
responses:
'201':
description: Razorpay plan created
content:
application/json:
schema:
$ref: '#/components/schemas/MutateRazorpayPlanResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/api/payments/razorpay/{environment}/subscriptions:
post:
summary: Create Razorpay Subscription
description: Create a Razorpay Subscription and mirror it locally, then return Checkout options for authorization. The backend first evaluates the caller's INSERT policy on payments.razorpay_subscriptions so apps can restrict which subjects can start subscriptions.
tags:
- Razorpay Payments
security:
- bearerAuth: []
parameters:
- $ref: '#/components/parameters/EnvironmentPath'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRazorpaySubscriptionBody'
example:
planId: plan_123
totalCount: 12
subject:
type: team
id: team_123
customerEmail: buyer@example.com
responses:
'201':
description: Razorpay subscription created
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRazorpaySubscriptionResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/InternalError'
get:
summary: List Razorpay Subscriptions
description: Admin/debug read for mirrored Razorpay subscriptions. Use app-owned tables with RLS for end-user payment state.
tags:
- Razorpay Payments
security:
- bearerAuth: []
- apiKey: []
parameters:
- $ref: '#/components/parameters/EnvironmentPath'
- $ref: '#/components/parameters/SubjectTypeQuery'
- $ref: '#/components/parameters/SubjectIdQuery'
- $ref: '#/components/parameters/LimitQuery'
responses:
'200':
description: Razorpay subscriptions
content:
application/json:
schema:
$ref: '#/components/schemas/ListRazorpaySubscriptionsResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/api/payments/razorpay/{environment}/subscriptions/verify:
post:
summary: Verify Razorpay Subscription Authorization
description: Verify the Razorpay Checkout signature for the subscription authorization payment before recording the authorization payment ID locally.
tags:
- Razorpay Payments
security:
- bearerAuth: []
parameters:
- $ref: '#/components/parameters/EnvironmentPath'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/VerifyRazorpaySubscriptionBody'
example:
subscriptionId: sub_123
paymentId: pay_123
signature: razorpay_signature
responses:
'200':
description: Razorpay subscription authorization verified
content:
application/json:
schema:
$ref: '#/components/schemas/VerifyRazorpaySubscriptionResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/api/payments/razorpay/{environment}/subscriptions/{subscriptionId}/cancel:
post:
summary: Cancel Razorpay Subscription
description: Cancel a Razorpay subscription after evaluating the caller's UPDATE policy on payments.razorpay_subscriptions.
tags:
- Razorpay Payments
security:
- bearerAuth: []
parameters:
- $ref: '#/components/parameters/EnvironmentPath'
- $ref: '#/components/parameters/RazorpaySubscriptionIdPath'
requestBody:
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/CancelRazorpaySubscriptionBody'
example:
cancelAtCycleEnd: true
responses:
'200':
description: Razorpay subscription cancelled
content:
application/json:
schema:
$ref: '#/components/schemas/CancelRazorpaySubscriptionResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/api/payments/razorpay/{environment}/subscriptions/{subscriptionId}/pause:
post:
summary: Pause Razorpay Subscription
description: Pause a Razorpay subscription immediately after evaluating the caller's UPDATE policy on payments.razorpay_subscriptions.
tags:
- Razorpay Payments
security:
- bearerAuth: []
parameters:
- $ref: '#/components/parameters/EnvironmentPath'
- $ref: '#/components/parameters/RazorpaySubscriptionIdPath'
requestBody:
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/PauseRazorpaySubscriptionBody'
responses:
'200':
description: Razorpay subscription paused
content:
application/json:
schema:
$ref: '#/components/schemas/PauseRazorpaySubscriptionResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/api/payments/razorpay/{environment}/subscriptions/{subscriptionId}/resume:
post:
summary: Resume Razorpay Subscription
description: Resume a paused Razorpay subscription immediately after evaluating the caller's UPDATE policy on payments.razorpay_subscriptions.
tags:
- Razorpay Payments
security:
- bearerAuth: []
parameters:
- $ref: '#/components/parameters/EnvironmentPath'
- $ref: '#/components/parameters/RazorpaySubscriptionIdPath'
requestBody:
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/ResumeRazorpaySubscriptionBody'
responses:
'200':
description: Razorpay subscription resumed
content:
application/json:
schema:
$ref: '#/components/schemas/ResumeRazorpaySubscriptionResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/api/payments/razorpay/{environment}/customers:
get:
summary: List Razorpay Customers
description: Admin/debug read for mirrored Razorpay customers. This is a display mirror only and should not replace app-owned billing tables.
tags:
- Razorpay Payments
security:
- bearerAuth: []
- apiKey: []
parameters:
- $ref: '#/components/parameters/EnvironmentPath'
- $ref: '#/components/parameters/LimitQuery'
responses:
'200':
description: Razorpay customers
content:
application/json:
schema:
$ref: '#/components/schemas/ListPaymentCustomersResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/api/payments/razorpay/{environment}/transactions:
get:
summary: List Razorpay Transactions
description: Admin/debug read for InsForge's Razorpay transaction projection. Use app-owned fulfillment tables with RLS for end-user order, credit, or entitlement state.
tags:
- Razorpay Payments
security:
- bearerAuth: []
- apiKey: []
parameters:
- $ref: '#/components/parameters/EnvironmentPath'
- $ref: '#/components/parameters/SubjectTypeQuery'
- $ref: '#/components/parameters/SubjectIdQuery'
- $ref: '#/components/parameters/LimitQuery'
responses:
'200':
description: Razorpay transactions
content:
application/json:
schema:
$ref: '#/components/schemas/ListPaymentTransactionsResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
components:
schemas:
RazorpayLatestSyncStatus:
type: string
enum:
- succeeded
- failed
PauseRazorpaySubscriptionResponse:
type: object
required:
- subscription
properties:
subscription:
$ref: '#/components/schemas/RazorpaySubscription'
VerifyRazorpayOrderResponse:
type: object
required:
- verified
- order
properties:
verified:
type: boolean
order:
$ref: '#/components/schemas/RazorpayOrder'
CreateRazorpayOrderBody:
type: object
required:
- amount
- currency
additionalProperties: false
description: Notes keys starting with insforge_ are reserved and rejected.
properties:
amount:
type: integer
minimum: 1
example: 50000
currency:
type: string
minLength: 3
maxLength: 3
example: INR
receipt:
type:
- string
- 'null'
minLength: 1
maxLength: 40
description:
type:
- string
- 'null'
maxLength: 2048
subject:
$ref: '#/components/schemas/BillingSubject'
customerName:
type:
- string
- 'null'
minLength: 1
maxLength: 255
customerEmail:
type:
- string
- 'null'
format: email
customerContact:
type:
- string
- 'null'
minLength: 1
maxLength: 32
callbackUrl:
type:
- string
- 'null'
format: uri
notes:
description: Native Razorpay notes. Use stable app identifiers such as `order_id` for webhook fulfillment triggers.
allOf:
- $ref: '#/components/schemas/Metadata'
BillingSubject:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
type: string
minLength: 1
maxLength: 100
example: team
id:
type: string
minLength: 1
maxLength: 255
example: team_123
SyncRazorpayPaymentsResponse:
type: object
required:
- results
properties:
results:
type: array
items:
$ref: '#/components/schemas/SyncRazorpayPaymentsEnvironmentResult'
ResumeRazorpaySubscriptionResponse:
type: object
required:
- subscription
properties:
subscription:
$ref: '#/components/schemas/RazorpaySubscription'
RazorpayKeyConfig:
type: object
required:
- environment
- keyType
- hasKey
- maskedKey
properties:
environment:
$ref: '#/components/schemas/RazorpayEnvironment'
keyType:
type: string
enum:
- api_key
- api_secret
- webhook_secret
hasKey:
type: boolean
maskedKey:
type:
- string
- 'null'
example: rzp_test_...abcd
ListPaymentCustomersResponse:
type: object
required:
- customers
properties:
customers:
type: array
items:
$ref: '#/components/schemas/PaymentCustomerListItem'
MutateRazorpayItemResponse:
type: object
required:
- item
properties:
item:
$ref: '#/components/schemas/RazorpayItem'
ListRazorpayCatalogResponse:
type: object
required:
- items
- plans
properties:
items:
type: array
items:
$ref: '#/components/schemas/RazorpayItem'
plans:
type: array
items:
$ref: '#/components/schemas/RazorpayPlan'
SyncRazorpayPaymentsEnvironmentResult:
type: object
required:
- environment
- status
- connection
- syncCounts
- error
additionalProperties: false
properties:
environment:
$ref: '#/components/schemas/RazorpayEnvironment'
status:
type: string
enum:
- succeeded
- failed
connection:
$ref: '#/components/schemas/RazorpayConnection'
syncCounts:
$ref: '#/components/schemas/RazorpaySyncCounts'
error:
type:
- string
- 'null'
PaymentTransactionType:
type: string
enum:
- one_time_payment
- subscription_invoice
- refund
- failed_payment
MutateRazorpayPlanResponse:
type: object
required:
- plan
properties:
plan:
$ref: '#/components/schemas/RazorpayPlan'
GetRazorpayConfigResponse:
type: object
required:
- keys
properties:
keys:
type: array
items:
$ref: '#/components/schemas/RazorpayKeyConfig'
CreateRazorpayPlanBody:
type: object
required:
- period
- interval
- item
additionalProperties: false
description: Notes keys starting with insforge_ are reserved and rejected.
properties:
period:
type: string
enum:
- daily
- weekly
- monthly
- yearly
interval:
type: integer
minimum: 1
item:
type: object
required:
- name
- amount
- currency
additionalProperties: false
properties:
name:
type: string
minLength: 1
maxLength: 255
description:
type:
- string
- 'null'
maxLength: 2048
amount:
type: integer
minimum: 1
currency:
type: string
minLength: 3
maxLength: 3
example: INR
notes:
$ref: '#/components/schemas/Metadata'
RotateRazorpayWebhookSecretResponse:
allOf:
- $ref: '#/components/schemas/GetRazorpayWebhookSetupResponse'
UpsertRazorpayConfigBody:
type: object
required:
- keyId
- keySecret
additionalProperties: false
properties:
keyId:
type: string
minLength: 1
example: rzp_test_xxx
keySecret:
type: string
minLength: 1
writeOnly: true
example: razorpay_secret_xxx
webhookSecret:
type: string
writeOnly: true
example: webhook_secret_xxx
RazorpaySubscriptionStatus:
type: string
enum:
- created
- authenticated
- active
- pending
- halted
- cancelled
- completed
- expired
- paused
RazorpayConnectionStatus:
type: string
enum:
- unconfigured
- connected
- error
PaymentTransactionStatus:
type: string
enum:
- succeeded
- failed
- pending
- refunded
- partially_refunded
CreateRazorpayItemBody:
type: object
required:
- name
- amount
- currency
additionalProperties: false
properties:
name:
type: string
minLength: 1
maxLength: 255
description:
type:
- string
- 'null'
maxLength: 2048
amount:
type: integer
minimum: 1
currency:
type: string
minLength: 3
maxLength: 3
example: INR
RazorpayEnvironment:
$ref: '#/components/schemas/PaymentEnvironment'
CreateRazorpaySubscriptionResponse:
type: object
required:
- subscription
- checkoutOptions
properties:
subscription:
$ref: '#/components/schemas/RazorpaySubscription'
checkoutOptions:
type: object
required:
- key
- subscription_id
- prefill
additionalProperties: false
properties:
key:
type: string
example: rzp_test_xxx
subscription_id:
type: string
example: sub_123
name:
type:
- string
- 'null'
description:
type:
- string
- 'null'
callback_url:
type:
- string
- 'null'
prefill:
$ref: '#/components/schemas/RazorpayCheckoutPrefill'
CancelRazorpaySubscriptionResponse:
type: object
required:
- subscription
properties:
subscription:
$ref: '#/components/schemas/RazorpaySubscription'
RazorpaySyncCounts:
type: object
required:
- plans
- items
- customers
- subscriptions
- invoices
- payments
additionalProperties: false
properties:
plans:
type: integer
minimum: 0
items:
type: integer
minimum: 0
customers:
type: integer
minimum: 0
subscriptions:
type: integer
minimum: 0
invoices:
type: integer
minimum: 0
payments:
type: integer
minimum: 0
Metadata:
type: object
additionalProperties:
type: string
CancelRazorpaySubscript
# --- truncated at 32 KB (54 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/insforge/refs/heads/main/openapi/insforge-razorpay-payments-api-openapi.yml