API Test Keys
Validate VPA using Reverse Penny Drop
POST/v1/fund_accounts/validationsClick to copy
Use this endpoint to validate the bank account details via Reverse Penny Drop.
Is this page helpful?
Curl
1curl -u [YOUR_KEY]:[YOUR_SECRET] \2-X POST https://api.razorpay.com/v1/fund_accounts/validations \3-H "Content-Type: application/json" \4-d '{5"source_account_number": "7878780080316316",6"validation_type": "upi_intent",7"reference_id": "112233",8"notes": {9"random_key_1": "Make it so",10"random_key_2": "Tea. Earl Grey. Hot."11}12}'
Response - Initial
Response - After Payment
1{2"id": "fav_00000000000001",3"entity": "fund_account.validation",4"status": "created",5"utr": "123456789012",6"upi_intent": {7"intent_url": "upi://pay?pa=razorpayx@citibank&pn=RZPX%20PRIVATE%20LTD&mc=7413&cu=INR&am=1.00&tn=BAV&ver=01&mode=04&qrMedium=02&tr=RjY7anDJFuKQOB",8"phonepe_url": "phonepe://upi/pay?pa=razorpayx@citibank&pn=RZPX%20PRIVATE%20LTD&mc=7413&cu=INR&am=1.00&tn=BAV&ver=01&mode=04&qrMedium=02&tr=RjY7anDJFuKQOB",9"gpay_url": "tez://upi/pay?pa=razorpayx@citibank&pn=RZPX%20PRIVATE%20LTD&mc=7413&cu=INR&am=1.00&tn=BAV&ver=01&mode=04&qrMedium=02&tr=RjY7anDJFuKQOB",10"paytm_url": "paytmmp://upi/pay?pa=razorpayx@citibank&pn=RZPX%20PRIVATE%20LTD&mc=7413&cu=INR&am=1.00&tn=BAV&ver=01&mode=04&qrMedium=02&tr=RjY7anDJFuKQOB",11"bhim_url": "bhim://upi/pay?pa=razorpayx@citibank&pn=RZPX%20PRIVATE%20LTD&mc=7413&cu=INR&am=1.00&tn=BAV&ver=01&mode=04&qrMedium=02&tr=RjY7anDJFuKQOB",12"encoded_qr_code": "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEAAQMAAABmvDolAAAABlBMVEX///8AAABVwtN+AAACWUlEQVR42uyYy3E7LRDEe4sDR0IglM1sH+"13},14"validation_results": {15"account_status": null,16"registered_name": null,17"details": null,18"name_match_score": null,19"validated_account_type": null,20"bank_account": {21"bank_routing_code": null,22"account_number": null,23"bank_name": null,24"account_type": null25}26},27"status_details": {28"description": "Validation request is created",29"source": "internal",30"reason": "validation_request_created"31},32"reference_id": "112233",33"notes": {34"random_key_1": "Make it so.",35"random_key_2": "Tea. Earl Grey. Hot."36}37}
Request Parameters
source_account_number *
string Bank account number being validated. For example, 765432123456789.
validation_type *
string The method used for validating the bank account. Here, it is upi_intent.
reference_id stringUnique reference id of the fund account being validated.
notes objectKey-value pair that can be used to store additional information about the entity. Maximum 15 key-value pairs, 256 characters (maximum) each.
Response Parameters
idstring The unique identifier linked to the fund account. For example, fa_00000000000001.
entitystring Here it will be fund_account.validation.
statusstring The status of the fund account validation. For example, in the initial response, it could be created and in the after payment response, completed.
utrstringThe Unique Transaction Reference number assigned to the ₹1 UPI payment made by the end user. Use this to track or reconcile the transaction.
upi_intentobjectContains deep links to launch specific UPI apps directly on the user's device, allowing them to complete the ₹1 payment without manually entering details.
Show child parameters (6)
validation_resultsobjectContains the verified account details extracted from the payer's bank after the ₹1 payment is received.
Show child parameters (4)
bank_accountobjectContains the verified bank account details of the payer.
Show child parameters (4)
status_detailsobjectContains details about the status of the validation.
Show child parameters (3)
reference_idstringUnique reference id generated for the validation.
notesobjectKey-value pair that can be used to store additional information about the entity. Maximum 15 key-value pairs, 256 characters (maximum) each.
Validate VPA using Reverse Penny Drop
POST/v1/fund_accounts/validationsClick to copy
Use this endpoint to validate the bank account details via Reverse Penny Drop.
Is this page helpful?
Request Parameters
source_account_number *
string Bank account number being validated. For example, 765432123456789.
validation_type *
string The method used for validating the bank account. Here, it is upi_intent.
reference_id stringUnique reference id of the fund account being validated.
notes objectKey-value pair that can be used to store additional information about the entity. Maximum 15 key-value pairs, 256 characters (maximum) each.
Response Parameters
idstring The unique identifier linked to the fund account. For example, fa_00000000000001.
entitystring Here it will be fund_account.validation.
statusstring The status of the fund account validation. For example, in the initial response, it could be created and in the after payment response, completed.
utrstringThe Unique Transaction Reference number assigned to the ₹1 UPI payment made by the end user. Use this to track or reconcile the transaction.
upi_intentobjectContains deep links to launch specific UPI apps directly on the user's device, allowing them to complete the ₹1 payment without manually entering details.
Show child parameters (6)
validation_resultsobjectContains the verified account details extracted from the payer's bank after the ₹1 payment is received.
Show child parameters (4)
bank_accountobjectContains the verified bank account details of the payer.
Show child parameters (4)
status_detailsobjectContains details about the status of the validation.
Show child parameters (3)
reference_idstringUnique reference id generated for the validation.
notesobjectKey-value pair that can be used to store additional information about the entity. Maximum 15 key-value pairs, 256 characters (maximum) each.
Curl
1curl -u [YOUR_KEY]:[YOUR_SECRET] \2-X POST https://api.razorpay.com/v1/fund_accounts/validations \3-H "Content-Type: application/json" \4-d '{5"source_account_number": "7878780080316316",6"validation_type": "upi_intent",7"reference_id": "112233",8"notes": {9"random_key_1": "Make it so",10"random_key_2": "Tea. Earl Grey. Hot."11}12}'
Response - Initial
Response - After Payment
1{2"id": "fav_00000000000001",3"entity": "fund_account.validation",4"status": "created",5"utr": "123456789012",6"upi_intent": {7"intent_url": "upi://pay?pa=razorpayx@citibank&pn=RZPX%20PRIVATE%20LTD&mc=7413&cu=INR&am=1.00&tn=BAV&ver=01&mode=04&qrMedium=02&tr=RjY7anDJFuKQOB",8"phonepe_url": "phonepe://upi/pay?pa=razorpayx@citibank&pn=RZPX%20PRIVATE%20LTD&mc=7413&cu=INR&am=1.00&tn=BAV&ver=01&mode=04&qrMedium=02&tr=RjY7anDJFuKQOB",9"gpay_url": "tez://upi/pay?pa=razorpayx@citibank&pn=RZPX%20PRIVATE%20LTD&mc=7413&cu=INR&am=1.00&tn=BAV&ver=01&mode=04&qrMedium=02&tr=RjY7anDJFuKQOB",10"paytm_url": "paytmmp://upi/pay?pa=razorpayx@citibank&pn=RZPX%20PRIVATE%20LTD&mc=7413&cu=INR&am=1.00&tn=BAV&ver=01&mode=04&qrMedium=02&tr=RjY7anDJFuKQOB",11"bhim_url": "bhim://upi/pay?pa=razorpayx@citibank&pn=RZPX%20PRIVATE%20LTD&mc=7413&cu=INR&am=1.00&tn=BAV&ver=01&mode=04&qrMedium=02&tr=RjY7anDJFuKQOB",12"encoded_qr_code": "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEAAQMAAABmvDolAAAABlBMVEX///8AAABVwtN+AAACWUlEQVR42uyYy3E7LRDEe4sDR0IglM1sH+"13},14"validation_results": {15"account_status": null,16"registered_name": null,17"details": null,18"name_match_score": null,19"validated_account_type": null,20"bank_account": {21"bank_routing_code": null,22"account_number": null,23"bank_name": null,24"account_type": null25}26},27"status_details": {28"description": "Validation request is created",29"source": "internal",30"reason": "validation_request_created"31},32"reference_id": "112233",33"notes": {34"random_key_1": "Make it so.",35"random_key_2": "Tea. Earl Grey. Hot."36}37}