---
title: "Verify Razorpay Payment"
method: POST
path: "/payments/razorpay/verify"
tags: ["payments"]
---

# Verify Razorpay Payment

`POST /payments/razorpay/verify`

## Request

- Base URL: `https://api.oxlo.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.oxlo.ai/payments/razorpay/verify`
- Auth: HTTP bearer

Verify the signature Razorpay Checkout returns after a successful
payment, then activate the plan.

The webhook (subscription.activated / invoice.paid) is the fallback
source of truth if the user closes the tab before this call fires.

## Request body

- RazorpayVerifyRequest
  - `razorpay_payment_id` string, required
  - `razorpay_subscription_id` string, required
  - `razorpay_signature` string, required

## Response `200`

Successful Response

- RazorpayVerifyResponse
  - `success` boolean, required
  - `plan` string, required
  - `status` string, required
  - `current_period_end` string, date-time, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/oxlo/apis/oxlo-backend.md) - [All operations](https://skmtc.dev/oxlo/apis/oxlo-backend/llms.txt) - [OpenAPI document](https://skmtc.dev/oxlo/apis/oxlo-backend/revisions/bc2ecdc94f31?raw)
