VerifyPay (V3)

Validate a UPI VPA via a penny drop

🙌

Important Note

Please use only Staging Credentials on each API Reference page to test the APIs directly from our Documentation.

This API endpoint and schema is relevant only when integrating with our Payment Aggregator entity (Decfin).

Overview

This API allows Decentro’s clients to check the status of a UPI VPA (Virtual Payment Address) and, if valid, retrieve the Bank Account Details associated with the VPA.

Flow

Below is the flow for using this API through Decentro:

  1. The platform creates the request body by passing the authentication header parameters along with the required/mandatory request parameters.
  2. Decentro validates the request payload and processes the request if there are no errors with the request payload.
    1. Please see the response key section for more information on the possible error responses.
  3. Decentro will respond with the success message and response key if we were able to successfully fetch the account and VPA status
    1. The relevant response parameters will be passed within the data block
    2. Decentro will perform a penny drop (INR 1.00) or a paisa drop (INR 0.01) as a part of the validation process.
  4. If Decentro is not able to find/fetch the required details:
    1. The API will respond with the relevant failure message and response key
    2. We will not propagate any values in the data block
  5. If the api_status is "PENDING", please use the GET Status - Verification Request(V3) API to retrieve the terminal status of the verification request.

🚧

Global Velocity Controls are implemented for this API

We ensure this service is not abused via our Global Velocity Controls. Our default velocity limits, set against each mobile number, are 3 per min / 4 per hour / 5 per day.

These limits are in place at to ensure that the same mobile number, or bank account, does not receive unlimited payouts (via the verification penny drop) from multiple verifications within short time-frame.


API Endpoints

EnvironmentEndpoint
Staging / Sandboxhttps://staging.api.decentro.tech/v3/banking/verify_pay
ProductionTo be confirmed

This API enabled you yo check if a particular UPI-ID (Virtual Payment Address) is valid.

📘

Simulation Data

Decentro provides the test data which will simulate various scenarios of the API when a transaction takes place.

Note:

  1. This test data is only valid in the Staging environment.
  2. Please use valid client_id and client_secret values.
  3. Pass the UPI_VPA values, shared below, in the request payload to cycle through the various test cases for this API.

Important: Please refer to the Simulation Data guide Click here

❗️

Please Note: This service is currently not available on for production use.

Simulation Data

Steps to use this data:

  1. Take the UPI ID from values shared below depending on the scenario to be tested.
  2. API response will state the validation status of the VPA (valid or invalid)
UPI IDAPI StatusValidation statusTest case
8972241839@upiSUCCESSVALIDWhen the target UPI VPA is valid
8949342808@upiSUCCESSINVALIDWhen the target UPI VPA is invalid
8949392608@upiPENDINGNot ApplicableWhen the sync API responds with a PENDING status
8949342608@upiFAILURENot ApplicableWhen the request fails due to downstream provider issues

Response Keys

Below are the response keys propagated by Decentro in the response_key parameter, which cover all the scenarios a platform can encounter.

❗️

Please Note: This list is subject to change before this service os deployed on production

Response KeyMessage
success_account_details_retrievedAccount details retrieved successfully
failure_expired_upi_vpaThe UPI VPA has expired.
failure_vpa_restrictredThe customer has blocked trannsactions for this UPI ID.
failure_account_frozenThe account associated with this mobile number is blocked or frozen.
failure_dormant_accountThe account associated with this mobile number is Inactive or Dormant.
failure_account_closedThe bank account mapped to the UPI VPA is closed.
failure_no_account_mappedThere is no bank account mapped with this UPI ID.
faiure_invalid_upi_vpaThe beneficiary UPI VPA is invalid.
failure_invalid_vpaThe beneficiary UPI VPA is invalid.
failure_invalid_pspThe PSP powering the upi VPA is not active.
error_invalid_methodThe method is not allowed for the requested URL.
(Not Applicable)Authentication failed. Please use valid Client ID and Client Secret.
error_malformed_requestMalformed request detected.
error_unauthorized_moduleAuthentication failed for accessing the module
error_unsanitized_valuesUnsanitized values detected for key(s): reference_id. Kindly sanitize the corresponding values by removing special characters such as . @ # $ % ^ & * ! ; : ' " ~ ` ? = + ) ( and retry.
error_empty_reference_idRequest reference ID cannot be null or empty. Hint: reference_id (string)
error_duplicate_reference_idDuplicate Request Reference ID
error_invalid_reference_id_lengthRequest reference ID is not valid. Hint: reference_id should be restricted to 2 to 100 chars
error_upi_vpa_insufficient_string_lengthParameter upi_vpa should be at least 4 characters long after trimming whitespace. Hint: upi_vpa (string)
error_upi_vpa_missing_or_nullParameter upi_vpa cannot be missing/null. Hint: upi_vpa (string)
error_decentro_errorInternal Server Error. Kindly retry the transaction after sometime.
error_validation_blockedTransaction not permitted by the beneficiary bank.
error_validation_blockedThe request could not be completed due to a risk exception by the remitter bank. Kindly retry the transaction after sometime.
error_validation_blockedTransaction not permitted for this account type (OD/CC/PPI)
error_validation_blockedThe customer has not set the MPIN, configured it incorrectly, or has a temporary block as they have exceeded the number of retries. Kindly retry the transaction after sometime.
error_beneficiary_bank_offlineThe request could not be completed due to a error with the beneficiary bank. Kindly retry the transaction after sometime.
error_validation_blockedThe request could not be completed as it was rejected by the remitting bank.
error_validation_blockedThe request could not be completed as it was rejected by the beneficiary bank.
error_frequency_limit_breachedThe tranasction could not be completed due to a breach of transaction frequency limits set by the custoemr or their bank. Kindly retry the transaction after sometime.
error_network_timeout_rejectionThe transaction request could not be completed due to high response time from NPCI. Kindly retry the transaction after sometime.
error_techinical_failureThe transaction failed due to a technical failure at NPCI. Kindly retry the transaction after sometime.
error_beneficiary_bank_not_supportedThe request could not be completed due to the beneficiary bank has not enabled this transaction type
error_provider_errorUnexpected response received from provider. Kindly retry the transaction after sometime.
Language
Response
Click Try It! to start a request and see the response here!