Settlement Webhooks


You will receive a webhook notification whenever a settlement is initiated, processed, or attempt failed. The webhook payload contains key settlement details such as settlement ID, status, UTR, amount, merchant ID, and timestamps. In case of failures, the error code and description will also be included. Use this to stay updated on the settlement lifecycle in real time.

⚠️ For Partner Integrations!


Currently, Settlement Webhooks are not supported for Partner based integrations. Instead, Partners can use the Settlement Status API for integration.

Sample Response
{
    "event" : "settlement.initiated",
    "payload": {
        "settlementId" : "abca-defa-kadi-dald",
        "state" : INITIATED,
        "utr" : "UTR100291",
        "amount" : 100,
        "merchantId" : "merchantId",
       "lastAttemptErrorCode": "",
       "lastAttemptErrorDescription" : "",
        "lastUpdatedAt" : 121211331
    }
}
Response Parameters
Parameter NameTypeDescription
eventStringThe Webhook event type.
Possible Values:
settlement.initiated
settlement.processed
settlement.attempt.failed
payloadObjectThe settlement related details
payload.settlementIdStringSettlement Id generated by PhonePe
payload.stateStringCurrent State of the settlement
INITIATED
PROCESSED
ATTEMPT_FAILED
payload.utrStringUTR reference of the settlement
payload.amountLongSettlement Amount
payload.merchantIdStringMID of the merchant for which the settlement is initiated.
payload.lastAttemptErrorCodeStringWill be present only if the state is ATTEMPT_FAILED.
– The Error Code for the failure
payload.lastAttemptErrorDescriptionStringWill be present only if the state is ATTEMPT_FAILED.
– The Error message for the failure
payload.lastUpdatedAtDateTimeEpoch Timestamp of the last status updated (in milliseconds)
Is this article helpful?