diff --git a/content/payments/umap/mandates/generic/pause.mdx b/content/payments/umap/mandates/generic/pause.mdx index 6b1c48ea..d8bc15f3 100644 --- a/content/payments/umap/mandates/generic/pause.mdx +++ b/content/payments/umap/mandates/generic/pause.mdx @@ -37,7 +37,7 @@ When a customer initiates pausing a mandate from their UPI app, UPI Setu will se mandate_operation.pause.failed,   if pause fails - - mandate.live,   terminal status, if pause fails + A mandate status notification to indicate current mandate status,  if mandate pause fails (Example: mandate.live if mandate is in live state) Read more about mandate status notifications and mandate pause operation notifications. diff --git a/content/payments/umap/mandates/generic/revoke.mdx b/content/payments/umap/mandates/generic/revoke.mdx index 8d665647..ba5cbe40 100644 --- a/content/payments/umap/mandates/generic/revoke.mdx +++ b/content/payments/umap/mandates/generic/revoke.mdx @@ -54,7 +54,7 @@ webhooks for following events mandate_operation.revoke.failed, if mandate revoke fails - - mandate.live, if mandate revoke fails + A mandate status notification to indicate current mandate status,  if mandate revoke fails (Example: mandate.live if mandate is in live state)

@@ -172,7 +172,7 @@ following events: mandate_operation.revoke.success (if mandate revoke is successful)

  • - mandate.live (if mandate revoke fails) + A mandate status notification to indicate current mandate status (if mandate revoke fails) (Example: mandate.live if mandate is in live state)
  • mandate_operation.revoke.failed (if mandate revoke fails) diff --git a/content/payments/umap/mandates/generic/unpause.mdx b/content/payments/umap/mandates/generic/unpause.mdx index 61d1a4cb..335e0ef2 100644 --- a/content/payments/umap/mandates/generic/unpause.mdx +++ b/content/payments/umap/mandates/generic/unpause.mdx @@ -33,7 +33,7 @@ Only the end customer has the option of unpausing a paused UPI mandate from thei mandate_operation.unpause.success (if mandate unpause is successful)
  • - mandate.paused (if mandate unpause fails) + A mandate status notification to indicate current mandate status (if mandate unpause fails) (Example: mandate.paused if mandate is in paused state)
  • mandate_operation.unpause.failed (if mandate unpause fails) diff --git a/content/payments/umap/mandates/generic/update.mdx b/content/payments/umap/mandates/generic/update.mdx index 8a796a95..d619d2de 100644 --- a/content/payments/umap/mandates/generic/update.mdx +++ b/content/payments/umap/mandates/generic/update.mdx @@ -142,7 +142,7 @@ There are only two updates possible on a UPI mandate successful)
  • - mandate.live (if mandate update fails) + A mandate status notification to indicate current mandate status (if mandate update fails) (Example: mandate.live if mandate is in live state)
  • mandate_operation.update.failed (if mandate update fails) @@ -268,7 +268,7 @@ There are only two updates possible on a UPI mandate successful)
  • - mandate.live (if mandate update fails) + A mandate status notification to indicate current mandate status (if mandate update fails) (Example: mandate.live if mandate is in live state)
  • mandate_operation.update.failed (if mandate update fails) diff --git a/content/payments/umap/notifications/mandates.mdx b/content/payments/umap/notifications/mandates.mdx index 768997ec..ac904370 100644 --- a/content/payments/umap/notifications/mandates.mdx +++ b/content/payments/umap/notifications/mandates.mdx @@ -37,7 +37,8 @@ A quick summary of the general statuses associated with a mandate—
  • mandate.live Customer has authorised the mandate, and the - mandate is active + mandate is active. Or the customer has unpaused a paused mandate and the + mandate is active again
  • mandate.rejected The mandate could not be set up, due to some @@ -47,10 +48,6 @@ A quick summary of the general statuses associated with a mandate— mandate.paused The customer has decided to pause executions for mandate, which can be temporary
  • -
  • - mandate.unpaused The customer has decided to unpause - executions for mandate, and mandate is active again -
  • mandate.revoked The customer has decided to stop executions for mandate before its expiry—this is a permanent action, and payments diff --git a/content/payments/umap/notifications/mandates/create.mdx b/content/payments/umap/notifications/mandates/create.mdx index d64f3546..5e58c35d 100644 --- a/content/payments/umap/notifications/mandates/create.mdx +++ b/content/payments/umap/notifications/mandates/create.mdx @@ -40,42 +40,38 @@ The first step to start utilising mandates is to create a mandate. Here is a qui {`{ - "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID + "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID "eventType": "mandate_operation.create.initiated", - "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp + "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp "resource": "mandate_operation", - "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate ID + "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate ID "operation": "create", "status": "initiated", - // Empty reason object for initiated status "reason": {}, - // Merchant and Reference Information - "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID - "merchantReferenceId": "mandate_123456789", // mandate referenceId - "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts - "rrn": "123456789012", // NPCI Txn.custRef - "umn": "customer@bank", // Unique Mandate Number from NPCI - "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // Same as id field - + "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID + "merchantReferenceId": "mandate_123456789", // mandate referenceId + "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id + "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts + "rrn": "123456789012", // NPCI Txn.custRef + "umn": "c27f5fc30d344e9594fce0afa34f8859@mypsp", // Unique Mandate Number from NPCI + "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // Same as id field // Amount Information - "amount": 1000, // Mandate amount in paise - "amountLimit": 1000, // Mandate amount in paise - "endDate": "20032025", // Mandate end date in DDMMYYYY format - + "amount": 1000, // Mandate amount in paise + "amountLimit": 1000, // Mandate amount in paise + "endDate": "20032025", // Mandate end date in DDMMYYYY format // TPV Specific Information (empty object for non-TPV mandates) - "customerAccount": { // Payer account details, empty object for non-TPV mandates - "encryptedAccountNumber": "encrypted_string", // Encrypted account number - "hashedAccountNumber": "hashed_string", // Hashed account number - "maskedAccountNumber": "**** **** **** 1234", // Masked account number - "hashedAccountName": "hashed_string", // Hashed account name - "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name - "encryptedAccountName": "encrypted_string", // Encrypted account name - "ifsc": "HDFC0001234", // IFSC code - "accountType": "SAVINGS" // Account type - }, + "customerAccount": { // Payer account details, empty object for non-TPV mandates + "encryptedAccountNumber": "fhDBZ4fC2RtNyiW5rB-jDnzzs_YpYwPGerwAwDTd", // Encrypted account number + "hashedAccountNumber": "d49f354241572a261cfd3a7f210f1919c79fa9993b29e34c5511c3ecefc9f3ea", // Hashed account number + "maskedAccountNumber": "**** **** **** 1234", // Masked account number + "hashedAccountName": "cceaad99aec841a21be45f02368d0d332493a5a62fdda20c3d85bfb617ef176b", // Hashed account name + "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name + "encryptedAccountName": "n6MUSW1KXaSWh1E38zxhh1amv9E6rPmZ2Tw=", // Encrypted account name + "ifsc": "HDFC0000053", // IFSC code + "accountType": "SAVINGS" // Account type + } }`} @@ -85,41 +81,37 @@ The first step to start utilising mandates is to create a mandate. Here is a qui {`{ - "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID + "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID "eventType": "mandate.initiated", - "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp + "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp "resource": "mandate", - "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate ID + "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate ID "status": "initiated", - // Empty reason object for initiated status "reason": {}, - // Merchant and Reference Information - "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID - "merchantReferenceId": "mandate_123456789", // mandate referenceId - "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts - "rrn": "123456789012", // NPCI Txn.custRef - "umn": "customer@bank", // Unique Mandate Number from NPCI - "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // Same as id field - + "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID + "merchantReferenceId": "mandate_123456789", // mandate referenceId + "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id + "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts + "rrn": "123456789012", // NPCI Txn.custRef + "umn": "c27f5fc30d344e9594fce0afa34f8859@mypsp", // Unique Mandate Number from NPCI + "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // Same as id field // Amount Information - "amount": 1000, // Mandate amount in paise - "amountLimit": 1000, // Mandate amount in paise - "endDate": "20032025", // Mandate end date in DDMMYYYY format - + "amount": 1000, // Mandate amount in paise + "amountLimit": 1000, // Mandate amount in paise + "endDate": "20032025", // Mandate end date in DDMMYYYY format // TPV Specific Information (empty object for non-TPV mandates) - "customerAccount": { // Payer account details, empty object for non-TPV mandates - "encryptedAccountNumber": "encrypted_string", // Encrypted account number - "hashedAccountNumber": "hashed_string", // Hashed account number - "maskedAccountNumber": "**** **** **** 1234", // Masked account number - "hashedAccountName": "hashed_string", // Hashed account name - "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name - "encryptedAccountName": "encrypted_string", // Encrypted account name - "ifsc": "BANK0001234", // IFSC code - "accountType": "SAVINGS" // Account type - }, + "customerAccount": { // Payer account details, empty object for non-TPV mandates + "encryptedAccountNumber": "fhDBZ4fC2RtNyiW5rB-jDnzzs_YpYwPGerwAwDTd", // Encrypted account number + "hashedAccountNumber": "d49f354241572a261cfd3a7f210f1919c79fa9993b29e34c5511c3ecefc9f3ea", // Hashed account number + "maskedAccountNumber": "**** **** **** 1234", // Masked account number + "hashedAccountName": "cceaad99aec841a21be45f02368d0d332493a5a62fdda20c3d85bfb617ef176b", // Hashed account name + "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name + "encryptedAccountName": "n6MUSW1KXaSWh1E38zxhh1amv9E6rPmZ2Tw=", // Encrypted account name + "ifsc": "HDFC0000053", // IFSC code + "accountType": "SAVINGS" // Account type + } }`} @@ -150,51 +142,47 @@ The first step to start utilising mandates is to create a mandate. Here is a qui {`{ - "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID + "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID "eventType": "mandate_operation.create.success", - "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp + "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp "resource": "mandate_operation", - "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate ID + "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate ID "operation": "create", "status": "success", - "reason": { - "code": "mandate-live", // Reason code - "desc": "mandate is live", // Reason description - "npciErrCode": "00", // NPCI error code - "npciErrDesc": "SUCCESS", // NPCI error code description - "npciErrCategory": "NA", // NPCI error category (can only be NA, TD, or BD) - "npciRespCode": "00", // NPCI response code - "npciRespDesc": "SUCCESS", // NPCI response code description - "setuDescription": "", // User-friendly description - "suggestedAction": "" // Suggested action for the user + "code": "mandate-live", // Reason code + "desc": "mandate is live", // Reason description + "npciErrCode": "00", // NPCI error code + "npciErrDesc": "SUCCESS", // NPCI error code description + "npciErrCategory": "NA", // NPCI error category (can only be NA, TD, or BD) + "npciRespCode": "00", // NPCI response code + "npciRespDesc": "SUCCESS", // NPCI response code description + "setuDescription": "", // User-friendly description + "suggestedAction": "" // Suggested action for the user }, - // Merchant and Reference Information - "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID - "merchantReferenceId": "mandate_123456789", // mandate referenceId - "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts - "rrn": "123456789012", // NPCI Txn.custRef - "umn": "customer@bank", // Unique Mandate Number from NPCI - "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // Same as id field - + "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID + "merchantReferenceId": "mandate_123456789", // mandate referenceId + "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id + "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts + "rrn": "123456789012", // NPCI Txn.custRef + "umn": "c27f5fc30d344e9594fce0afa34f8859@mypsp", // Unique Mandate Number from NPCI + "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // Same as id field // Amount Information - "amount": 1000, // Mandate amount in paise - "amountLimit": 1000, // Mandate amount in paise - "endDate": "20032025", // Mandate end date in DDMMYYYY format - + "amount": 1000, // Mandate amount in paise + "amountLimit": 1000, // Mandate amount in paise + "endDate": "20032025", // Mandate end date in DDMMYYYY format // TPV Specific Information (empty object for non-TPV mandates) - "customerAccount": { // Payer account details, empty object for non-TPV mandates - "encryptedAccountNumber": "encrypted_string", // Encrypted account number - "hashedAccountNumber": "hashed_string", // Hashed account number - "maskedAccountNumber": "**** **** **** 1234", // Masked account number - "hashedAccountName": "hashed_string", // Hashed account name - "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name - "encryptedAccountName": "encrypted_string", // Encrypted account name - "ifsc": "BANK0001234", // IFSC code - "accountType": "SAVINGS" // Account type - }, + "customerAccount": { // Payer account details, empty object for non-TPV mandates + "encryptedAccountNumber": "fhDBZ4fC2RtNyiW5rB-jDnzzs_YpYwPGerwAwDTd", // Encrypted account number + "hashedAccountNumber": "d49f354241572a261cfd3a7f210f1919c79fa9993b29e34c5511c3ecefc9f3ea", // Hashed account number + "maskedAccountNumber": "**** **** **** 1234", // Masked account number + "hashedAccountName": "cceaad99aec841a21be45f02368d0d332493a5a62fdda20c3d85bfb617ef176b", // Hashed account name + "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name + "encryptedAccountName": "n6MUSW1KXaSWh1E38zxhh1amv9E6rPmZ2Tw=", // Encrypted account name + "ifsc": "HDFC0000053", // IFSC code + "accountType": "SAVINGS" // Account type + } }`} @@ -202,50 +190,46 @@ The first step to start utilising mandates is to create a mandate. Here is a qui {`{ - "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID + "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID "eventType": "mandate.live", - "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp + "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp "resource": "mandate", - "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate ID + "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate ID "status": "live", - "reason": { - "code": "mandate-live", // Reason code - "desc": "mandate is live", // Reason description - "npciErrCode": "00", // NPCI error code - "npciErrDesc": "SUCCESS", // NPCI error code description - "npciErrCategory": "NA", // NPCI error category (can only be NA, TD, or BD) - "npciRespCode": "00", // NPCI response code - "npciRespDesc": "SUCCESS", // NPCI response code description - "setuDescription": "", // Setu description - "suggestedAction": "" // Suggested action for the user + "code": "mandate-live", // Reason code + "desc": "mandate is live", // Reason description + "npciErrCode": "00", // NPCI error code + "npciErrDesc": "SUCCESS", // NPCI error code description + "npciErrCategory": "NA", // NPCI error category (can only be NA, TD, or BD) + "npciRespCode": "00", // NPCI response code + "npciRespDesc": "SUCCESS", // NPCI response code description + "setuDescription": "", // Setu description + "suggestedAction": "" // Suggested action for the user }, - // Merchant and Reference Information - "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID - "merchantReferenceId": "mandate_123456789", // mandate referenceId - "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts - "rrn": "123456789012", // NPCI Txn.custRef - "umn": "customer@bank", // Unique Mandate Number from NPCI - "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // Same as id field - + "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID + "merchantReferenceId": "mandate_123456789", // mandate referenceId + "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id + "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts + "rrn": "123456789012", // NPCI Txn.custRef + "umn": "c27f5fc30d344e9594fce0afa34f8859@mypsp", // Unique Mandate Number from NPCI + "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // Same as id field // Amount Information - "amount": 1000, // Mandate amount in paise - "amountLimit": 1000, // Mandate amount in paise - "endDate": "20032025", // Mandate end date in DDMMYYYY format - + "amount": 1000, // Mandate amount in paise + "amountLimit": 1000, // Mandate amount in paise + "endDate": "20032025", // Mandate end date in DDMMYYYY format // TPV Specific Information (empty object for non-TPV mandates) - "customerAccount": { // Payer account details, empty object for non-TPV mandates - "encryptedAccountNumber": "encrypted_string", // Encrypted account number - "hashedAccountNumber": "hashed_string", // Hashed account number - "maskedAccountNumber": "**** **** **** 1234", // Masked account number - "hashedAccountName": "hashed_string", // Hashed account name - "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name - "encryptedAccountName": "encrypted_string", // Encrypted account name - "ifsc": "BANK0001234", // IFSC code - "accountType": "SAVINGS" // Account type - }, + "customerAccount": { // Payer account details, empty object for non-TPV mandates + "encryptedAccountNumber": "fhDBZ4fC2RtNyiW5rB-jDnzzs_YpYwPGerwAwDTd", // Encrypted account number + "hashedAccountNumber": "d49f354241572a261cfd3a7f210f1919c79fa9993b29e34c5511c3ecefc9f3ea", // Hashed account number + "maskedAccountNumber": "**** **** **** 1234", // Masked account number + "hashedAccountName": "cceaad99aec841a21be45f02368d0d332493a5a62fdda20c3d85bfb617ef176b", // Hashed account name + "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name + "encryptedAccountName": "n6MUSW1KXaSWh1E38zxhh1amv9E6rPmZ2Tw=", // Encrypted account name + "ifsc": "HDFC0000053", // IFSC code + "accountType": "SAVINGS" // Account type + } }`} @@ -275,51 +259,47 @@ The first step to start utilising mandates is to create a mandate. Here is a qui {`{ - "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID + "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID "eventType": "mandate_operation.create.failed", - "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp + "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp "resource": "mandate_operation", - "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate ID + "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate ID "operation": "create", "status": "failed", - // Failure reason "reason": { - "code": "mandate-rejected", // Reason code - "desc": "INVALID / INCORRECT MPIN", // Reason description - "npciErrCode": "UM8", // NPCI error code - "npciErrDesc": "RESPMANDATE DECLINED BY REMITTER BANK", // NPCI error code description - "npciErrCategory": "BD", // NPCI error category - "npciRespCode": "ZM", // NPCI response code - "npciRespDesc": "INVALID / INCORRECT MPIN", // NPCI response code description - "setuDescription": "", // Setu description - "suggestedAction": "" // Suggested action for the user + "code": "mandate-rejected", // Reason code + "desc": "INVALID / INCORRECT MPIN", // Reason description + "npciErrCode": "UM8", // NPCI error code + "npciErrDesc": "RESPMANDATE DECLINED BY REMITTER BANK", // NPCI error code description + "npciErrCategory": "BD", // NPCI error category + "npciRespCode": "ZM", // NPCI response code + "npciRespDesc": "INVALID / INCORRECT MPIN", // NPCI response code description + "setuDescription": "", // Setu description + "suggestedAction": "" // Suggested action for the user }, - // Merchant and Reference Information - "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID - "merchantReferenceId": "mandate_123456789", // mandate referenceId - "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts - "rrn": "123456789012", // NPCI Txn.custRef - "umn": "customer@bank", // Unique Mandate Number from NPCI - "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // Same as id field - + "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID + "merchantReferenceId": "mandate_123456789", // mandate referenceId + "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id + "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts + "rrn": "123456789012", // NPCI Txn.custRef + "umn": "c27f5fc30d344e9594fce0afa34f8859@mypsp", // Unique Mandate Number from NPCI + "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // Same as id field // Amount Information - "amount": 1000, // Mandate amount in paise - "amountLimit": 1000, // Mandate amount in paise - "endDate": "20032025", // Mandate end date in DDMMYYYY format - + "amount": 1000, // Mandate amount in paise + "amountLimit": 1000, // Mandate amount in paise + "endDate": "20032025", // Mandate end date in DDMMYYYY format // TPV Specific Information (empty object for non-TPV mandates) - "customerAccount": { // Payer account details, empty object for non-TPV mandates - "encryptedAccountNumber": "encrypted_string", // Encrypted account number - "hashedAccountNumber": "hashed_string", // Hashed account number - "maskedAccountNumber": "**** **** **** 1234", // Masked account number - "hashedAccountName": "hashed_string", // Hashed account name - "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name - "encryptedAccountName": "encrypted_string", // Encrypted account name - "ifsc": "BANK0001234", // IFSC code - "accountType": "SAVINGS" // Account type + "customerAccount": { // Payer account details, empty object for non-TPV mandates + "encryptedAccountNumber": "fhDBZ4fC2RtNyiW5rB-jDnzzs_YpYwPGerwAwDTd", // Encrypted account number + "hashedAccountNumber": "d49f354241572a261cfd3a7f210f1919c79fa9993b29e34c5511c3ecefc9f3ea", // Hashed account number + "maskedAccountNumber": "**** **** **** 1234", // Masked account number + "hashedAccountName": "cceaad99aec841a21be45f02368d0d332493a5a62fdda20c3d85bfb617ef176b", // Hashed account name + "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name + "encryptedAccountName": "n6MUSW1KXaSWh1E38zxhh1amv9E6rPmZ2Tw=", // Encrypted account name + "ifsc": "HDFC0000053", // IFSC code + "accountType": "SAVINGS" // Account type } }`} @@ -330,50 +310,46 @@ The first step to start utilising mandates is to create a mandate. Here is a qui {`{ - "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID + "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID "eventType": "mandate.rejected", - "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp + "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp "resource": "mandate", - "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate ID + "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate ID "status": "rejected", - // Failure reason "reason": { - "code": "mandate-rejected", // Reason code - "desc": "INVALID / INCORRECT MPIN", // Reason description - "npciErrCode": "UM8", // NPCI error code - "npciErrDesc": "RESPMANDATE DECLINED BY REMITTER BANK", // NPCI error code description - "npciErrCategory": "BD", // NPCI error category - "npciRespCode": "ZM", // NPCI response code - "npciRespDesc": "INVALID / INCORRECT MPIN", // NPCI response code description - "setuDescription": "", // Setu description - "suggestedAction": "" // Suggested action for the user + "code": "mandate-rejected", // Reason code + "desc": "INVALID / INCORRECT MPIN", // Reason description + "npciErrCode": "UM8", // NPCI error code + "npciErrDesc": "RESPMANDATE DECLINED BY REMITTER BANK", // NPCI error code description + "npciErrCategory": "BD", // NPCI error category + "npciRespCode": "ZM", // NPCI response code + "npciRespDesc": "INVALID / INCORRECT MPIN", // NPCI response code description + "setuDescription": "", // Setu description + "suggestedAction": "" // Suggested action for the user }, - // Merchant and Reference Information - "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID - "merchantReferenceId": "mandate_123456789", // mandate referenceId - "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts - "rrn": "123456789012", // NPCI Txn.custRef - "umn": "customer@bank", // Unique Mandate Number from NPCI - "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // Same as id field - + "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID + "merchantReferenceId": "mandate_123456789", // mandate referenceId + "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id + "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts + "rrn": "123456789012", // NPCI Txn.custRef + "umn": "c27f5fc30d344e9594fce0afa34f8859@mypsp", // Unique Mandate Number from NPCI + "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // Same as id field // Amount Information - "amount": 1000, // Mandate amount in paise - "amountLimit": 1000, // Mandate amount in paise - "endDate": "20032025", // Mandate end date in DDMMYYYY format - + "amount": 1000, // Mandate amount in paise + "amountLimit": 1000, // Mandate amount in paise + "endDate": "20032025", // Mandate end date in DDMMYYYY format // TPV Specific Information (empty object for non-TPV mandates) - "customerAccount": { // Payer account details, empty object for non-TPV mandates - "encryptedAccountNumber": "encrypted_string", // Encrypted account number - "hashedAccountNumber": "hashed_string", // Hashed account number - "maskedAccountNumber": "**** **** **** 1234", // Masked account number - "hashedAccountName": "hashed_string", // Hashed account name - "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name - "encryptedAccountName": "encrypted_string", // Encrypted account name - "ifsc": "BANK0001234", // IFSC code - "accountType": "SAVINGS" // Account type + "customerAccount": { // Payer account details, empty object for non-TPV mandates + "encryptedAccountNumber": "fhDBZ4fC2RtNyiW5rB-jDnzzs_YpYwPGerwAwDTd", // Encrypted account number + "hashedAccountNumber": "d49f354241572a261cfd3a7f210f1919c79fa9993b29e34c5511c3ecefc9f3ea", // Hashed account number + "maskedAccountNumber": "**** **** **** 1234", // Masked account number + "hashedAccountName": "cceaad99aec841a21be45f02368d0d332493a5a62fdda20c3d85bfb617ef176b", // Hashed account name + "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name + "encryptedAccountName": "n6MUSW1KXaSWh1E38zxhh1amv9E6rPmZ2Tw=", // Encrypted account name + "ifsc": "HDFC0000053", // IFSC code + "accountType": "SAVINGS" // Account type } }`} diff --git a/content/payments/umap/notifications/mandates/execute.mdx b/content/payments/umap/notifications/mandates/execute.mdx index c3391fd9..dabf51dc 100644 --- a/content/payments/umap/notifications/mandates/execute.mdx +++ b/content/payments/umap/notifications/mandates/execute.mdx @@ -25,15 +25,13 @@ These are the available webhooks for merchants, when they execute mandates being "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate execution ID "operation": "execute", "status": "initiated", - // Empty reason object for initiated status "reason": {}, - // Merchant and Reference Information "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // merchant ID "merchantReferenceId": "mandate_123456789", // mandate execution reference ID "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "umn": "customer@bank", // Unique Mandate Number from NPCI + "umn": "c27f5fc30d344e9594fce0afa34f8859@mypsp", // Unique Mandate Number from NPCI "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // ID of the mandate being operated on "amount": 1000, // Amount in paise "seqNum": "1", // Sequence number for the execution @@ -43,7 +41,7 @@ These are the available webhooks for merchants, when they execute mandates being "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id "paymentId": "01JYXYSV8B19XAWSFRPARXY35E", // payment id "rrn": "123456789012", // NPCI Txn.custRef - "customerVpa": "customer@bank", // Customer's VPA + "customerVpa": "9650974246@ybl", // Customer's VPA "paymentStatus": "initiated", // Status of the payment "customerAccountType": "SAVINGS" // Payer account type } @@ -66,7 +64,6 @@ These are the available webhooks for merchants, when they execute mandates being "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate execution ID "operation": "execute", "status": "success", - // Success reason object "reason": { "code": "mandate-execution-success", // Reason code @@ -79,12 +76,11 @@ These are the available webhooks for merchants, when they execute mandates being "setuDescription": "", // Setu description "suggestedAction": "" // Suggested action }, - // Merchant and Reference Information "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // merchant ID "merchantReferenceId": "mandate_123456789", // mandate execution referenceId "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "umn": "customer@bank", // Unique Mandate Number from NPCI + "umn": "c27f5fc30d344e9594fce0afa34f8859@mypsp", // Unique Mandate Number from NPCI "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // ID of the mandate being operated on "amount": 1000, // Amount in paise "seqNum": "1", // Sequence number for the execution @@ -94,7 +90,7 @@ These are the available webhooks for merchants, when they execute mandates being "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id "paymentId": "01JYXYSV8B19XAWSFRPARXY35E", // payment id "rrn": "123456789012", // NPCI Txn.custRef - "customerVpa": "customer@bank", // Customer's VPA + "customerVpa": "9650974246@ybl", // Customer's VPA "paymentStatus": "success", // Status of the payment "customerAccountType": "SAVINGS" // Payer account type } @@ -121,25 +117,23 @@ These are the available webhooks for merchants, when they execute mandates being "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate execution ID "operation": "execute", "status": "failed", - // Failure reason object "reason": { "code": "mandate-execution-failed", // Reason code "desc": "INVALID / INCORRECT MPIN", // Reason description "npciErrCode": "U30", // NPCI error code "npciErrDesc": "DEBIT HAS BEEN FAILED", // NPCI error code description - "npciErrCategory": "BD", // NPCI error category + "npciErrCategory": "BD", // NPCI error category "npciRespCode": "ZM", // NPCI response code "npciRespDesc": "INVALID / INCORRECT MPIN", // NPCI response code description "setuDescription": "", // Setu description "suggestedAction": "" // Suggested action }, - // Merchant and Reference Information "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // merchant ID "merchantReferenceId": "mandate_123456789", // mandate execution referenceId "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "umn": "customer@bank", // Unique Mandate Number from NPCI + "umn": "c27f5fc30d344e9594fce0afa34f8859@mypsp", // Unique Mandate Number from NPCI "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // ID of the mandate being operated on "amount": 1000, // Amount in paise "seqNum": "1", // Sequence number for the execution @@ -149,7 +143,7 @@ These are the available webhooks for merchants, when they execute mandates being "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id "paymentId": "01JYXYSV8B19XAWSFRPARXY35E", // payment id "rrn": "123456789012", // NPCI Txn.custRef - "customerVpa": "customer@bank", // Customer's VPA + "customerVpa": "9650974246@ybl", // Customer's VPA "paymentStatus": "failed", // Status of the payment "customerAccountType": "SAVINGS" // Payer account type } diff --git a/content/payments/umap/notifications/mandates/notify.mdx b/content/payments/umap/notifications/mandates/notify.mdx index 4146cbd0..e6515290 100644 --- a/content/payments/umap/notifications/mandates/notify.mdx +++ b/content/payments/umap/notifications/mandates/notify.mdx @@ -25,15 +25,11 @@ These are the available webhooks for merchants, when they notify their customers "id": "01JYXYSV8B19XAWSFRPARXY35E", // mandate pre-debit notification id "operation": "notify", "status": "initiated", - - // Empty reason object for initiated status - "reason": {}, - - // Merchant and Reference Information + "reason": {}, // Empty reason object for initiated status "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID "merchantReferenceId": "mandate_123456789", // mandate pre-debit notification referenceId "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "umn": "customer@bank", // Unique Mandate Number from NPCI + "umn": "c27f5fc30d344e9594fce0afa34f8859@mypsp", // Unique Mandate Number from NPCI "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // ID of the mandate being operated on "amount": 1000, // Amount in paise "seqNum": "1" // Sequence number for the notification @@ -56,7 +52,6 @@ These are the available webhooks for merchants, when they notify their customers "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate pre-debit notification id "operation": "notify", "status": "success", - "reason": { "code": "mandate-notification-success", // Reason code "desc": "mandate notification has succeeded", // Reason description @@ -68,12 +63,10 @@ These are the available webhooks for merchants, when they notify their customers "setuDescription": "", // Setu description "suggestedAction": "" // Suggested action }, - - // Merchant and Reference Information "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID "merchantReferenceId": "mandate_123456789", // mandate pre-debit notification referenceId "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "umn": "customer@bank", // Unique Mandate Number from NPCI + "umn": "c27f5fc30d344e9594fce0afa34f8859@mypsp", // Unique Mandate Number from NPCI "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // ID of the mandate being operated on "amount": 1000, // Amount in paise "seqNum": "1" // Sequence number for the notification @@ -96,7 +89,6 @@ These are the available webhooks for merchants, when they notify their customers "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate pre-debit notification id "operation": "notify", "status": "failed", - "reason": { "code": "mandate-notification-failed", // Reason code "desc": "INVALID VIRTUAL ADDRESS", // Reason description @@ -108,12 +100,10 @@ These are the available webhooks for merchants, when they notify their customers "setuDescription": "", // Setu description "suggestedAction": "" // Suggested action }, - - // Merchant and Reference Information "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID "merchantReferenceId": "mandate_123456789", // mandate pre-debit notification referenceId "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "umn": "customer@bank", // Unique Mandate Number from NPCI + "umn": "c27f5fc30d344e9594fce0afa34f8859@mypsp", // Unique Mandate Number from NPCI "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // ID of the mandate being operated on "amount": 1000, // Amount in paise "seqNum": "1" // Sequence number for the notification diff --git a/content/payments/umap/notifications/mandates/pause.mdx b/content/payments/umap/notifications/mandates/pause.mdx index 81587352..c6592eb4 100644 --- a/content/payments/umap/notifications/mandates/pause.mdx +++ b/content/payments/umap/notifications/mandates/pause.mdx @@ -47,41 +47,37 @@ These are the available webhooks for merchants, when their customers attempt to {`{ - "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID + "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID "eventType": "mandate_operation.pause.initiated", - "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp + "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp "resource": "mandate_operation", - "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate operation ID + "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate operation ID "operation": "pause", "status": "initiated", - // Empty reason object for initiated status "reason": {}, - // Merchant and Reference Information - "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID - "merchantReferenceId": "mandate_123456789", // mandate referenceId - "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts - "rrn": "123456789012", // NPCI Txn.custRef - "umn": "customer@bank", // Unique Mandate Number from NPCI - "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // ID of the mandate being operated on - + "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID + "merchantReferenceId": "mandate_123456789", // mandate referenceId + "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id + "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts + "rrn": "123456789012", // NPCI Txn.custRef + "umn": "c27f5fc30d344e9594fce0afa34f8859@mypsp", // Unique Mandate Number from NPCI + "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // ID of the mandate being operated on // Amount Information - "amount": 1000, // Mandate amount in paise - "amountLimit": 1000, // Mandate amount in paise - "endDate": "20032025", // Mandate end date in DDMMYYYY format - + "amount": 1000, // Mandate amount in paise + "amountLimit": 1000, // Mandate amount in paise + "endDate": "20032025", // Mandate end date in DDMMYYYY format // TPV Specific Information (empty object for non-TPV mandates) - "customerAccount": { // Payer account details, empty object for non-TPV mandates - "encryptedAccountNumber": "encrypted_string", // Encrypted account number - "hashedAccountNumber": "hashed_string", // Hashed account number - "maskedAccountNumber": "**** **** **** 1234", // Masked account number - "hashedAccountName": "hashed_string", // Hashed account name - "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name - "encryptedAccountName": "encrypted_string", // Encrypted account name - "ifsc": "BANK0001234", // IFSC code - "accountType": "SAVINGS" // Account type + "customerAccount": { // Payer account details, empty object for non-TPV mandates + "encryptedAccountNumber": "fhDBZ4fC2RtNyiW5rB-jDnzzs_YpYwPGerwAwDTd", // Encrypted account number + "hashedAccountNumber": "d49f354241572a261cfd3a7f210f1919c79fa9993b29e34c5511c3ecefc9f3ea", // Hashed account number + "maskedAccountNumber": "**** **** **** 1234", // Masked account number + "hashedAccountName": "cceaad99aec841a21be45f02368d0d332493a5a62fdda20c3d85bfb617ef176b", // Hashed account name + "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name + "encryptedAccountName": "n6MUSW1KXaSWh1E38zxhh1amv9E6rPmZ2Tw=", // Encrypted account name + "ifsc": "HDFC0000053", // IFSC code + "accountType": "SAVINGS" // Account type } }`} @@ -110,50 +106,46 @@ These are the available webhooks for merchants, when their customers attempt to {`{ - "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID + "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID "eventType": "mandate_operation.pause.success", - "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp + "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp "resource": "mandate_operation", - "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate operation ID + "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate operation ID "operation": "pause", "status": "success", - "reason": { - "code": "mandate-operation-success", // Reason code - "desc": "mandate operation has succeeded", // Reason description - "npciErrCode": "00", // NPCI error code - "npciErrDesc": "SUCCESS", // NPCI error code description - "npciErrCategory": "NA", // NPCI error category - "npciRespCode": "00", // NPCI response code - "npciRespDesc": "SUCCESS", // NPCI response code description - "setuDescription": "", // Setu description - "suggestedAction": "" // Suggested action + "code": "mandate-operation-success", // Reason code + "desc": "mandate operation has succeeded", // Reason description + "npciErrCode": "00", // NPCI error code + "npciErrDesc": "SUCCESS", // NPCI error code description + "npciErrCategory": "NA", // NPCI error category + "npciRespCode": "00", // NPCI response code + "npciRespDesc": "SUCCESS", // NPCI response code description + "setuDescription": "", // Setu description + "suggestedAction": "" // Suggested action }, - // Merchant and Reference Information - "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID - "merchantReferenceId": "mandate_123456789", // mandate referenceId - "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts - "rrn": "123456789012", // NPCI Txn.custRef - "umn": "customer@bank", // Unique Mandate Number from NPCI - "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // ID of the mandate being operated on - + "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID + "merchantReferenceId": "mandate_123456789", // mandate referenceId + "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id + "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts + "rrn": "123456789012", // NPCI Txn.custRef + "umn": "c27f5fc30d344e9594fce0afa34f8859@mypsp", // Unique Mandate Number from NPCI + "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // ID of the mandate being operated on // Amount Information - "amount": 1000, // Mandate amount in paise - "amountLimit": 1000, // Mandate amount in paise - "endDate": "20032025", // Mandate end date in DDMMYYYY format - + "amount": 1000, // Mandate amount in paise + "amountLimit": 1000, // Mandate amount in paise + "endDate": "20032025", // Mandate end date in DDMMYYYY format // TPV Specific Information (empty object for non-TPV mandates) - "customerAccount": { // Payer account details, empty object for non-TPV mandates - "encryptedAccountNumber": "encrypted_string", // Encrypted account number - "hashedAccountNumber": "hashed_string", // Hashed account number - "maskedAccountNumber": "**** **** **** 1234", // Masked account number - "hashedAccountName": "hashed_string", // Hashed account name - "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name - "encryptedAccountName": "encrypted_string", // Encrypted account name - "ifsc": "BANK0001234", // IFSC code - "accountType": "SAVINGS" // Account type + "customerAccount": { // Payer account details, empty object for non-TPV mandates + "encryptedAccountNumber": "fhDBZ4fC2RtNyiW5rB-jDnzzs_YpYwPGerwAwDTd", // Encrypted account number + "hashedAccountNumber": "d49f354241572a261cfd3a7f210f1919c79fa9993b29e34c5511c3ecefc9f3ea", // Hashed account number + "maskedAccountNumber": "**** **** **** 1234", // Masked account number + "hashedAccountName": "cceaad99aec841a21be45f02368d0d332493a5a62fdda20c3d85bfb617ef176b", // Hashed account name + "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name + "encryptedAccountName": "n6MUSW1KXaSWh1E38zxhh1amv9E6rPmZ2Tw=", // Encrypted account name + "ifsc": "HDFC0000053", // IFSC code + "accountType": "SAVINGS" // Account type } }`} @@ -162,49 +154,45 @@ These are the available webhooks for merchants, when their customers attempt to {`{ - "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID + "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID "eventType": "mandate.paused", - "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp + "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp "resource": "mandate", - "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate ID + "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate ID "status": "paused", - "reason": { - "code": "mandate-paused", // Reason code - "desc": "mandate is paused", // Reason description - "npciErrCode": "00", // NPCI error code - "npciErrDesc": "SUCCESS", // NPCI error code description - "npciErrCategory": "NA", // NPCI error category - "npciRespCode": "00", // NPCI response code - "npciRespDesc": "SUCCESS", // NPCI response code description - "setuDescription": "", // Setu description - "suggestedAction": "" // Suggested action + "code": "mandate-paused", // Reason code + "desc": "mandate is paused", // Reason description + "npciErrCode": "00", // NPCI error code + "npciErrDesc": "SUCCESS", // NPCI error code description + "npciErrCategory": "NA", // NPCI error category + "npciRespCode": "00", // NPCI response code + "npciRespDesc": "SUCCESS", // NPCI response code description + "setuDescription": "", // Setu description + "suggestedAction": "" // Suggested action }, - // Merchant and Reference Information - "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID - "merchantReferenceId": "mandate_123456789", // mandate referenceId - "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts - "rrn": "123456789012", // NPCI Txn.custRef - "umn": "customer@bank", // Unique Mandate Number from NPCI - "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // Same as id field - + "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID + "merchantReferenceId": "mandate_123456789", // mandate referenceId + "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id + "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts + "rrn": "123456789012", // NPCI Txn.custRef + "umn": "c27f5fc30d344e9594fce0afa34f8859@mypsp", // Unique Mandate Number from NPCI + "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // Same as id field // Amount Information - "amount": 1000, // Current mandate amount in paise - "amountLimit": 1000, // Current mandate amount in paise - "endDate": "20032025", // Current mandate end date in DDMMYYYY format - + "amount": 1000, // Current mandate amount in paise + "amountLimit": 1000, // Current mandate amount in paise + "endDate": "20032025", // Current mandate end date in DDMMYYYY format // TPV Specific Information (empty object for non-TPV mandates) - "customerAccount": { // Payer account details, empty object for non-TPV mandates - "encryptedAccountNumber": "encrypted_string", // Encrypted account number - "hashedAccountNumber": "hashed_string", // Hashed account number - "maskedAccountNumber": "**** **** **** 1234", // Masked account number - "hashedAccountName": "hashed_string", // Hashed account name - "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name - "encryptedAccountName": "encrypted_string", // Encrypted account name - "ifsc": "BANK0001234", // IFSC code - "accountType": "SAVINGS" // Account type + "customerAccount": { // Payer account details, empty object for non-TPV mandates + "encryptedAccountNumber": "fhDBZ4fC2RtNyiW5rB-jDnzzs_YpYwPGerwAwDTd", // Encrypted account number + "hashedAccountNumber": "d49f354241572a261cfd3a7f210f1919c79fa9993b29e34c5511c3ecefc9f3ea", // Hashed account number + "maskedAccountNumber": "**** **** **** 1234", // Masked account number + "hashedAccountName": "cceaad99aec841a21be45f02368d0d332493a5a62fdda20c3d85bfb617ef176b", // Hashed account name + "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name + "encryptedAccountName": "n6MUSW1KXaSWh1E38zxhh1amv9E6rPmZ2Tw=", // Encrypted account name + "ifsc": "HDFC0000053", // IFSC code + "accountType": "SAVINGS" // Account type } }`} @@ -233,51 +221,47 @@ These are the available webhooks for merchants, when their customers attempt to {`{ - "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID + "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID "eventType": "mandate_operation.pause.failed", - "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp + "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp "resource": "mandate_operation", - "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate operation ID + "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate operation ID "operation": "pause", "status": "failed", - // Failure reason object "reason": { - "code": "mandate-operation-failed", // Reason code - "desc": "INVALID / INCORRECT MPIN", // Reason description - "npciErrCode": "UM8", // NPCI error code - "npciErrDesc": "RESPMANDATE DECLINED BY REMITTER BANK", // NPCI error code description - "npciErrCategory": "BD", // NPCI error category - "npciRespCode": "ZM", // NPCI response code - "npciRespDesc": "INVALID / INCORRECT MPIN", // NPCI response code description - "setuDescription": "", // Setu description - "suggestedAction": "" // Suggested action for the user + "code": "mandate-operation-failed", // Reason code + "desc": "INVALID / INCORRECT MPIN", // Reason description + "npciErrCode": "UM8", // NPCI error code + "npciErrDesc": "RESPMANDATE DECLINED BY REMITTER BANK", // NPCI error code description + "npciErrCategory": "BD", // NPCI error category + "npciRespCode": "ZM", // NPCI response code + "npciRespDesc": "INVALID / INCORRECT MPIN", // NPCI response code description + "setuDescription": "", // Setu description + "suggestedAction": "" // Suggested action for the user }, - // Merchant and Reference Information - "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID - "merchantReferenceId": "mandate_123456789", // mandate referenceId - "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts - "rrn": "123456789012", // NPCI Txn.custRef - "umn": "customer@bank", // Unique Mandate Number from NPCI - "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // ID of the mandate being operated on - + "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID + "merchantReferenceId": "mandate_123456789", // mandate referenceId + "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id + "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts + "rrn": "123456789012", // NPCI Txn.custRef + "umn": "c27f5fc30d344e9594fce0afa34f8859@mypsp", // Unique Mandate Number from NPCI + "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // ID of the mandate being operated on // Amount Information - "amount": 1000, // Current mandate amount in paise - "amountLimit": 1000, // Current mandate amount in paise - "endDate": "20032025", // Mandate end date in DDMMYYYY format - + "amount": 1000, // Current mandate amount in paise + "amountLimit": 1000, // Current mandate amount in paise + "endDate": "20032025", // Mandate end date in DDMMYYYY format // TPV Specific Information (empty object for non-TPV mandates) - "customerAccount": { // Payer account details, empty object for non-TPV mandates - "encryptedAccountNumber": "encrypted_string", // Encrypted account number - "hashedAccountNumber": "hashed_string", // Hashed account number - "maskedAccountNumber": "**** **** **** 1234", // Masked account number - "hashedAccountName": "hashed_string", // Hashed account name - "maskedAccountName": "M*J*O*H*N* D*O*E", // Masked account name - "encryptedAccountName": "encrypted_string", // Encrypted account name - "ifsc": "BANK0001234", // IFSC code - "accountType": "SAVINGS" // Account type + "customerAccount": { // Payer account details, empty object for non-TPV mandates + "encryptedAccountNumber": "fhDBZ4fC2RtNyiW5rB-jDnzzs_YpYwPGerwAwDTd", // Encrypted account number + "hashedAccountNumber": "d49f354241572a261cfd3a7f210f1919c79fa9993b29e34c5511c3ecefc9f3ea", // Hashed account number + "maskedAccountNumber": "**** **** **** 1234", // Masked account number + "hashedAccountName": "cceaad99aec841a21be45f02368d0d332493a5a62fdda20c3d85bfb617ef176b", // Hashed account name + "maskedAccountName": "M*J*O*H*N* D*O*E", // Masked account name + "encryptedAccountName": "n6MUSW1KXaSWh1E38zxhh1amv9E6rPmZ2Tw=", // Encrypted account name + "ifsc": "HDFC0000053", // IFSC code + "accountType": "SAVINGS" // Account type } }`} diff --git a/content/payments/umap/notifications/mandates/revoke.mdx b/content/payments/umap/notifications/mandates/revoke.mdx index 0d82e880..b5993620 100644 --- a/content/payments/umap/notifications/mandates/revoke.mdx +++ b/content/payments/umap/notifications/mandates/revoke.mdx @@ -48,41 +48,37 @@ These are the available webhooks for merchants, when revoking of mandate is done {`{ - "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID + "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID "eventType": "mandate_operation.revoke.initiated", - "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp + "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp "resource": "mandate_operation", - "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate operation ID + "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate operation ID "operation": "revoke", "status": "initiated", - // Empty reason object for initiated status "reason": {}, - // Merchant and Reference Information - "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID - "merchantReferenceId": "mandate_123456789", // mandate referenceId - "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts - "rrn": "123456789012", // NPCI Txn.custRef - "umn": "customer@bank", // Unique Mandate Number from NPCI - "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // ID of the mandate being operated on - + "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID + "merchantReferenceId": "mandate_123456789", // mandate referenceId + "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id + "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts + "rrn": "123456789012", // NPCI Txn.custRef + "umn": "c27f5fc30d344e9594fce0afa34f8859@mypsp", // Unique Mandate Number from NPCI + "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // ID of the mandate being operated on // Amount Information - "amount": 1000, // Mandate amount in paise - "amountLimit": 1000, // Mandate amount in paise - "endDate": "20032025", // Mandate end date in DDMMYYYY format - + "amount": 1000, // Mandate amount in paise + "amountLimit": 1000, // Mandate amount in paise + "endDate": "20032025", // Mandate end date in DDMMYYYY format // TPV Specific Information (empty object for non-TPV mandates) - "customerAccount": { // Payer account details, empty object for non-TPV mandates - "encryptedAccountNumber": "encrypted_string", // Encrypted account number - "hashedAccountNumber": "hashed_string", // Hashed account number - "maskedAccountNumber": "**** **** **** 1234", // Masked account number - "hashedAccountName": "hashed_string", // Hashed account name - "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name - "encryptedAccountName": "encrypted_string", // Encrypted account name - "ifsc": "BANK0001234", // IFSC code - "accountType": "SAVINGS" // Account type + "customerAccount": { // Payer account details, empty object for non-TPV mandates + "encryptedAccountNumber": "fhDBZ4fC2RtNyiW5rB-jDnzzs_YpYwPGerwAwDTd", // Encrypted account number + "hashedAccountNumber": "d49f354241572a261cfd3a7f210f1919c79fa9993b29e34c5511c3ecefc9f3ea", // Hashed account number + "maskedAccountNumber": "**** **** **** 1234", // Masked account number + "hashedAccountName": "cceaad99aec841a21be45f02368d0d332493a5a62fdda20c3d85bfb617ef176b", // Hashed account name + "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name + "encryptedAccountName": "n6MUSW1KXaSWh1E38zxhh1amv9E6rPmZ2Tw=", // Encrypted account name + "ifsc": "HDFC0000053", // IFSC code + "accountType": "SAVINGS" // Account type } }`} @@ -111,51 +107,47 @@ These are the available webhooks for merchants, when revoking of mandate is done {`{ - "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID + "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID "eventType": "mandate_operation.revoke.success", - "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp + "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp "resource": "mandate_operation", - "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate operation ID + "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate operation ID "operation": "revoke", "status": "success", - "reason": { - "code": "mandate-operation-success", // Reason code - "desc": "mandate operation has succeeded", // Reason description - "npciErrCode": "00", // NPCI error code - "npciErrDesc": "SUCCESS", // NPCI error code description - "npciErrCategory": "NA", // NPCI error category - "npciRespCode": "00", // NPCI response code - "npciRespDesc": "SUCCESS", // NPCI response code description - "setuDescription": "", // Setu description - "suggestedAction": "" // Suggested action - "mandateRevokeReason": "merchant-initiated" // Indicates the reason for revoking the mandate + "code": "mandate-operation-success", // Reason code + "desc": "mandate operation has succeeded", // Reason description + "npciErrCode": "00", // NPCI error code + "npciErrDesc": "SUCCESS", // NPCI error code description + "npciErrCategory": "NA", // NPCI error category + "npciRespCode": "00", // NPCI response code + "npciRespDesc": "SUCCESS", // NPCI response code description + "setuDescription": "", // Setu description + "suggestedAction": "", // Suggested action + "mandateRevokeReason": "merchant-initiated" // Indicates the reason for revoking the mandate }, - // Merchant and Reference Information - "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID - "merchantReferenceId": "mandate_123456789", // mandate referenceId - "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts - "rrn": "123456789012", // NPCI Txn.custRef - "umn": "customer@bank", // Unique Mandate Number from NPCI - "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // ID of the mandate being operated on - + "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID + "merchantReferenceId": "mandate_123456789", // mandate referenceId + "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id + "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts + "rrn": "123456789012", // NPCI Txn.custRef + "umn": "c27f5fc30d344e9594fce0afa34f8859@mypsp", // Unique Mandate Number from NPCI + "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // ID of the mandate being operated on // Amount Information - "amount": 1000, // Mandate amount in paise - "amountLimit": 1000, // Mandate amount in paise - "endDate": "20032025", // Mandate end date in DDMMYYYY format - + "amount": 1000, // Mandate amount in paise + "amountLimit": 1000, // Mandate amount in paise + "endDate": "20032025", // Mandate end date in DDMMYYYY format // TPV Specific Information (empty object for non-TPV mandates) - "customerAccount": { // Payer account details, empty object for non-TPV mandates - "encryptedAccountNumber": "encrypted_string", // Encrypted account number - "hashedAccountNumber": "hashed_string", // Hashed account number - "maskedAccountNumber": "**** **** **** 1234", // Masked account number - "hashedAccountName": "hashed_string", // Hashed account name - "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name - "encryptedAccountName": "encrypted_string", // Encrypted account name - "ifsc": "BANK0001234", // IFSC code - "accountType": "SAVINGS" // Account type + "customerAccount": { // Payer account details, empty object for non-TPV mandates + "encryptedAccountNumber": "fhDBZ4fC2RtNyiW5rB-jDnzzs_YpYwPGerwAwDTd", // Encrypted account number + "hashedAccountNumber": "d49f354241572a261cfd3a7f210f1919c79fa9993b29e34c5511c3ecefc9f3ea", // Hashed account number + "maskedAccountNumber": "**** **** **** 1234", // Masked account number + "hashedAccountName": "cceaad99aec841a21be45f02368d0d332493a5a62fdda20c3d85bfb617ef176b", // Hashed account name + "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name + "encryptedAccountName": "n6MUSW1KXaSWh1E38zxhh1amv9E6rPmZ2Tw=", // Encrypted account name + "ifsc": "HDFC0000053", // IFSC code + "accountType": "SAVINGS" // Account type } }`} @@ -164,50 +156,46 @@ These are the available webhooks for merchants, when revoking of mandate is done {`{ - "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID + "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID "eventType": "mandate.revoked", - "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp + "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp "resource": "mandate", - "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate ID + "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate ID "status": "revoked", - "reason": { - "code": "mandate-revoked", // Reason code - "desc": "mandate is revoked", // Reason description - "npciErrCode": "00", // NPCI error code - "npciErrDesc": "SUCCESS", // NPCI error code description - "npciErrCategory": "NA", // NPCI error category - "npciRespCode": "00", // NPCI response code - "npciRespDesc": "SUCCESS", // NPCI response code description - "setuDescription": "", // Setu description - "suggestedAction": "" // Suggested action - "mandateRevokeReason": "merchant-initiated" // Indicates the reason for revoking the mandate + "code": "mandate-revoked", // Reason code + "desc": "mandate is revoked", // Reason description + "npciErrCode": "00", // NPCI error code + "npciErrDesc": "SUCCESS", // NPCI error code description + "npciErrCategory": "NA", // NPCI error category + "npciRespCode": "00", // NPCI response code + "npciRespDesc": "SUCCESS", // NPCI response code description + "setuDescription": "", // Setu description + "suggestedAction": "", // Suggested action + "mandateRevokeReason": "merchant-initiated" // Indicates the reason for revoking the mandate }, - // Merchant and Reference Information - "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID - "merchantReferenceId": "mandate_123456789", // mandate referenceId - "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts - "rrn": "123456789012", // NPCI Txn.custRef - "umn": "customer@bank", // Unique Mandate Number from NPCI - "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // Same as id field - + "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID + "merchantReferenceId": "mandate_123456789", // mandate referenceId + "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id + "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts + "rrn": "123456789012", // NPCI Txn.custRef + "umn": "c27f5fc30d344e9594fce0afa34f8859@mypsp", // Unique Mandate Number from NPCI + "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // Same as id field // Amount Information - "amount": 1000, // Current mandate amount in paise - "amountLimit": 1000, // Current mandate amount in paise - "endDate": "20032025", // Current mandate end date in DDMMYYYY format - + "amount": 1000, // Current mandate amount in paise + "amountLimit": 1000, // Current mandate amount in paise + "endDate": "20032025", // Current mandate end date in DDMMYYYY format // TPV Specific Information (empty object for non-TPV mandates) - "customerAccount": { // Payer account details, empty object for non-TPV mandates - "encryptedAccountNumber": "encrypted_string", // Encrypted account number - "hashedAccountNumber": "hashed_string", // Hashed account number - "maskedAccountNumber": "**** **** **** 1234", // Masked account number - "hashedAccountName": "hashed_string", // Hashed account name - "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name - "encryptedAccountName": "encrypted_string", // Encrypted account name - "ifsc": "BANK0001234", // IFSC code - "accountType": "SAVINGS" // Account type + "customerAccount": { // Payer account details, empty object for non-TPV mandates + "encryptedAccountNumber": "fhDBZ4fC2RtNyiW5rB-jDnzzs_YpYwPGerwAwDTd", // Encrypted account number + "hashedAccountNumber": "d49f354241572a261cfd3a7f210f1919c79fa9993b29e34c5511c3ecefc9f3ea", // Hashed account number + "maskedAccountNumber": "**** **** **** 1234", // Masked account number + "hashedAccountName": "cceaad99aec841a21be45f02368d0d332493a5a62fdda20c3d85bfb617ef176b", // Hashed account name + "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name + "encryptedAccountName": "n6MUSW1KXaSWh1E38zxhh1amv9E6rPmZ2Tw=", // Encrypted account name + "ifsc": "HDFC0000053", // IFSC code + "accountType": "SAVINGS" // Account type } }`} @@ -236,52 +224,48 @@ These are the available webhooks for merchants, when revoking of mandate is done {`{ - "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID + "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID "eventType": "mandate_operation.revoke.failed", - "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp + "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp "resource": "mandate_operation", - "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate operation ID + "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate operation ID "operation": "revoke", "status": "failed", - // Failure reason object "reason": { - "code": "mandate-operation-failed", // Reason code - "desc": "INVALID / INCORRECT MPIN", // Reason description - "npciErrCode": "UM8", // NPCI error code - "npciErrDesc": "RESPMANDATE DECLINED BY REMITTER BANK", // NPCI error code description - "npciErrCategory": "BD", // NPCI error category - "npciRespCode": "ZM", // NPCI response code - "npciRespDesc": "INVALID / INCORRECT MPIN", // NPCI response code description - "setuDescription": "", // Setu description - "suggestedAction": "" // Suggested action for the user - "mandateRevokeReason": "merchant-initiated" // Indicates the reason for revoking the mandate + "code": "mandate-operation-failed", // Reason code + "desc": "INVALID / INCORRECT MPIN", // Reason description + "npciErrCode": "UM8", // NPCI error code + "npciErrDesc": "RESPMANDATE DECLINED BY REMITTER BANK", // NPCI error code description + "npciErrCategory": "BD", // NPCI error category + "npciRespCode": "ZM", // NPCI response code + "npciRespDesc": "INVALID / INCORRECT MPIN", // NPCI response code description + "setuDescription": "", // Setu description + "suggestedAction": "", // Suggested action for the user + "mandateRevokeReason": "merchant-initiated" // Indicates the reason for revoking the mandate }, - // Merchant and Reference Information - "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID - "merchantReferenceId": "mandate_123456789", // mandate referenceId - "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts - "rrn": "123456789012", // NPCI Txn.custRef - "umn": "customer@bank", // Unique Mandate Number from NPCI - "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // ID of the mandate being operated on - + "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID + "merchantReferenceId": "mandate_123456789", // mandate referenceId + "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id + "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts + "rrn": "123456789012", // NPCI Txn.custRef + "umn": "c27f5fc30d344e9594fce0afa34f8859@mypsp", // Unique Mandate Number from NPCI + "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // ID of the mandate being operated on // Amount Information - "amount": 1000, // Current mandate amount in paise - "amountLimit": 1000, // Current mandate amount in paise - "endDate": "20032025", // Mandate end date in DDMMYYYY format - + "amount": 1000, // Current mandate amount in paise + "amountLimit": 1000, // Current mandate amount in paise + "endDate": "20032025", // Mandate end date in DDMMYYYY format // TPV Specific Information (empty object for non-TPV mandates) - "customerAccount": { // Payer account details, empty object for non-TPV mandates - "encryptedAccountNumber": "encrypted_string", // Encrypted account number - "hashedAccountNumber": "hashed_string", // Hashed account number - "maskedAccountNumber": "**** **** **** 1234", // Masked account number - "hashedAccountName": "hashed_string", // Hashed account name - "maskedAccountName": "M*J*O*H*N* D*O*E", // Masked account name - "encryptedAccountName": "encrypted_string", // Encrypted account name - "ifsc": "BANK0001234", // IFSC code - "accountType": "SAVINGS" // Account type + "customerAccount": { // Payer account details, empty object for non-TPV mandates + "encryptedAccountNumber": "fhDBZ4fC2RtNyiW5rB-jDnzzs_YpYwPGerwAwDTd", // Encrypted account number + "hashedAccountNumber": "d49f354241572a261cfd3a7f210f1919c79fa9993b29e34c5511c3ecefc9f3ea", // Hashed account number + "maskedAccountNumber": "**** **** **** 1234", // Masked account number + "hashedAccountName": "cceaad99aec841a21be45f02368d0d332493a5a62fdda20c3d85bfb617ef176b", // Hashed account name + "maskedAccountName": "M*J*O*H*N* D*O*E", // Masked account name + "encryptedAccountName": "n6MUSW1KXaSWh1E38zxhh1amv9E6rPmZ2Tw=", // Encrypted account name + "ifsc": "HDFC0000053", // IFSC code + "accountType": "SAVINGS" // Account type } }`} diff --git a/content/payments/umap/notifications/mandates/unpause.mdx b/content/payments/umap/notifications/mandates/unpause.mdx index fb5866dc..5080211f 100644 --- a/content/payments/umap/notifications/mandates/unpause.mdx +++ b/content/payments/umap/notifications/mandates/unpause.mdx @@ -47,41 +47,37 @@ These are the available webhooks for merchants, when their customer unpauses the {`{ - "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID + "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID "eventType": "mandate_operation.unpause.initiated", - "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp + "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp "resource": "mandate_operation", - "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate operation ID + "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate operation ID "operation": "unpause", "status": "initiated", - // Empty reason object for initiated status "reason": {}, - // Merchant and Reference Information - "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID - "merchantReferenceId": "mandate_123456789", // mandate referenceId - "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts - "rrn": "123456789012", // NPCI Txn.custRef - "umn": "customer@bank", // Unique Mandate Number from NPCI - "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // ID of the mandate being operated on - + "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID + "merchantReferenceId": "mandate_123456789", // mandate referenceId + "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id + "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts + "rrn": "123456789012", // NPCI Txn.custRef + "umn": "c27f5fc30d344e9594fce0afa34f8859@mypsp", // Unique Mandate Number from NPCI + "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // ID of the mandate being operated on // Amount Information - "amount": 1000, // Mandate amount in paise - "amountLimit": 1000, // Mandate amount in paise - "endDate": "20032025", // Mandate end date in DDMMYYYY format - + "amount": 1000, // Mandate amount in paise + "amountLimit": 1000, // Mandate amount in paise + "endDate": "20032025", // Mandate end date in DDMMYYYY format // TPV Specific Information (empty object for non-TPV mandates) - "customerAccount": { // Payer account details, empty object for non-TPV mandates - "encryptedAccountNumber": "encrypted_string", // Encrypted account number - "hashedAccountNumber": "hashed_string", // Hashed account number - "maskedAccountNumber": "**** **** **** 1234", // Masked account number - "hashedAccountName": "hashed_string", // Hashed account name - "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name - "encryptedAccountName": "encrypted_string", // Encrypted account name - "ifsc": "BANK0001234", // IFSC code - "accountType": "SAVINGS" // Account type + "customerAccount": { // Payer account details, empty object for non-TPV mandates + "encryptedAccountNumber": "fhDBZ4fC2RtNyiW5rB-jDnzzs_YpYwPGerwAwDTd", // Encrypted account number + "hashedAccountNumber": "d49f354241572a261cfd3a7f210f1919c79fa9993b29e34c5511c3ecefc9f3ea", // Hashed account number + "maskedAccountNumber": "**** **** **** 1234", // Masked account number + "hashedAccountName": "cceaad99aec841a21be45f02368d0d332493a5a62fdda20c3d85bfb617ef176b", // Hashed account name + "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name + "encryptedAccountName": "n6MUSW1KXaSWh1E38zxhh1amv9E6rPmZ2Tw=", // Encrypted account name + "ifsc": "HDFC0000053", // IFSC code + "accountType": "SAVINGS" // Account type } }`} @@ -110,50 +106,46 @@ These are the available webhooks for merchants, when their customer unpauses the {`{ - "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID + "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID "eventType": "mandate_operation.unpause.success", - "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp + "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp "resource": "mandate_operation", - "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate operation ID + "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate operation ID "operation": "unpause", "status": "success", - "reason": { - "code": "mandate-operation-success", // Reason code - "desc": "mandate operation has succeeded", // Reason description - "npciErrCode": "00", // NPCI error code - "npciErrDesc": "SUCCESS", // NPCI error code description - "npciErrCategory": "NA", // NPCI error category - "npciRespCode": "00", // NPCI response code - "npciRespDesc": "SUCCESS", // NPCI response code description - "setuDescription": "", // Setu description - "suggestedAction": "" // Suggested action + "code": "mandate-operation-success", // Reason code + "desc": "mandate operation has succeeded", // Reason description + "npciErrCode": "00", // NPCI error code + "npciErrDesc": "SUCCESS", // NPCI error code description + "npciErrCategory": "NA", // NPCI error category + "npciRespCode": "00", // NPCI response code + "npciRespDesc": "SUCCESS", // NPCI response code description + "setuDescription": "", // Setu description + "suggestedAction": "" // Suggested action }, - // Merchant and Reference Information - "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID - "merchantReferenceId": "mandate_123456789", // mandate referenceId - "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts - "rrn": "123456789012", // NPCI Txn.custRef - "umn": "customer@bank", // Unique Mandate Number from NPCI - "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // ID of the mandate being operated on - + "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID + "merchantReferenceId": "mandate_123456789", // mandate referenceId + "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id + "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts + "rrn": "123456789012", // NPCI Txn.custRef + "umn": "c27f5fc30d344e9594fce0afa34f8859@mypsp", // Unique Mandate Number from NPCI + "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // ID of the mandate being operated on // Amount Information - "amount": 1000, // Mandate amount in paise - "amountLimit": 1000, // Mandate amount in paise - "endDate": "20032025", // Mandate end date in DDMMYYYY format - + "amount": 1000, // Mandate amount in paise + "amountLimit": 1000, // Mandate amount in paise + "endDate": "20032025", // Mandate end date in DDMMYYYY format // TPV Specific Information (empty object for non-TPV mandates) - "customerAccount": { // Payer account details, empty object for non-TPV mandates - "encryptedAccountNumber": "encrypted_string", // Encrypted account number - "hashedAccountNumber": "hashed_string", // Hashed account number - "maskedAccountNumber": "**** **** **** 1234", // Masked account number - "hashedAccountName": "hashed_string", // Hashed account name - "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name - "encryptedAccountName": "encrypted_string", // Encrypted account name - "ifsc": "BANK0001234", // IFSC code - "accountType": "SAVINGS" // Account type + "customerAccount": { // Payer account details, empty object for non-TPV mandates + "encryptedAccountNumber": "fhDBZ4fC2RtNyiW5rB-jDnzzs_YpYwPGerwAwDTd", // Encrypted account number + "hashedAccountNumber": "d49f354241572a261cfd3a7f210f1919c79fa9993b29e34c5511c3ecefc9f3ea", // Hashed account number + "maskedAccountNumber": "**** **** **** 1234", // Masked account number + "hashedAccountName": "cceaad99aec841a21be45f02368d0d332493a5a62fdda20c3d85bfb617ef176b", // Hashed account name + "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name + "encryptedAccountName": "n6MUSW1KXaSWh1E38zxhh1amv9E6rPmZ2Tw=", // Encrypted account name + "ifsc": "HDFC0000053", // IFSC code + "accountType": "SAVINGS" // Account type } }`} @@ -185,51 +177,47 @@ These are the available webhooks for merchants, when their customer unpauses the {`{ - "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID + "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID "eventType": "mandate_operation.unpause.failed", - "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp + "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp "resource": "mandate_operation", - "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate operation ID + "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate operation ID "operation": "unpause", "status": "failed", - // Failure reason object "reason": { - "code": "mandate-operation-failed", // Reason code - "desc": "INVALID / INCORRECT MPIN", // Reason description - "npciErrCode": "UM8", // NPCI error code - "npciErrDesc": "RESPMANDATE DECLINED BY REMITTER BANK", // NPCI error code description - "npciErrCategory": "BD", // NPCI error category - "npciRespCode": "ZM", // NPCI response code - "npciRespDesc": "INVALID / INCORRECT MPIN", // NPCI response code description - "setuDescription": "", // Setu description - "suggestedAction": "" // Suggested action for the user + "code": "mandate-operation-failed", // Reason code + "desc": "INVALID / INCORRECT MPIN", // Reason description + "npciErrCode": "UM8", // NPCI error code + "npciErrDesc": "RESPMANDATE DECLINED BY REMITTER BANK", // NPCI error code description + "npciErrCategory": "BD", // NPCI error category + "npciRespCode": "ZM", // NPCI response code + "npciRespDesc": "INVALID / INCORRECT MPIN", // NPCI response code description + "setuDescription": "", // Setu description + "suggestedAction": "" // Suggested action for the user }, - // Merchant and Reference Information - "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID - "merchantReferenceId": "mandate_123456789", // mandate referenceId - "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts - "rrn": "123456789012", // NPCI Txn.custRef - "umn": "customer@bank", // Unique Mandate Number from NPCI - "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // ID of the mandate being operated on - + "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID + "merchantReferenceId": "mandate_123456789", // mandate referenceId + "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id + "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts + "rrn": "123456789012", // NPCI Txn.custRef + "umn": "c27f5fc30d344e9594fce0afa34f8859@mypsp", // Unique Mandate Number from NPCI + "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // ID of the mandate being operated on // Amount Information - "amount": 1000, // Current mandate amount in paise - "amountLimit": 1000, // Current mandate amount in paise - "endDate": "20032025", // Mandate end date in DDMMYYYY format - + "amount": 1000, // Current mandate amount in paise + "amountLimit": 1000, // Current mandate amount in paise + "endDate": "20032025", // Mandate end date in DDMMYYYY format // TPV Specific Information (empty object for non-TPV mandates) - "customerAccount": { // Payer account details, empty object for non-TPV mandates - "encryptedAccountNumber": "encrypted_string", // Encrypted account number - "hashedAccountNumber": "hashed_string", // Hashed account number - "maskedAccountNumber": "**** **** **** 1234", // Masked account number - "hashedAccountName": "hashed_string", // Hashed account name - "maskedAccountName": "M*J*O*H*N* D*O*E", // Masked account name - "encryptedAccountName": "encrypted_string", // Encrypted account name - "ifsc": "BANK0001234", // IFSC code - "accountType": "SAVINGS" // Account type + "customerAccount": { // Payer account details, empty object for non-TPV mandates + "encryptedAccountNumber": "fhDBZ4fC2RtNyiW5rB-jDnzzs_YpYwPGerwAwDTd", // Encrypted account number + "hashedAccountNumber": "d49f354241572a261cfd3a7f210f1919c79fa9993b29e34c5511c3ecefc9f3ea", // Hashed account number + "maskedAccountNumber": "**** **** **** 1234", // Masked account number + "hashedAccountName": "cceaad99aec841a21be45f02368d0d332493a5a62fdda20c3d85bfb617ef176b", // Hashed account name + "maskedAccountName": "M*J*O*H*N* D*O*E", // Masked account name + "encryptedAccountName": "n6MUSW1KXaSWh1E38zxhh1amv9E6rPmZ2Tw=", // Encrypted account name + "ifsc": "HDFC0000053", // IFSC code + "accountType": "SAVINGS" // Account type } }`} diff --git a/content/payments/umap/notifications/mandates/update.mdx b/content/payments/umap/notifications/mandates/update.mdx index a3a92ed9..ee7209b1 100644 --- a/content/payments/umap/notifications/mandates/update.mdx +++ b/content/payments/umap/notifications/mandates/update.mdx @@ -49,41 +49,37 @@ Here is a quick view of how the status moves from `mandate.live` to `mandate.upd {`{ - "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID + "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID "eventType": "mandate_operation.update.initiated", - "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp + "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp "resource": "mandate_operation", - "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate operation ID + "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate operation ID "operation": "update", "status": "initiated", - // Empty reason object for initiated status "reason": {}, - // Merchant and Reference Information - "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID - "merchantReferenceId": "mandate_123456789", // mandate referenceId - "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts - "rrn": "123456789012", // NPCI Txn.custRef - "umn": "customer@bank", // Unique Mandate Number from NPCI - "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // ID of the mandate being operated on - + "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID + "merchantReferenceId": "mandate_123456789", // mandate referenceId + "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id + "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts + "rrn": "123456789012", // NPCI Txn.custRef + "umn": "c27f5fc30d344e9594fce0afa34f8859@mypsp", // Unique Mandate Number from NPCI + "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // ID of the mandate being operated on // Amount Information - "amount": 1000, // Mandate amount in paise - "amountLimit": 1000, // Updated mandate amount in paise - "endDate": "20032025", // Updated mandate end date in DDMMYYYY format - + "amount": 1000, // Mandate amount in paise + "amountLimit": 1000, // Updated mandate amount in paise + "endDate": "20032025", // Updated mandate end date in DDMMYYYY format // TPV Specific Information (empty object for non-TPV mandates) - "customerAccount": { // Payer account details, empty object for non-TPV mandates - "encryptedAccountNumber": "encrypted_string", // Encrypted account number - "hashedAccountNumber": "hashed_string", // Hashed account number - "maskedAccountNumber": "**** **** **** 1234", // Masked account number - "hashedAccountName": "hashed_string", // Hashed account name - "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name - "encryptedAccountName": "encrypted_string", // Encrypted account name - "ifsc": "BANK0001234", // IFSC code - "accountType": "SAVINGS" // Account type + "customerAccount": { // Payer account details, empty object for non-TPV mandates + "encryptedAccountNumber": "fhDBZ4fC2RtNyiW5rB-jDnzzs_YpYwPGerwAwDTd", // Encrypted account number + "hashedAccountNumber": "d49f354241572a261cfd3a7f210f1919c79fa9993b29e34c5511c3ecefc9f3ea", // Hashed account number + "maskedAccountNumber": "**** **** **** 1234", // Masked account number + "hashedAccountName": "cceaad99aec841a21be45f02368d0d332493a5a62fdda20c3d85bfb617ef176b", // Hashed account name + "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name + "encryptedAccountName": "n6MUSW1KXaSWh1E38zxhh1amv9E6rPmZ2Tw=", // Encrypted account name + "ifsc": "HDFC0000053", // IFSC code + "accountType": "SAVINGS" // Account type } }`} @@ -114,50 +110,46 @@ Here is a quick view of how the status moves from `mandate.live` to `mandate.upd {`{ - "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID - "eventType": "mandate_operation. .success", - "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp + "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID + "eventType": "mandate_operation.update.success", + "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp "resource": "mandate_operation", - "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate operation ID + "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate operation ID "operation": "update", "status": "success", - "reason": { - "code": "mandate-operation-success", // Reason code - "desc": "mandate operation has succeeded", // Reason description - "npciErrCode": "00", // NPCI error code - "npciErrDesc": "SUCCESS", // NPCI error code description - "npciErrCategory": "NA", // NPCI error category - "npciRespCode": "00", // NPCI response code - "npciRespDesc": "SUCCESS", // NPCI response code description - "setuDescription": "", // Setu description - "suggestedAction": "" // Suggested action + "code": "mandate-operation-success", // Reason code + "desc": "mandate operation has succeeded", // Reason description + "npciErrCode": "00", // NPCI error code + "npciErrDesc": "SUCCESS", // NPCI error code description + "npciErrCategory": "NA", // NPCI error category + "npciRespCode": "00", // NPCI response code + "npciRespDesc": "SUCCESS", // NPCI response code description + "setuDescription": "", // Setu description + "suggestedAction": "" // Suggested action }, - // Merchant and Reference Information - "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID - "merchantReferenceId": "mandate_123456789", // mandate referenceId - "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts - "rrn": "123456789012", // NPCI Txn.custRef - "umn": "customer@bank", // Unique Mandate Number from NPCI - "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // ID of the mandate being operated on - + "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID + "merchantReferenceId": "mandate_123456789", // mandate referenceId + "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id + "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts + "rrn": "123456789012", // NPCI Txn.custRef + "umn": "c27f5fc30d344e9594fce0afa34f8859@mypsp", // Unique Mandate Number from NPCI + "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // ID of the mandate being operated on // Amount Information - "amount": 1000, // Mandate amount in paise - "amountLimit": 1000, // Mandate amount in paise - "endDate": "20032025", // Mandate end date in DDMMYYYY format - + "amount": 1000, // Mandate amount in paise + "amountLimit": 1000, // Mandate amount in paise + "endDate": "20032025", // Mandate end date in DDMMYYYY format // TPV Specific Information (empty object for non-TPV mandates) - "customerAccount": { // Payer account details, empty object for non-TPV mandates - "encryptedAccountNumber": "encrypted_string", // Encrypted account number - "hashedAccountNumber": "hashed_string", // Hashed account number - "maskedAccountNumber": "**** **** **** 1234", // Masked account number - "hashedAccountName": "hashed_string", // Hashed account name - "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name - "encryptedAccountName": "encrypted_string", // Encrypted account name - "ifsc": "BANK0001234", // IFSC code - "accountType": "SAVINGS" // Account type + "customerAccount": { // Payer account details, empty object for non-TPV mandates + "encryptedAccountNumber": "fhDBZ4fC2RtNyiW5rB-jDnzzs_YpYwPGerwAwDTd", // Encrypted account number + "hashedAccountNumber": "d49f354241572a261cfd3a7f210f1919c79fa9993b29e34c5511c3ecefc9f3ea", // Hashed account number + "maskedAccountNumber": "**** **** **** 1234", // Masked account number + "hashedAccountName": "cceaad99aec841a21be45f02368d0d332493a5a62fdda20c3d85bfb617ef176b", // Hashed account name + "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name + "encryptedAccountName": "n6MUSW1KXaSWh1E38zxhh1amv9E6rPmZ2Tw=", // Encrypted account name + "ifsc": "HDFC0000053", // IFSC code + "accountType": "SAVINGS" // Account type } }`} @@ -166,49 +158,47 @@ Here is a quick view of how the status moves from `mandate.live` to `mandate.upd {`{ - "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID + "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID "eventType": "mandate.updated", - "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp + "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp "resource": "mandate", - "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate ID - "status": "updated", - + "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate ID + // This is a pseudo status. Do not update mandate status based on this. This is just an + // alternative for merchants that do not subscribe to mandate_operation events + "status": "updated", "reason": { - "code": "mandate-live", // Reason code - "desc": "mandate is live", // Reason description - "npciErrCode": "00", // NPCI error code - "npciErrDesc": "SUCCESS", // NPCI error code description - "npciErrCategory": "NA", // NPCI error category - "npciRespCode": "00", // NPCI response code - "npciRespDesc": "SUCCESS", // NPCI response code description - "setuDescription": "", // Setu description - "suggestedAction": "" // Suggested action + "code": "mandate-live", // Reason code + "desc": "mandate is live", // Reason description + "npciErrCode": "00", // NPCI error code + "npciErrDesc": "SUCCESS", // NPCI error code description + "npciErrCategory": "NA", // NPCI error category + "npciRespCode": "00", // NPCI response code + "npciRespDesc": "SUCCESS", // NPCI response code description + "setuDescription": "", // Setu description + "suggestedAction": "" // Suggested action }, - // Merchant and Reference Information - "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID - "merchantReferenceId": "mandate_123456789", // mandate referenceId - "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts - "rrn": "123456789012", // NPCI Txn.custRef - "umn": "customer@bank", // Unique Mandate Number from NPCI - "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // Same as id field - + "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID + "merchantReferenceId": "mandate_123456789", // mandate referenceId + "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id + "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts + "rrn": "123456789012", // NPCI Txn.custRef + "umn": "c27f5fc30d344e9594fce0afa34f8859@mypsp", // Unique Mandate Number from NPCI + "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // Same as id field // Amount Information - "amount": 1000, // Current mandate amount in paise - "amountLimit": 1000, // Current mandate amount in paise - "endDate": "20032025", // Current mandate end date in DDMMYYYY format - + "amount": 1000, // Current mandate amount in paise + "amountLimit": 1000, // Current mandate amount in paise + "endDate": "20032025", // Current mandate end date in DDMMYYYY format // TPV Specific Information (empty object for non-TPV mandates) - "customerAccount": { // Payer account details, empty object for non-TPV mandates - "encryptedAccountNumber": "encrypted_string", // Encrypted account number - "hashedAccountNumber": "hashed_string", // Hashed account number - "maskedAccountNumber": "**** **** **** 1234", // Masked account number - "hashedAccountName": "hashed_string", // Hashed account name - "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name - "encryptedAccountName": "encrypted_string", // Encrypted account name - "ifsc": "BANK0001234", // IFSC code - "accountType": "SAVINGS" // Account type + "customerAccount": { // Payer account details, empty object for non-TPV mandates + "encryptedAccountNumber": "fhDBZ4fC2RtNyiW5rB-jDnzzs_YpYwPGerwAwDTd", // Encrypted account number + "hashedAccountNumber": "d49f354241572a261cfd3a7f210f1919c79fa9993b29e34c5511c3ecefc9f3ea", // Hashed account number + "maskedAccountNumber": "**** **** **** 1234", // Masked account number + "hashedAccountName": "cceaad99aec841a21be45f02368d0d332493a5a62fdda20c3d85bfb617ef176b", // Hashed account name + "maskedAccountName": "M*N* T*O*M*A*S", // Masked account name + "encryptedAccountName": "n6MUSW1KXaSWh1E38zxhh1amv9E6rPmZ2Tw=", // Encrypted account name + "ifsc": "HDFC0000053", // IFSC code + "accountType": "SAVINGS" // Account type } }`} @@ -239,51 +229,47 @@ Here is a quick view of how the status moves from `mandate.live` to `mandate.upd {`{ - "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID + "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID "eventType": "mandate_operation.update.failed", - "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp + "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp "resource": "mandate_operation", - "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate operation ID + "id": "01JYXYSV8B19XAWSFRPARXY35E", // Mandate operation ID "operation": "update", "status": "failed", - // Failure reason object "reason": { - "code": "mandate-operation-failed", // Reason code - "desc": "INVALID / INCORRECT MPIN", // Reason description - "npciErrCode": "UM8", // NPCI error code - "npciErrDesc": "RESPMANDATE DECLINED BY REMITTER BANK", // NPCI error code description - "npciErrCategory": "BD", // NPCI error category - "npciRespCode": "ZM", // NPCI response code - "npciRespDesc": "INVALID / INCORRECT MPIN", // NPCI response code description - "setuDescription": "", // Setu description - "suggestedAction": "" // Suggested action for the user + "code": "mandate-operation-failed", // Reason code + "desc": "INVALID / INCORRECT MPIN", // Reason description + "npciErrCode": "UM8", // NPCI error code + "npciErrDesc": "RESPMANDATE DECLINED BY REMITTER BANK", // NPCI error code description + "npciErrCategory": "BD", // NPCI error category + "npciRespCode": "ZM", // NPCI response code + "npciRespDesc": "INVALID / INCORRECT MPIN", // NPCI response code description + "setuDescription": "", // Setu description + "suggestedAction": "" // Suggested action for the user }, - // Merchant and Reference Information - "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID - "merchantReferenceId": "mandate_123456789", // mandate referenceId - "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts - "rrn": "123456789012", // NPCI Txn.custRef - "umn": "customer@bank", // Unique Mandate Number from NPCI - "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // ID of the mandate being operated on - + "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID + "merchantReferenceId": "mandate_123456789", // mandate referenceId + "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id + "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts + "rrn": "123456789012", // NPCI Txn.custRef + "umn": "c27f5fc30d344e9594fce0afa34f8859@mypsp", // Unique Mandate Number from NPCI + "mandateId": "01JYXYSV8B19XAWSFRPARXY35E", // ID of the mandate being operated on // Amount Information - "amount": 1000, // Current mandate amount in paise - "amountLimit": 1000, // Updated mandate amount in paise - "endDate": "20032025", // Updated mandate end date in DDMMYYYY format - + "amount": 1000, // Current mandate amount in paise + "amountLimit": 1000, // Updated mandate amount in paise + "endDate": "20032025", // Updated mandate end date in DDMMYYYY format // TPV Specific Information (empty object for non-TPV mandates) - "customerAccount": { // Payer account details, empty object for non-TPV mandates - "encryptedAccountNumber": "encrypted_string", // Encrypted account number - "hashedAccountNumber": "hashed_string", // Hashed account number - "maskedAccountNumber": "**** **** **** 1234", // Masked account number - "hashedAccountName": "hashed_string", // Hashed account name - "maskedAccountName": "M*J*O*H*N* D*O*E", // Masked account name - "encryptedAccountName": "encrypted_string", // Encrypted account name - "ifsc": "BANK0001234", // IFSC code - "accountType": "SAVINGS" // Account type + "customerAccount": { // Payer account details, empty object for non-TPV mandates + "encryptedAccountNumber": "fhDBZ4fC2RtNyiW5rB-jDnzzs_YpYwPGerwAwDTd", // Encrypted account number + "hashedAccountNumber": "d49f354241572a261cfd3a7f210f1919c79fa9993b29e34c5511c3ecefc9f3ea", // Hashed account number + "maskedAccountNumber": "**** **** **** 1234", // Masked account number + "hashedAccountName": "cceaad99aec841a21be45f02368d0d332493a5a62fdda20c3d85bfb617ef176b", // Hashed account name + "maskedAccountName": "M*J*O*H*N* D*O*E", // Masked account name + "encryptedAccountName": "n6MUSW1KXaSWh1E38zxhh1amv9E6rPmZ2Tw=", // Encrypted account name + "ifsc": "HDFC0000053", // IFSC code + "accountType": "SAVINGS" // Account type } }`} diff --git a/content/payments/umap/notifications/payments.mdx b/content/payments/umap/notifications/payments.mdx index 05030bd8..31eaf6f6 100644 --- a/content/payments/umap/notifications/payments.mdx +++ b/content/payments/umap/notifications/payments.mdx @@ -9,7 +9,7 @@ visible_in_sidebar: true Most of the products on our platform end up creating a payment event when a customer interacts with it from a Payer PSP. We provide consistent and transparent payment statuses for a merchant, to be able to track the life-cycle of a payment request. These statuses are shown in the diagram below. -Any UPI Setu product relies on creating and presenting payment request to a customer. Setu’s UPI Setu stack provides consistent and transparent payment statuses for a merchant, to be able to track the life-cycle of a payment request. These statuses are shown in the diagram below. +Any UPI Setu product relies on creating and presenting payment request to a customer. Setu's UPI Setu stack provides consistent and transparent payment statuses for a merchant, to be able to track the life-cycle of a payment request. These statuses are shown in the diagram below. {`{ - "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID + "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID "eventType": "payment.initiated", - "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp + "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp "resource": "payment", - "id": "01JYXYSV8B19XAWSFRPARXY35E", // Payment ID + "id": "01JYXYSV8B19XAWSFRPARXY35E", // Payment ID "status": "initiated", - "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID - "merchantReferenceId": "order_123456789", // dqr / sqr / oqr / tpv-plus referenceId - "productInstanceId": "01JYXYSV8B19XAWSFRPARXY35E", // dqr / sqr / oqr / tpv / tpv-plus id - "productInstanceType": "pay_single", // Type of product instance (pay_single, pay_multi, pay_single_tpv, pay_single_tpv_plus, offline_qr) - "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id + "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID + "merchantReferenceId": "order_123456789", // dqr / sqr / oqr / tpv / tpv-plus referenceId + "productInstanceId": "01JYXYSV8B19XAWSFRPARXY35E", // dqr / sqr / oqr / tpv / tpv-plus id + "productInstanceType": "pay_single", // Type of product instance (pay_single, pay_multi, pay_single_tpv, pay_single_tpv_plus, offline_qr) + "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id "txnType": "pay", - "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts - "refId": "SU01JYXYSV8B19XAWSFRPARXY35E", // NPCI Txn.refId; intent link tr param value - "rrn": "123456789012", // NPCI Txn.custRef - "amount": 1000, // Transaction amount in paise - "currency": "INR", // Transaction currency - "customerVpa": "customer@upi", // Payer VPA address - "merchantVpa": "merchant@upi", // Payee VPA address - "customerAccountType": "SAVINGS", // Type of payer account (SAVINGS, CURRENT, CREDIT, etc.) - "txnNote": "Payment for order 123456789", // NPCI Txn.note - "bin": "123456", // First 6 digits of card number, Populated only when the customerAccountType is CREDIT - + "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts + "refId": "SU01JYXYSV8B19XAWSFRPARXY35E", // NPCI Txn.refId; intent link tr param value + "rrn": "123456789012", // NPCI Txn.custRef + "amount": 1000, // Transaction amount in paise + "currency": "INR", // Transaction currency + "customerVpa": "9650974246@ybl", // Payer VPA address + "merchantVpa": "setu.merchant@pineaxis", // Payee VPA address + "customerAccountType": "SAVINGS", // Type of payer account (SAVINGS, CURRENT, CREDIT, etc.) + "txnNote": "Payment for order 123456789", // NPCI Txn.note + "bin": "123456", // First 6 digits of card number, Populated only when the customerAccountType is CREDIT // TPV Specific Information (only present if productInstanceType is pay_single_tpv) "tpv": { - "customerAccount": {} // Empty object for payment.initiated notifications + "customerAccount": {} // Empty object for payment.initiated notifications }, - // TPV Plus Specific Information (only present if productInstanceType is pay_single_tpv_plus) "tpvPlus": { - "customerAccount": {} // Empty object for payment.initiated notifications + "customerAccount": {} // Empty object for payment.initiated notifications }, - // Information about payment failure reason - "reason": {}, // Empty object for payment.initiated notifications - + "reason": {}, // Empty object for payment.initiated notifications // Additional Information - "metadata": { // Optional metadata, only present for pay_single product instance type + "metadata": { // Optional metadata, only present for pay_single product instance type "key1": "value1", "key2": "value2" } @@ -151,60 +147,57 @@ While most of the attributes in the notificiation payload are the same for all p <> {`{ - "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID + "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID "eventType": "payment.pending", - "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp + "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp "resource": "payment", - "id": "01JYXYSV8B19XAWSFRPARXY35E", // Payment ID + "id": "01JYXYSV8B19XAWSFRPARXY35E", // Payment ID "status": "pending", "reason": { - "code": "payment-pending", // Reason code - "desc": "payment is pending", // Reason description - "npciErrCode": "XY", // NPCI error code - "npciErrDesc": "Transaction is pending", // NPCI error code description - "npciErrCategory": "TD", // NPCI error category (NA, TD, or BD) - "npciRespCode": "XY", // NPCI response code - "npciRespDesc": "Transaction is under process", // NPCI response code description - "setuDescription": "Transaction is being processed", // Setu description - "suggestedAction": "Please wait for final confirmation" // Suggested action for the user + "code": "payment-pending", // Reason code + "desc": "payment is pending", // Reason description + "npciErrCode": "XY", // NPCI error code + "npciErrDesc": "Transaction is pending", // NPCI error code description + "npciErrCategory": "TD", // NPCI error category (NA, TD, or BD) + "npciRespCode": "XY", // NPCI response code + "npciRespDesc": "Transaction is under process", // NPCI response code description + "setuDescription": "Transaction is being processed", // Setu description + "suggestedAction": "Please wait for final confirmation" // Suggested action for the user }, - "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID - "merchantReferenceId": "order_123456789", // dqr / sqr / oqr / tpv-plus / collect referenceId - "productInstanceId": "01JYXYSV8B19XAWSFRPARXY35E", // dqr / sqr / oqr / tpv / tpv-plus / collect id - "productInstanceType": "pay_single", // Type of product instance (pay_single, pay_multi, pay_single_tpv, pay_single_tpv_plus, offline_qr, collect) - "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "txnType": "pay", // "pay" for pay flow payments, "collect" for collect flow payments - "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts - "refId": "SU01JYXYSV8B19XAWSFRPARXY35E", // NPCI Txn.refId - "rrn": "123456789012", // NPCI Txn.custRef - "amount": 1000, // Transaction amount in paise - "currency": "INR", // Transaction currency - "customerVpa": "customer@upi", // Payer VPA address - "merchantVpa": "merchant@upi", // Payee VPA address - "customerAccountType": "SAVINGS", // Type of payer account (SAVINGS, CURRENT, CREDIT, etc.) - "txnNote": "Payment for order 123456789", // NPCI Txn.note - "bin": "123456", // First 6 digits of card number, Populated only when the customerAccountType is CREDIT - + "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID + "merchantReferenceId": "order_123456789", // dqr / sqr / oqr / tpv / tpv-plus / collect referenceId + "productInstanceId": "01JYXYSV8B19XAWSFRPARXY35E", // dqr / sqr / oqr / tpv / tpv-plus / collect id + "productInstanceType": "pay_single", // Type of product instance (pay_single, pay_multi, pay_single_tpv, pay_single_tpv_plus, offline_qr, collect) + "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id + "txnType": "pay", // "pay" for pay flow payments, "collect" for collect flow payments + "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts + "refId": "SU01JYXYSV8B19XAWSFRPARXY35E", // NPCI Txn.refId + "rrn": "123456789012", // NPCI Txn.custRef + "amount": 1000, // Transaction amount in paise + "currency": "INR", // Transaction currency + "customerVpa": "9650974246@ybl", // Payer VPA address + "merchantVpa": "setu.merchant@pineaxis", // Payee VPA address + "customerAccountType": "SAVINGS", // Type of payer account (SAVINGS, CURRENT, CREDIT, etc.) + "txnNote": "Payment for order 123456789", // NPCI Txn.note + "bin": "123456", // First 6 digits of card number, Populated only when the customerAccountType is CREDIT // TPV Specific Information (populated only if productInstanceType is pay_single_tpv otherwise populated as "tpv": {"customerAccount": {}}) "tpv": { "customerAccount": { "ifsc": "HDFC00123", - "accountNumber": "**** **** **** 1234", // Masked payer account number - "accountName": "M*N* T*O*M*A*S" // Masked payer account name + "accountNumber": "**** **** **** 1234", // Masked payer account number + "accountName": "M*N* T*O*M*A*S" // Masked payer account name } }, - // TPV Plus Specific Information (populated only if productInstanceType is pay_single_tpv_plus otherwise populated as "tpvPlus": {"customerAccount": {}}) "tpvPlus": { "customerAccount": { "payerApp": "GPay", - "payerBank": "HDFC", // First 4 chars of payer account ifsc - "payerVpa": "customer@upi" + "payerBank": "HDFC", // First 4 chars of payer account ifsc + "payerVpa": "9650974246@ybl" } }, - // Additional Information (only for pay_single product instance type) - "metadata": { // Optional metadata from payment record + "metadata": { // Optional metadata from payment record "key1": "value1", "key2": "value2" } @@ -220,60 +213,57 @@ While most of the attributes in the notificiation payload are the same for all p <> {`{ - "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID + "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID "eventType": "payment.success", - "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp + "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp "resource": "payment", - "id": "01JYXYSV8B19XAWSFRPARXY35E", // Payment ID + "id": "01JYXYSV8B19XAWSFRPARXY35E", // Payment ID "status": "success", "reason": { - "code": "payment-success", // Reason code - "desc": "payment is success", // Reason description - "npciErrCode": "00", // NPCI error code - "npciErrDesc": "SUCCESS", // NPCI error code description - "npciErrCategory": "NA", // NPCI error category (NA, TD, or BD) - "npciRespCode": "00", // NPCI response code - "npciRespDesc": "SUCCESS", // NPCI response code description - "setuDescription": "", // Setu description - "suggestedAction": "" // Suggested action for the user + "code": "payment-success", // Reason code + "desc": "payment is success", // Reason description + "npciErrCode": "00", // NPCI error code + "npciErrDesc": "SUCCESS", // NPCI error code description + "npciErrCategory": "NA", // NPCI error category (NA, TD, or BD) + "npciRespCode": "00", // NPCI response code + "npciRespDesc": "SUCCESS", // NPCI response code description + "setuDescription": "", // Setu description + "suggestedAction": "" // Suggested action for the user }, - "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID - "merchantReferenceId": "order_123456789", // dqr / sqr / oqr / tpv-plus / collect referenceId - "productInstanceId": "01JYXYSV8B19XAWSFRPARXY35E", // dqr / sqr / oqr / tpv / tpv-plus / collect id - "productInstanceType": "pay_single", // Type of product instance (pay_single, pay_multi, pay_single_tpv, pay_single_tpv_plus, offline_qr, collect) - "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "txnType": "pay", // "pay" for pay flow payments, "collect" for collect flow payments - "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts - "refId": "SU01JYXYSV8B19XAWSFRPARXY35E", // NPCI Txn.refId - "rrn": "123456789012", // NPCI Txn.custRef - "amount": 1000, // Transaction amount in paise - "currency": "INR", // Transaction currency - "customerVpa": "customer@upi", // Payer VPA address - "merchantVpa": "merchant@upi", // Payee VPA address - "customerAccountType": "SAVINGS", // Type of payer account (SAVINGS, CURRENT, CREDIT, etc.) - "txnNote": "Payment for order 123456789", // NPCI Txn.note - "bin": "123456", // First 6 digits of card number, Populated only when the customerAccountType is CREDIT - + "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID + "merchantReferenceId": "order_123456789", // dqr / sqr / oqr / tpv / tpv-plus / collect referenceId + "productInstanceId": "01JYXYSV8B19XAWSFRPARXY35E", // dqr / sqr / oqr / tpv / tpv-plus / collect id + "productInstanceType": "pay_single", // Type of product instance (pay_single, pay_multi, pay_single_tpv, pay_single_tpv_plus, offline_qr, collect) + "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id + "txnType": "pay", // "pay" for pay flow payments, "collect" for collect flow payments + "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts + "refId": "SU01JYXYSV8B19XAWSFRPARXY35E", // NPCI Txn.refId + "rrn": "123456789012", // NPCI Txn.custRef + "amount": 1000, // Transaction amount in paise + "currency": "INR", // Transaction currency + "customerVpa": "9650974246@ybl", // Payer VPA address + "merchantVpa": "setu.merchant@pineaxis", // Payee VPA address + "customerAccountType": "SAVINGS", // Type of payer account (SAVINGS, CURRENT, CREDIT, etc.) + "txnNote": "Payment for order 123456789", // NPCI Txn.note + "bin": "123456", // First 6 digits of card number, Populated only when the customerAccountType is CREDIT // TPV Specific Information (populated only if productInstanceType is pay_single_tpv otherwise populated as "tpv": {"customerAccount": {}}) "tpv": { "customerAccount": { "ifsc": "HDFC00123", - "accountNumber": "**** **** **** 1234", // Masked payer account number - "accountName": "M*N* T*O*M*A*S" // Masked payer account name + "accountNumber": "**** **** **** 1234", // Masked payer account number + "accountName": "M*N* T*O*M*A*S" // Masked payer account name } }, - // TPV Plus Specific Information (populated only if productInstanceType is pay_single_tpv_plus otherwise populated as "tpvPlus": {"customerAccount": {}}) "tpvPlus": { "customerAccount": { "payerApp": "GPay", - "payerBank": "HDFC", // First 4 chars of payer account ifsc - "payerVpa": "customer@upi" + "payerBank": "HDFC", // First 4 chars of payer account ifsc + "payerVpa": "9650974246@ybl" } }, - // Additional Information (only for pay_single product instance type) - "metadata": { // Optional metadata from payment record + "metadata": { // Optional metadata from payment record "key1": "value1", "key2": "value2" } @@ -294,60 +284,57 @@ While most of the attributes in the notificiation payload are the same for all p {`{ - "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID + "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID "eventType": "payment.failed", - "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp + "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp "resource": "payment", - "id": "01JYXYSV8B19XAWSFRPARXY35E", // Payment ID + "id": "01JYXYSV8B19XAWSFRPARXY35E", // Payment ID "status": "failed", "reason": { - "code": "payment-failed", // Reason code - "desc": "INVALID / INCORRECT MPIN", // Reason description - "npciErrCode": "U30", // NPCI error code - "npciErrDesc": "DEBIT HAS BEEN FAILED", // NPCI error code description - "npciErrCategory": "BD", // NPCI error category (NA, TD, or BD) - "npciRespCode": "ZM", // NPCI response code - "npciRespDesc": "INVALID / INCORRECT MPIN", // NPCI response code description - "setuDescription": "", // Setu description - "suggestedAction": "" // Suggested action for the user + "code": "payment-failed", // Reason code + "desc": "INVALID / INCORRECT MPIN", // Reason description + "npciErrCode": "U30", // NPCI error code + "npciErrDesc": "DEBIT HAS BEEN FAILED", // NPCI error code description + "npciErrCategory": "BD", // NPCI error category (NA, TD, or BD) + "npciRespCode": "ZM", // NPCI response code + "npciRespDesc": "INVALID / INCORRECT MPIN", // NPCI response code description + "setuDescription": "", // Setu description + "suggestedAction": "" // Suggested action for the user }, - "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID - "merchantReferenceId": "order_123456789", // dqr / sqr / oqr / tpv-plus / collect referenceId - "productInstanceId": "01JYXYSV8B19XAWSFRPARXY35E", // dqr / sqr / oqr / tpv / tpv-plus / collect id - "productInstanceType": "pay_single", // Type of product instance (pay_single, pay_multi, pay_single_tpv, pay_single_tpv_plus, offline_qr, collect) - "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "txnType": "pay", // "pay" for pay flow payments, "collect" for collect flow payments - "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts - "refId": "SU01JYXYSV8B19XAWSFRPARXY35E", // NPCI Txn.refId - "rrn": "123456789012", // NPCI Txn.custRef - "amount": 1000, // Transaction amount in paise - "currency": "INR", // Transaction currency - "customerVpa": "customer@upi", // Payer VPA address - "merchantVpa": "merchant@upi", // Payee VPA address - "customerAccountType": "SAVINGS", // Type of payer account (SAVINGS, CURRENT, CREDIT, etc.) - "txnNote": "Payment for order 123456789", // NPCI Txn.note - "bin": "123456", // First 6 digits of card number, Populated only when the customerAccountType is CREDIT - + "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID + "merchantReferenceId": "order_123456789", // dqr / sqr / oqr / tpv / tpv-plus / collect referenceId + "productInstanceId": "01JYXYSV8B19XAWSFRPARXY35E", // dqr / sqr / oqr / tpv / tpv-plus / collect id + "productInstanceType": "pay_single", // Type of product instance (pay_single, pay_multi, pay_single_tpv, pay_single_tpv_plus, offline_qr, collect) + "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id + "txnType": "pay", // "pay" for pay flow payments, "collect" for collect flow payments + "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts + "refId": "SU01JYXYSV8B19XAWSFRPARXY35E", // NPCI Txn.refId + "rrn": "123456789012", // NPCI Txn.custRef + "amount": 1000, // Transaction amount in paise + "currency": "INR", // Transaction currency + "customerVpa": "9650974246@ybl", // Payer VPA address + "merchantVpa": "setu.merchant@pineaxis", // Payee VPA address + "customerAccountType": "SAVINGS", // Type of payer account (SAVINGS, CURRENT, CREDIT, etc.) + "txnNote": "Payment for order 123456789", // NPCI Txn.note + "bin": "123456", // First 6 digits of card number, Populated only when the customerAccountType is CREDIT // TPV Specific Information (populated only if productInstanceType is pay_single_tpv otherwise populated as "tpv": {"customerAccount": {}}) "tpv": { "customerAccount": { "ifsc": "HDFC00123", - "accountNumber": "**** **** **** 1234", // Masked payer account number - "accountName": "M*N* T*O*M*A*S" // Masked payer account name + "accountNumber": "**** **** **** 1234", // Masked payer account number + "accountName": "M*N* T*O*M*A*S" // Masked payer account name } }, - // TPV Plus Specific Information (populated only if productInstanceType is pay_single_tpv_plus otherwise populated as "tpvPlus": {"customerAccount": {}}) "tpvPlus": { "customerAccount": { "payerApp": "GPay", - "payerBank": "HDFC", // First 4 chars of payer account ifsc - "payerVpa": "customer@upi" + "payerBank": "HDFC", // First 4 chars of payer account ifsc + "payerVpa": "9650974246@ybl" } }, - // Additional Information (only for pay_single product instance type) - "metadata": { // Optional metadata from payment record + "metadata": { // Optional metadata from payment record "key1": "value1", "key2": "value2" } diff --git a/content/payments/umap/notifications/refunds.mdx b/content/payments/umap/notifications/refunds.mdx index 83282060..345542b1 100644 --- a/content/payments/umap/notifications/refunds.mdx +++ b/content/payments/umap/notifications/refunds.mdx @@ -55,19 +55,16 @@ Here is the life-cycle for refund statuses— "resource": "refund", "id": "01JYXYSV8B19XAWSFRPARXY35E", // Refund ID "status": "pending", - // Empty reason object for pending status "reason": {}, - // Merchant and Reference Information "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID "paymentId": "01JYXYSV8B19XAWSFRPARXY35E", // Original payment ID "orgTxnId": "HDF10e4ab8a07f447eea54581383d92b507", // Original payment transaction ID "referenceId": "refund_123456789", // refund referenceId - // Amount Information - "amount": 1000, // Refund amount in paise - "currency": "INR" // Transaction currency + "amount": 1000, // Refund amount in paise + "currency": "INR" // Transaction currency }`} @@ -86,9 +83,7 @@ Here is the life-cycle for refund statuses— "resource": "refund", "id": "01JYXYSV8B19XAWSFRPARXY35E", // Refund ID "status": "success", - "reason": {}, - // Merchant and Reference Information "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // merchant ID "paymentId": "01JYXYSV8B19XAWSFRPARXY35E", // Original payment ID @@ -97,10 +92,9 @@ Here is the life-cycle for refund statuses— "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id for refund transaction "rrn": "123456789012", // NPCI Txn.custRef for original payment "crn": "UPI123456789", // Refund CRN - // Amount Information - "amount": 1000, // Refund amount in paise - "currency": "INR" // Transaction currency + "amount": 1000, // Refund amount in paise + "currency": "INR" // Transaction currency }`} diff --git a/content/payments/umap/payments.mdx b/content/payments/umap/payments.mdx index ca365850..d90d6ea9 100644 --- a/content/payments/umap/payments.mdx +++ b/content/payments/umap/payments.mdx @@ -41,7 +41,7 @@ UPI Setu has consistent and transparent payment statuses across all transaction | **Payment statuses** | **Description** | | -------------------- | ------------------------------------------------ | | `payment.initiated` | Payment has been attempted by a customer | -| `payment.ending` | Payment is currently being processed by UPI Setu | +| `payment.pending` | Payment is currently being processed by UPI Setu | | `payment.success` | Payment has been successfully completed | | `payment.failed` | Payment could not be processed | diff --git a/content/payments/umap/payments/tpv/life-cycle.mdx b/content/payments/umap/payments/tpv/life-cycle.mdx index c4a3177c..d4d09c04 100644 --- a/content/payments/umap/payments/tpv/life-cycle.mdx +++ b/content/payments/umap/payments/tpv/life-cycle.mdx @@ -103,13 +103,6 @@ Sample TPV object in the notification payload— {`{ // TPV attributes “tpv”: { - "sourceAccounts": [ - { - "ifsc": "HDFC00123", - "accountNumber": "**** **** **** 1234", - "accountName": "M*N* T*O*M*A*S", - } - ], "customerAccount": { "ifsc": "HDFC00123", "accountNumber": "**** **** **** 1234", @@ -131,44 +124,40 @@ Sample TPV object in the notification payload— A payment.initiated event is raised when a customer tries to make a payment to an intent link or QR either by clicking on a shortlink or by scanning the QR code {`{ - "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID + "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID "eventType": "payment.initiated", - "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp + "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp "resource": "payment", - "id": "01JYXYSV8B19XAWSFRPARXY35E", // Payment ID + "id": "01JYXYSV8B19XAWSFRPARXY35E", // Payment ID "status": "initiated", - "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID - "merchantReferenceId": "order_123456789", // dqr / sqr / oqr / tpv-plus referenceId - "productInstanceId": "01JYXYSV8B19XAWSFRPARXY35E", // dqr / sqr / oqr / tpv / tpv-plus id - "productInstanceType": "pay_single", // Type of product instance (pay_single, pay_multi, pay_single_tpv, pay_single_tpv_plus, offline_qr) - "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id + "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID + "merchantReferenceId": "order_123456789", // dqr / sqr / oqr / tpv / tpv-plus referenceId + "productInstanceId": "01JYXYSV8B19XAWSFRPARXY35E", // dqr / sqr / oqr / tpv / tpv-plus id + "productInstanceType": "pay_single", // Type of product instance (pay_single, pay_multi, pay_single_tpv, pay_single_tpv_plus, offline_qr) + "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id "txnType": "pay", - "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts - "refId": "SU01JYXYSV8B19XAWSFRPARXY35E", // NPCI Txn.refId; intent link tr param value - "rrn": "123456789012", // NPCI Txn.custRef - "amount": 1000, // Transaction amount in paise - "currency": "INR", // Transaction currency - "customerVpa": "customer@upi", // Payer VPA address - "merchantVpa": "merchant@upi", // Payee VPA address - "customerAccountType": "SAVINGS", // Type of payer account (SAVINGS, CURRENT, CREDIT, etc.) - "txnNote": "Payment for order 123456789", // NPCI Txn.note - "bin": "123456", // First 6 digits of card number, Populated only when the customerAccountType is CREDIT - + "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts + "refId": "SU01JYXYSV8B19XAWSFRPARXY35E", // NPCI Txn.refId; intent link tr param value + "rrn": "123456789012", // NPCI Txn.custRef + "amount": 1000, // Transaction amount in paise + "currency": "INR", // Transaction currency + "customerVpa": "9650974246@ybl", // Payer VPA address + "merchantVpa": "setu.merchant@pineaxis", // Payee VPA address + "customerAccountType": "SAVINGS", // Type of payer account (SAVINGS, CURRENT, CREDIT, etc.) + "txnNote": "Payment for order 123456789", // NPCI Txn.note + "bin": "123456", // First 6 digits of card number, Populated only when the customerAccountType is CREDIT // TPV Specific Information (only present if productInstanceType is pay_single_tpv) "tpv": { - "customerAccount": {} // Empty object for payment.initiated notifications + "customerAccount": {} // Empty object for payment.initiated notifications }, - // TPV Plus Specific Information (only present if productInstanceType is pay_single_tpv_plus) "tpvPlus": { - "customerAccount": {} // Empty object for payment.initiated notifications + "customerAccount": {} // Empty object for payment.initiated notifications }, - // Information about payment failure reason - "reason": {}, // Empty object for payment.initiated notifications - + "reason": {}, // Empty object for payment.initiated notifications // Additional Information - "metadata": { // Optional metadata, only present for pay_single product instance type + "metadata": { // Optional metadata, only present for pay_single product instance type "key1": "value1", "key2": "value2" } @@ -184,60 +173,57 @@ Sample TPV object in the notification payload— <> {`{ - "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID + "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID "eventType": "payment.pending", - "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp + "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp "resource": "payment", - "id": "01JYXYSV8B19XAWSFRPARXY35E", // Payment ID + "id": "01JYXYSV8B19XAWSFRPARXY35E", // Payment ID "status": "pending", "reason": { - "code": "payment-pending", // Reason code - "desc": "payment is pending", // Reason description - "npciErrCode": "XY", // NPCI error code - "npciErrDesc": "Transaction is pending", // NPCI error code description - "npciErrCategory": "TD", // NPCI error category (NA, TD, or BD) - "npciRespCode": "XY", // NPCI response code - "npciRespDesc": "Transaction is under process", // NPCI response code description - "setuDescription": "Transaction is being processed", // Setu description - "suggestedAction": "Please wait for final confirmation" // Suggested action for the user + "code": "payment-pending", // Reason code + "desc": "payment is pending", // Reason description + "npciErrCode": "XY", // NPCI error code + "npciErrDesc": "Transaction is pending", // NPCI error code description + "npciErrCategory": "TD", // NPCI error category (NA, TD, or BD) + "npciRespCode": "XY", // NPCI response code + "npciRespDesc": "Transaction is under process", // NPCI response code description + "setuDescription": "Transaction is being processed", // Setu description + "suggestedAction": "Please wait for final confirmation" // Suggested action for the user }, - "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID - "merchantReferenceId": "order_123456789", // dqr / sqr / oqr / tpv-plus / collect referenceId - "productInstanceId": "01JYXYSV8B19XAWSFRPARXY35E", // dqr / sqr / oqr / tpv / tpv-plus / collect id - "productInstanceType": "pay_single", // Type of product instance (pay_single, pay_multi, pay_single_tpv, pay_single_tpv_plus, offline_qr, collect) - "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "txnType": "pay", // "pay" for pay flow payments, "collect" for collect flow payments - "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts - "refId": "SU01JYXYSV8B19XAWSFRPARXY35E", // NPCI Txn.refId - "rrn": "123456789012", // NPCI Txn.custRef - "amount": 1000, // Transaction amount in paise - "currency": "INR", // Transaction currency - "customerVpa": "customer@upi", // Payer VPA address - "merchantVpa": "merchant@upi", // Payee VPA address - "customerAccountType": "SAVINGS", // Type of payer account (SAVINGS, CURRENT, CREDIT, etc.) - "txnNote": "Payment for order 123456789", // NPCI Txn.note - "bin": "123456", // First 6 digits of card number, Populated only when the customerAccountType is CREDIT - + "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID + "merchantReferenceId": "order_123456789", // dqr / sqr / oqr / tpv / tpv-plus / collect referenceId + "productInstanceId": "01JYXYSV8B19XAWSFRPARXY35E", // dqr / sqr / oqr / tpv / tpv-plus / collect id + "productInstanceType": "pay_single", // Type of product instance (pay_single, pay_multi, pay_single_tpv, pay_single_tpv_plus, offline_qr, collect) + "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id + "txnType": "pay", // "pay" for pay flow payments, "collect" for collect flow payments + "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts + "refId": "SU01JYXYSV8B19XAWSFRPARXY35E", // NPCI Txn.refId + "rrn": "123456789012", // NPCI Txn.custRef + "amount": 1000, // Transaction amount in paise + "currency": "INR", // Transaction currency + "customerVpa": "9650974246@ybl", // Payer VPA address + "merchantVpa": "setu.merchant@pineaxis", // Payee VPA address + "customerAccountType": "SAVINGS", // Type of payer account (SAVINGS, CURRENT, CREDIT, etc.) + "txnNote": "Payment for order 123456789", // NPCI Txn.note + "bin": "123456", // First 6 digits of card number, Populated only when the customerAccountType is CREDIT // TPV Specific Information (populated only if productInstanceType is pay_single_tpv otherwise populated as "tpv": {"customerAccount": {}}) "tpv": { "customerAccount": { "ifsc": "HDFC00123", - "accountNumber": "**** **** **** 1234", // Masked payer account number - "accountName": "M*N* T*O*M*A*S" // Masked payer account name + "accountNumber": "**** **** **** 1234", // Masked payer account number + "accountName": "M*N* T*O*M*A*S" // Masked payer account name } }, - // TPV Plus Specific Information (populated only if productInstanceType is pay_single_tpv_plus otherwise populated as "tpvPlus": {"customerAccount": {}}) "tpvPlus": { "customerAccount": { "payerApp": "GPay", - "payerBank": "HDFC", // First 4 chars of payer account ifsc - "payerVpa": "customer@upi" + "payerBank": "HDFC", // First 4 chars of payer account ifsc + "payerVpa": "9650974246@ybl" } }, - // Additional Information (only for pay_single product instance type) - "metadata": { // Optional metadata from payment record + "metadata": { // Optional metadata from payment record "key1": "value1", "key2": "value2" } @@ -253,60 +239,57 @@ Sample TPV object in the notification payload— <> {`{ - "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID + "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID "eventType": "payment.success", - "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp + "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp "resource": "payment", - "id": "01JYXYSV8B19XAWSFRPARXY35E", // Payment ID + "id": "01JYXYSV8B19XAWSFRPARXY35E", // Payment ID "status": "success", "reason": { - "code": "payment-success", // Reason code - "desc": "payment is success", // Reason description - "npciErrCode": "00", // NPCI error code - "npciErrDesc": "SUCCESS", // NPCI error code description - "npciErrCategory": "NA", // NPCI error category (NA, TD, or BD) - "npciRespCode": "00", // NPCI response code - "npciRespDesc": "SUCCESS", // NPCI response code description - "setuDescription": "", // Setu description - "suggestedAction": "" // Suggested action for the user + "code": "payment-success", // Reason code + "desc": "payment is success", // Reason description + "npciErrCode": "00", // NPCI error code + "npciErrDesc": "SUCCESS", // NPCI error code description + "npciErrCategory": "NA", // NPCI error category (NA, TD, or BD) + "npciRespCode": "00", // NPCI response code + "npciRespDesc": "SUCCESS", // NPCI response code description + "setuDescription": "", // Setu description + "suggestedAction": "" // Suggested action for the user }, - "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID - "merchantReferenceId": "order_123456789", // dqr / sqr / oqr / tpv-plus / collect referenceId - "productInstanceId": "01JYXYSV8B19XAWSFRPARXY35E", // dqr / sqr / oqr / tpv / tpv-plus / collect id - "productInstanceType": "pay_single", // Type of product instance (pay_single, pay_multi, pay_single_tpv, pay_single_tpv_plus, offline_qr, collect) - "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "txnType": "pay", // "pay" for pay flow payments, "collect" for collect flow payments - "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts - "refId": "SU01JYXYSV8B19XAWSFRPARXY35E", // NPCI Txn.refId - "rrn": "123456789012", // NPCI Txn.custRef - "amount": 1000, // Transaction amount in paise - "currency": "INR", // Transaction currency - "customerVpa": "customer@upi", // Payer VPA address - "merchantVpa": "merchant@upi", // Payee VPA address - "customerAccountType": "SAVINGS", // Type of payer account (SAVINGS, CURRENT, CREDIT, etc.) - "txnNote": "Payment for order 123456789", // NPCI Txn.note - "bin": "123456", // First 6 digits of card number, Populated only when the customerAccountType is CREDIT - + "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID + "merchantReferenceId": "order_123456789", // dqr / sqr / oqr / tpv / tpv-plus / collect referenceId + "productInstanceId": "01JYXYSV8B19XAWSFRPARXY35E", // dqr / sqr / oqr / tpv / tpv-plus / collect id + "productInstanceType": "pay_single", // Type of product instance (pay_single, pay_multi, pay_single_tpv, pay_single_tpv_plus, offline_qr, collect) + "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id + "txnType": "pay", // "pay" for pay flow payments, "collect" for collect flow payments + "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts + "refId": "SU01JYXYSV8B19XAWSFRPARXY35E", // NPCI Txn.refId + "rrn": "123456789012", // NPCI Txn.custRef + "amount": 1000, // Transaction amount in paise + "currency": "INR", // Transaction currency + "customerVpa": "9650974246@ybl", // Payer VPA address + "merchantVpa": "setu.merchant@pineaxis", // Payee VPA address + "customerAccountType": "SAVINGS", // Type of payer account (SAVINGS, CURRENT, CREDIT, etc.) + "txnNote": "Payment for order 123456789", // NPCI Txn.note + "bin": "123456", // First 6 digits of card number, Populated only when the customerAccountType is CREDIT // TPV Specific Information (populated only if productInstanceType is pay_single_tpv otherwise populated as "tpv": {"customerAccount": {}}) "tpv": { "customerAccount": { "ifsc": "HDFC00123", - "accountNumber": "**** **** **** 1234", // Masked payer account number - "accountName": "M*N* T*O*M*A*S" // Masked payer account name + "accountNumber": "**** **** **** 1234", // Masked payer account number + "accountName": "M*N* T*O*M*A*S" // Masked payer account name } }, - // TPV Plus Specific Information (populated only if productInstanceType is pay_single_tpv_plus otherwise populated as "tpvPlus": {"customerAccount": {}}) "tpvPlus": { "customerAccount": { "payerApp": "GPay", - "payerBank": "HDFC", // First 4 chars of payer account ifsc - "payerVpa": "customer@upi" + "payerBank": "HDFC", // First 4 chars of payer account ifsc + "payerVpa": "9650974246@ybl" } }, - // Additional Information (only for pay_single product instance type) - "metadata": { // Optional metadata from payment record + "metadata": { // Optional metadata from payment record "key1": "value1", "key2": "value2" } @@ -323,60 +306,57 @@ Sample TPV object in the notification payload— A payment.failed event is raised when a payment is rejected, the reason for rejection is populated in the reason object {`{ - "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID + "eventId": "1c94fdeb-2167-443d-99f4-f5fe21d079ae", // Unique event identifier, generated using UUID "eventType": "payment.failed", - "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp + "eventTs": "2025-06-29T19:12:35+05:30", // Event timestamp "resource": "payment", - "id": "01JYXYSV8B19XAWSFRPARXY35E", // Payment ID + "id": "01JYXYSV8B19XAWSFRPARXY35E", // Payment ID "status": "failed", "reason": { - "code": "payment-failed", // Reason code - "desc": "INVALID / INCORRECT MPIN", // Reason description - "npciErrCode": "U30", // NPCI error code - "npciErrDesc": "DEBIT HAS BEEN FAILED", // NPCI error code description - "npciErrCategory": "BD", // NPCI error category (NA, TD, or BD) - "npciRespCode": "ZM", // NPCI response code - "npciRespDesc": "INVALID / INCORRECT MPIN", // NPCI response code description - "setuDescription": "", // Setu description - "suggestedAction": "" // Suggested action for the user + "code": "payment-failed", // Reason code + "desc": "INVALID / INCORRECT MPIN", // Reason description + "npciErrCode": "U30", // NPCI error code + "npciErrDesc": "DEBIT HAS BEEN FAILED", // NPCI error code description + "npciErrCategory": "BD", // NPCI error category (NA, TD, or BD) + "npciRespCode": "ZM", // NPCI response code + "npciRespDesc": "INVALID / INCORRECT MPIN", // NPCI response code description + "setuDescription": "", // Setu description + "suggestedAction": "" // Suggested action for the user }, - "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID - "merchantReferenceId": "order_123456789", // dqr / sqr / oqr / tpv-plus / collect referenceId - "productInstanceId": "01JYXYSV8B19XAWSFRPARXY35E", // dqr / sqr / oqr / tpv / tpv-plus / collect id - "productInstanceType": "pay_single", // Type of product instance (pay_single, pay_multi, pay_single_tpv, pay_single_tpv_plus, offline_qr, collect) - "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id - "txnType": "pay", // "pay" for pay flow payments, "collect" for collect flow payments - "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts - "refId": "SU01JYXYSV8B19XAWSFRPARXY35E", // NPCI Txn.refId - "rrn": "123456789012", // NPCI Txn.custRef - "amount": 1000, // Transaction amount in paise - "currency": "INR", // Transaction currency - "customerVpa": "customer@upi", // Payer VPA address - "merchantVpa": "merchant@upi", // Payee VPA address - "customerAccountType": "SAVINGS", // Type of payer account (SAVINGS, CURRENT, CREDIT, etc.) - "txnNote": "Payment for order 123456789", // NPCI Txn.note - "bin": "123456", // First 6 digits of card number, Populated only when the customerAccountType is CREDIT - + "merchantId": "01JYXYSV8B19XAWSFRPARXY35E", // Merchant ID + "merchantReferenceId": "order_123456789", // dqr / sqr / oqr / tpv / tpv-plus / collect referenceId + "productInstanceId": "01JYXYSV8B19XAWSFRPARXY35E", // dqr / sqr / oqr / tpv / tpv-plus / collect id + "productInstanceType": "pay_single", // Type of product instance (pay_single, pay_multi, pay_single_tpv, pay_single_tpv_plus, offline_qr, collect) + "txnId": "HDF10e4ab8a07f447eea54581383d92b507", // NPCI Txn.id + "txnType": "pay", // "pay" for pay flow payments, "collect" for collect flow payments + "txnTs": "2025-06-29T19:12:35+05:30", // NPCI Txn.ts + "refId": "SU01JYXYSV8B19XAWSFRPARXY35E", // NPCI Txn.refId + "rrn": "123456789012", // NPCI Txn.custRef + "amount": 1000, // Transaction amount in paise + "currency": "INR", // Transaction currency + "customerVpa": "9650974246@ybl", // Payer VPA address + "merchantVpa": "setu.merchant@pineaxis", // Payee VPA address + "customerAccountType": "SAVINGS", // Type of payer account (SAVINGS, CURRENT, CREDIT, etc.) + "txnNote": "Payment for order 123456789", // NPCI Txn.note + "bin": "123456", // First 6 digits of card number, Populated only when the customerAccountType is CREDIT // TPV Specific Information (populated only if productInstanceType is pay_single_tpv otherwise populated as "tpv": {"customerAccount": {}}) "tpv": { "customerAccount": { "ifsc": "HDFC00123", - "accountNumber": "**** **** **** 1234", // Masked payer account number - "accountName": "M*N* T*O*M*A*S" // Masked payer account name + "accountNumber": "**** **** **** 1234", // Masked payer account number + "accountName": "M*N* T*O*M*A*S" // Masked payer account name } }, - // TPV Plus Specific Information (populated only if productInstanceType is pay_single_tpv_plus otherwise populated as "tpvPlus": {"customerAccount": {}}) "tpvPlus": { "customerAccount": { "payerApp": "GPay", - "payerBank": "HDFC", // First 4 chars of payer account ifsc - "payerVpa": "customer@upi" + "payerBank": "HDFC", // First 4 chars of payer account ifsc + "payerVpa": "9650974246@ybl" } }, - // Additional Information (only for pay_single product instance type) - "metadata": { // Optional metadata from payment record + "metadata": { // Optional metadata from payment record "key1": "value1", "key2": "value2" } diff --git a/content/payments/umap/refunds-disputes.mdx b/content/payments/umap/refunds-disputes.mdx index b18da4da..7c65d296 100644 --- a/content/payments/umap/refunds-disputes.mdx +++ b/content/payments/umap/refunds-disputes.mdx @@ -51,14 +51,9 @@ In addition to notifications, merchants can also use the