v1

latestOpenAPI 3.0.0Proprietary2026-07-1313647393.0 KB
Payments

Capture a payment

Capture an authorized payment to collect funds. Must be called within the capture window (default 5 days). Amount must exactly equal authorized amount unless partial capture is enabled.

post/payments/{id}/capture

Path parameters

idstring required

Payment ID (pay_*). Must be in 'authorized' status.

Request body

amountinteger required

Amount to capture in paise. Must equal authorized amount unless partial capture is enabled.

currencystring required

Response

Payment captured. Status changes to 'captured'.

idstring

Unique payment identifier. Prefix: pay_

entity'payment'
amountinteger

Payment amount in paise.

currencystring
status'created' | 'authorized' | 'captured' | 'refunded' | 'failed'

created: initiated. authorized: bank approved, not yet captured. captured: funds collected. refunded: fully refunded. failed: transaction failed.

order_idstring

Associated order ID (order_*).

invoice_idstring
internationalboolean
method'card' | 'netbanking' | 'wallet' | 'emi' | 'upi'
amount_refundedinteger

Total refunded amount in paise.

refund_status'null' | 'partial' | 'full'
capturedboolean
descriptionstring
card_idstring
bankstring

Bank code for netbanking. Example: HDFC.

walletstring

Wallet name. Examples: paytm, mobikwik.

vpastring
emailstring
contactstring
customer_idstring
token_idstring
notesNotes

Key-value pairs for storing custom metadata. Maximum 15 pairs. Each key and value must not exceed 256 characters.

feeinteger

Razorpay fee charged (paise).

taxinteger

GST on the fee (paise).

error_codestring
error_descriptionstring
error_sourcestring
error_stepstring
error_reasonstring
created_atinteger