Settlement Status


Use the Settlement Status API to check the current status of a settlement using the settlementId received from the webhook. This helps you track if the settlement is INITIATED, PROCESSED, or ATTEMPT_FAILED. In case of a failure, the response includes the error code and description. You can also view details like amount, UTR, and the last updated timestamp.

EnvironmentHTTP
Method
API
SandboxGEThttps://api-preprod.phonepe.com/apis/pg-sandbox/settlements/v1/{settlementId}/status
ProductionGEThttps://api.phonepe.com/apis/pg/settlements/v1/{settlementId}/status
Request Headers
Header NameHeader Value
Content-Typeapplication/json
AuthorizationO-Bearer <access_token>

⚠️ For Partner Integrations!


It is mandatory to include the X-MERCHANT-ID header with the MerchantID of the end merchant.

Path Parameter Details
Parameter NameDescription
settlementIdsettlement ID received in the Webhook response.
Sample Response
{
  "settlementId" : "abca-defa-kadi-dald",
  "state" : INITIATED,
  "utr" : "UTR100291",
  "amount" : 100,
  "merchantId" : "merchantId",
  "lastAttemptErrorCode": "",
  "lastAttemptErrorDescription" : "",
  "lastUpdatedAt" : 121211331
}
Response Parameters
Parameter NameTypeDescription
settlementIdStringUnique ID generated by PhonePe for the settlement.
stateStringCurrent status of the settlement. Possible values: INITIATED
PROCESSED
ATTEMPT_FAILED
utrStringUTR associated with the settlement.
amountLongSettlement Amount
merchantIdStringMerchant ID for which the settlement was created.
lastAttemptErrorCodeStringError code for the failed attempt. Present only if the state is ATTEMPT_FAILED.
lastAttemptErrorDescriptionStringDescription of the failure reason. Present only if the state is ATTEMPT_FAILED.
lastUpdatedAtDateTimeTimestamp (in epoch milliseconds) of the latest update to the settlement status.
Is this article helpful?