added

Flow Advisory | Autopay Presentations | Version 1.1.5

Advisory: New fields in UPI AutoPay presentation callbacks (attempt_decentro_txn_id & split_settlement_rule_urn)

Deployment Date - 19th Nov 2026

We’re adding two new fields to UPI AutoPay presentation callbacks. They will make it easier to match each callback to the exact debit attempt it relates to, and to reconcile split settlements. This change is additive. No existing field is being removed, renamed, or changed in value.

  1. attempt_decentro_txn_id
    1. A presentation can involve more than one debit attempt: either when merchant manually re-present a failed present, or when Decentro retries it automatically.
    2. Today, every callback for a presentation carries the decentro_txn_id of the first attempt, so the merchant can’t tell which attempt a given callback belongs to.
FieldWhat it identifiesChanges across attempts?
decentro_txn_id (existing)
The presentation (first attempt)No, unchanged from today
attempt_decentro_txn_id (new)The second/ subsequent attempts the callback is forYes

Scenarios to understand :

  1. Single attempt: both fields carry the same value.
    1. Manual re-presentation: say attempt 1 fails and the merchant re-presents, and attempt 2 succeeds. The success callback carries decentro_txn_id = first attempt’s transaction ID and attempt_decentro_txn_id = second attempt’s transaction ID.
    2. Auto re-presentation: each callback carries decentro_txn_id = first attempt’s transaction ID and attempt_decentro_txn_id = the attempt’s transaction ID that callback belongs to.

  1. split_settlement_rule_urn
    1. If a split settlement rule applies to the presentation, the callback will include split_settlement_rule_urn, set to the rule used to settle that presentation.
    2. This holds even if a re-presentation request did not resend the rule. The field reflects the rule which was sent in the previous attempt.
    3. If no split_settlement_rule_urn is sent in any of the attempts then this field is dropped from the callback.

    Sample callback :

{
  "decentro_txn_id": "<first attempt ID>",
  "attempt_decentro_txn_id": "<this attempt's ID>",
  "split_settlement_rule_urn": "<rule URN, if applicable>",
  "...": "all existing fields unchanged"
}
{
  "presentation_status": "SUCCESS",
  "presentation_status_description": "Mandate presentation is successful",
  "notification_sequence_id": "DFN-42ED3B85E2604AXXXXXX173F5066-00001",
  "remaining_representation_attempts": 3,
  "presentation_auth_timestamp": "2025-10-29 13:52:43.994596",
  "decentro_txn_id": "666C03AFF51E4XXX147EEF",
  "attempt_decentro_txn_id": "666C03AFF51XXXF9D8147EGH",
	"split_settlement_rule_urn": "666C03AFF5XXXXXXXX9D81CSSDFXX",
  "callback_attempt": 4,
  "callback_txn_id": "3DA2CF3XXXXXXX9CDF5CF6C1A5",
  "consumer_urn": "67EAB0611FXXXXXX67C25C31",
  "callback_timestamp": "2025-10-29 13:52:44.747987",
  "original_callback_txn_id": "19DC26498XXXXXXXX2D7",
  "reference_id": "b6b01ad6-2XXXXXXX92d2fa9b",
  "bank_reference_number": "876264766981",
  "npci_txn_id": "MYB3C981546XXXXXXDEDC786",
  "payer_vpa": "nk@mybank",
  "decentro_mandate_id": "42ED3B85E26XXXXXF3D173F5066",
  "amount": 100,
  "amount_rule": "MAX",
  "payer_name": "nk@mybank",
  "payee_name": "AlXXXXness Merchant",
  "mandate_name": "NewTestDurga",
  "frequency": "ONETIME",
  "start_date": "2025-10-29",
  "end_date": "2027-09-10",
  "presentation_summary": {
    "total": 0,
    "success": 1,
    "failed": 0,
    "skipped": -1,
    "remaining": 0
  },
  "block_fund": false,
  "is_revocable": true,
  "last_action": "CREATE",
  "last_action_timestamp": "2025-10-29 13:51:41.367915",
  "error_key": "error_at_remitter_bank"
}

Action Required :

  1. If your callback handler rejects unknown fields, update it to accept these fields before 19th Nov 2026. Otherwise callbacks may fail on your end.
  2. To track re-presentations at the attempt level, map callbacks using attempt_decentro_txn_id. Continue using decentro_txn_id to identify the presentation

For any further queries, please reach out to us.