Capture Authorized Payment


This endpoint is used to collect the funds after a successful authorization. You can only call this API when the transaction state is AUTHORIZED. If it is in any other state (e.g., AUTHORIZATION_IN_PROGRESS, FAILED), it returns an INVALID_TRANSACTION_STATE error. Wait for the authorization webhook callback before calling this API. You may capture a partial amount (less than or equal to the authorized amount).

EnvironmentHTTP MethodAPI
SandboxPOSThttps://api-preprod.phonepe.com/apis/pg-sandbox/payments/v2/capture
ProductionPOSThttps://api.phonepe.com/apis/pg/payments/v2/capture
Request Header
Header NameHeader Value
Content-Typeapplication/x-www-form-urlencoded
AuthorizationO-Bearer <merchant-auth-token>
Sample Request
{
  "merchantOrderId": "ORDER_123456",
  "currency": "INR",
  "amount": 10000
}
Request Parameters
Parameter NameTypeRequiredDescriptionConstraints
merchantOrderIdStringYesUnique order identifier from merchant.Max Length = 63 characters
No Special characters are allowed except underscore “_” and hyphen “-“
currencyStringYesPayment currency.Valid currency code (e.g., INR)
amountLongYesAmount to capture (in smallest currency unit)Min: 100 (in paise)
Sample Response
{
  "orderId": "OMO2506...",
  "state": "CAPTURE_IN_PROGRESS"
}
Parameter NameTypeDescription
orderIdStringPayment Gateway generated internal order ID.
stateStringTransaction state after capture request.
Is this article helpful?