Redemption – Merchant Callback

This callback will be received via POST method.

Callback Types

FlowCallback Type
NotificationSUBSCRIPTION_NOTIFICATION_COMPLETED
SUBSCRIPTION_NOTIFICATION_FAILED
RedemptionSUBSCRIPTION_REDEMPTION_ORDER_COMPLETED
SUBSCRIPTION_REDEMPTION_ORDER_FAILED
SUBSCRIPTION_REDEMPTION_TRANSACTION_COMPLETED
SUBSCRIPTION_REDEMPTION_TRANSACTION_FAILED

Important

  • expireAt and timestamp parameters will be a epoch timestamp ( in milliseconds)

Sample Callback for Notified state

{
  "type": "SUBSCRIPTION_NOTIFICATION_COMPLETED/SUBSCRIPTION_NOTIFICATION_FAILED",
  "payload": {
    "merchantId": "SWIGGY8",
    "merchantOrderId": "MO1708797962855",
    "orderId": "OMO12344",
    "amount": 100,
    "state": "NOTIFIED",
    "expireAt": 1620891733101,
    "paymentFlow": {
      "type": "SUBSCRIPTION_REDEMPTION",
      "merchantSubscriptionId": "MS121312",
      "redemptionRetryStrategy": "CUSTOM",
      "autoDebit": true,
      "validAfter": "1628229131000",
      "validUpto": "1628574731000",
      "notifiedAt": "1622539751586"
    }
  }
}

Sample Callback for Redeemed state

{
  "type": "SUBSCRIPTION_REDEMPTION_ORDER_COMPLETED/SUBSCRIPTION_REDEMPTION_ORDER_FAILED",
  "payload": {
   "merchantId": "SWIGGY8",
    "merchantOrderId": "MO1708797962855"
    "orderId": "OMO12344",
    "state": "COMPLETED",
    "amount": 100,
   "expireAt": 1620891733101,
    "paymentFlow": {
      "type": "SUBSCRIPTION_REDEMPTION",
      "merchantSubscriptionId": "MS121312",
      "redemptionRetryStrategy": "CUSTOM",
      "autoDebit": true,
      "validAfter": "1628229131000",
      "validUpto": "1628574731000",
      "notifiedAt": "1622539751586"
    },
    "errorCode": <PRESENT ONLY IF STATE IS FAILED>
    "detailedErrorCode": <PRESENT ONLY IF STATE IS FAILED>  
    "paymentDetails": [
        {
            "amount": 100
            "paymentMode": "UPI_AUTO_PAY",
            "timestamp": 1620891733101      
            "transactionId": "OM124",
            "state": "COMPLETED", // FAILED, PENDING
            "rail": {
                "type": "UPI",
                "utr": "2",
                "vpa": "abcd@ybl",
                "umn": "544fcc8819d04cb08e26faa1fb07eee7@ybl"
            },
            "instrument": {
                "type": "ACCOUNT",
                "maskedAccountNumber": "XXX2312",
                "ifsc": "VISA",
                "accountHolderName": "Venkat",
                "accountType": "SAVINGS"
            },
            "errorCode": <PRESENT ONLY IF ATTEMPT IS FAILED>
           "detailedErrorCode": <PRESENT ONLY IF ATTEMPT IS FAILED>
        }
    ]
  }
}

Sample Callback for Redemption Attempt

{
  "type": "SUBSCRIPTION_REDEMPTION_TRANSACTION_COMPLETED/SUBSCRIPTION_REDEMPTION_TRANSACTION_FAILED",
  "payload": {
   "merchantId": "SWIGGY8",
    "merchantOrderId": "MO1708797962855"
    "orderId": "OMO12344",
    "state": "PENDING",
    "amount": 100,
   "expireAt": 1620891733101,
    "paymentFlow": {
      "type": "SUBSCRIPTION_REDEMPTION",
      "merchantSubscriptionId": "MS121312",
      "redemptionRetryStrategy": "CUSTOM",
      "autoDebit": true,
      "validAfter": "1628229131000",
      "validUpto": "1628574731000",
      "notifiedAt": "1622539751586"
    },
    "errorCode": <PRESENT ONLY IF STATE IS FAILED>
    "detailedErrorCode": <PRESENT ONLY IF STATE IS FAILED>  
    "paymentDetails": [
        {
            "amount": 100
            "paymentMode": "UPI_AUTO_PAY",
            "timestamp": 1620891733101      
            "transactionId": "OM124",
            "state": "COMPLETED", // FAILED, PENDING
            "rail": {
                "type": "UPI",
                "utr": "2",
                "vpa": "abcd@ybl",
                "umn": "544fcc8819d04cb08e26faa1fb07eee7@ybl"
            },
            "instrument": {
                "type": "ACCOUNT",
                "maskedAccountNumber": "XXX2312",
                "ifsc": "VISA",
                "accountHolderName": "Venkat",
                "accountType": "SAVINGS"
            },
            "errorCode": <PRESENT ONLY IF ATTEMPT IS FAILED>
           "detailedErrorCode": <PRESENT ONLY IF ATTEMPT IS FAILED>
        }
    ]
  }
}