CALLBACKS

This webhook is fired automatically when a new QR code is requested.

{
  "event": "UPI-CASHOUT",
  "param": {
    "status": true,
    "response_code": 0,
    "message": "Customer with mobile - XXXXXXXXXX wants to initiate the cashout transaction of rs. 100",
    "data": {
      "customer_name": "Customer Name",
      "comm": 0,
      "longitude": "77.XXXXXX",
      "latitude": "28.XXXXXX",
      "merchant_code": "XXXXXX",
      "deviceid": "MOBDEVICE1",
      "tds": 0,
      "amount": "100",
      "mobile": "XXXXXXXXXX",
      "txn_status": 2
    }
  },
  "param_enc": "eyJ0eXAiOiJKV1QI"
}

The partner server is required to return the following specific response in acknowledgment of the previous callback:-

{
	"status":200,
	"refid":XXXXXXXXX,
	"message":"Transaction completed successfully"
}

The following acknowledgment callback is triggered upon successful QR code generation and transactions.

{
  "event": "UPI-CASHOUT",
  "param": {
    "status": true,
    "response_code": 1,
    "message": "Unable to generate QR.",
    "data": {
      "customer_name": "Customer Name",
      "comm": 0,
      "longitude": "77.XXXXXX",
      "latitude": "28.XXXXXX",
      "merchant_code": "XXXXXX",
      "ackno": 4,
      "amount": "100",
      "mobile": "XXXXXXXXXX",
      "txn_status": 0,
      "refid": XXXXXXXX,
      "tds": 0
    }
  },
  "param_enc": "eyJ0eXAiOiJKV1QI"
}
{
  "event": "UPI-CASHOUT",
  "param": {
    "status": true,
    "response_code": 1,
    "message": "QR Generated Successfully.",
    "data": {
      "customer_name": "Customer Name",
      "comm": 0,
      "longitude": "XXXXXX",
      "latitude": "XXXXXX",
      "merchant_code": "XXXXXX",
      "ackno": 8,
      "amount": "100",
      "mobile": "XXXXXXXXXX",
      "txn_status": 3,
      "refid": XXXXXXX,
      "tds": 0
    }
  },
  "param_enc": "eyJ0eXAiOiJKV1QI"
}
{
  "event": "UPI-CASHOUT",
  "param": {
    "status": true,
    "response_code": 1,
    "message": "Transation failed at bank end.",
    "data": {
      "customer_name": "Customer Name",
      "comm": "0.00",
      "longitude": "XXXXXXX",
      "txn_status": "0",
      "payer_va": "Payer VPA",
      "payer_name": "Payer Name",
      "tds": "0.00",
      "payer_ifsc": "XXXXXXXXXXX",
      "payer_amount": "100",
      "merchant_code": "XXXXXX",
      "latitude": "XXXXXXX",
      "original_bank_rrn": "XXXXXXX",
      "payer_account": "XXXXXXX",
      "errmsg": "U16-Transaction declined for security reasons or limit reached. Please try again later.",
      "errcode": "U16",
      "ackno": "12334",
      "amount": "100.00",
      "mobile": "XXXXXXXXXX",
      "refid": "XXXXXXX",
      "deviceid": "XXXXXXX",
      "txn_init_date": "2026-03-25 18:23:07"
    }
  },
  "param_enc": "eyJ0eXAiOiJKV1QI"
}
{
  "event": "UPI-CASHOUT",
  "param": {
    "status": true,
    "response_code": 1,
    "message": "Transaction failed due to QR got expired.",
    "data": {
      "customer_name": "Customer Name",
      "comm": "0.00",
      "longitude": "XXXXXX",
      "txn_status": "4",
      "payer_va": null,
      "payer_name": null,
      "tds": "0.00",
      "payer_ifsc": null,
      "payer_amount": "100",
      "merchant_code": "XXXXXX",
      "latitude": "XXXXXX",
      "original_bank_rrn": null,
      "payer_account": null,
      "errmsg": "UPI_CW_QR_EXPIRED",
      "errcode": "EXPIRED",
      "ackno": "12334",
      "amount": "100.00",
      "mobile": "XXXXXXXXXX",
      "refid": "XXXXXX",
      "deviceid": "MOBDEVICE1",
      "txn_init_date": "2026-03-25 16:52:38"
    }
  },
  "param_enc": "eyJ0eXAiOiJKV1QI"
}
{
  "event": "UPI-CASHOUT",
  "param": {
    "status": true,
    "response_code": 1,
    "message": "Transation Successfull.",
    "data": {
      "customer_name": "Customer Name",
      "comm": "0.00",
      "longitude": "XXXXXXX",
      "txn_status": "1",
      "payer_va": "Payer VPA",
      "payer_name": "Payer Name",
      "tds": "0.00",
      "payer_ifsc": "XXXXXXXXXXX",
      "payer_amount": "100",
      "merchant_code": "XXXXXX",
      "latitude": "XXXXXXX",
      "original_bank_rrn": "XXXXXXX",
      "payer_account": "XXXXXXX",
      "errmsg": "",
      "errcode": "",
      "ackno": "12334",
      "amount": "100.00",
      "mobile": "XXXXXXXXXX",
      "refid": "XXXXXXX",
      "deviceid": "XXXXXXX",
      "txn_init_date": "2026-03-25 18:23:07"
    }
  },
  "param_enc": "eyJ0eXAiOiJKV1QI"
}

Cashout 2FA Callback

{
  "event": "UPI-CASHOUT-2FA",
  "param": {
    "message": "Process completed",
    "device_imei": "XXXXXXXX",
    "device_sno": "XXXXX",
    "device_mi": "MFS110",
    "latitude": "XXXX",
    "longitude": "XXXXXX",
    "mobile": "XXXXXX",
    "merchantcode": "XXXXXX",
    "device_id": "XXXXXX",
    "errorcode": 0,
    "is_chargeable": 1,
    "device_type": "FINGER",
    "last_aadhaar": "XXXX",
    "timestamp": "2026-03-25 17:35:55",
    "accessmode": "SITE",
    "status": true
  },
  "param_enc": "eyJ0eXAiOiJKV1QI"
}
{
  "id": "30219793",
  "data": {
    "event": "UPI-CASHOUT-2FA",
    "param": {
      "message": "UIDAI_ERROR-330: Biometrics locked by Aadhaar holder.",
      "device_imei": "XXXXXXXXX",
      "device_sno": "XXXXXXXXX",
      "device_mi": "MFS110",
      "latitude": "XXXXXXXXX",
      "longitude": "XXXXXXXXX",
      "mobile": "XXXXXXXXX",
      "merchantcode": "XXXXXXXXX",
      "device_id": "XXXXXXXXX",
      "errorcode": null,
      "is_chargeable": 0,
      "device_type": "FINGER",
      "last_aadhaar": "XXXX",
      "timestamp": "2026-03-25 17:53:07",
      "accessmode": "APP",
      "status": false
    }
  }
}