search

POSTBank Account Validation API

Use Case

This API is used to validate the Bank Account details of the beneficiary with small amount tranfser from merchant account to the benificary account. You can send the combination of either the Bank Account Number and IFSC Code or Beneficiary VPA

 

HTTP Headers

ATTRIBUTE DESCRIPTION

x-mid

string(50)
mandatory

Paytm provides MID as a unique identifier to each merchant. For your staging MID, click here. You get the production MID post the account activation.

x-checksum

string(108)
mandatory

Signature encryption for validation. It's value to be sent should be the checksum string created by using Paytm checksum library.
Note: Create the signature using all the request parameters.

Request Attributes

API Content Type: JSON

ATTRIBUTE DESCRIPTION

orderId

string(50)
mandatory

Order ID is merchant’s unique reference ID for a transaction passed in the transaction payload. This is Order ID for which the transaction status needs to be fetched.

subwalletGuid

string
mandatory

Merchants sub wallet guid

beneficiaryAccount

string(19)
mandatory

Beneficiary bank account number which needs to be validated

beneficiaryIFSC

string(11)
mandatory

IFSC code of the beneficiary account holding bank branch.

beneficiaryVPA

string
optional

Beneficiary VPA which needs to be validated

callbackUrl

string(255)
optional

Paytm sends the response of transaction on the URL which comes in the callbackUrl parameter.

custParam1

string
optional

Value of custParam1 which we will check for the velocity limit configured on custParam1 or any of its combinations.

custParam2

string
optional

Value of custParam2 which we will check for the velocity limit configured on custParam2 or any of its combinations.

skipVelocityRules

boolean
optional

To disable velocity check. If true we will not apply the velocity counter.

skipCache

boolean
optional

To skip the cache logic for penny drop

Note: In request either you have to send beneficiaryAccount & beneficiaryIFSC OR beneficiaryVPA

Response Attributes

API Content Type: JSON

ATTRIBUTE DESCRIPTION

statusCode

string

Failure reason code where status is FAILURE. A detailed list of statusCode is mentioned at the bottom of this page.

status

string

Disbursal request status. It can be FAILURE or ACCEPTED or SUCCESS.

statusMessage

string

Description of each statusCode.

Response Codes & Messages

resultCoderesultStatusresultMsg
DE_001 SUCCESS Successful disbursal to Bank Account is done
DE_002 ACCEPTED Request accepted
DE_101 PENDING Your request is in process. Kindly check after sometime
DE_102 PENDING Disbursal to Bank Account failed. Your refund to sub-wallet is in process
DE_601 PENDING Disbursal to bank account is in process. Please check again in some time
DE_010 FAILURE param is mandatory and it's can't be null or blank
DE_011 FAILUREparam doesn't contain a valid value
DE_012 FAILURE Amount must be a positive number with maximal 2 decimal places
DE_013 FAILURE param doesn't contain valid length, It should be <length> or less
DE_014 FAILURE PPBL account no should be 12 digits and starts with 91
DE_015 FAILURE Purpose not valid
DE_016 FAILURE Month not valid
DE_017 FAILURE Year not valid
DE_018 FAILUREYou can disburse the amount up to 6 months before from the current month
DE_019 FAILURE MID is not valid
DE_020 FAILURE Uploaded file is blank
DE_021 FAILURE Disburse amount should be Rs. 1 or more
DE_022 FAILUREDisburse amount should not be more than Rs. 200000
DE_023 FAILURE Mid is not active
DE_024 FAILUREAccount no should be alphanumeric with length between 9 to 18 digits
DE_025 FAILURE IFSC code is invalid.
DE_026 FAILURE Uploaded file must be of csv format
DE_027 FAILURE File must contain 4 headers
DE_028 FAILURE Cannot exceed columns more than <length>
DE_029 FAILURETotal amount to be disbursed is more than the subwallet balance
DE_030 FAILURE File already exists with this name
DE_034 FAILURE Invalid Pay Mode
DE_035 FAILUREYour request has been rejected by your configured Approver.
DE_036FAILUREUploaded file contains records more than <param>records
DE_039 FAILURE No record found
DE_040 FAILURE Duplicate order id
DE_041 FAILURE Unable to process your request. Please try after some time
DE_042 FAILURE Date format is not correct as it should be yyyy-MM-dd
DE_056 FAILURE UPI not allowed for amount more than 1 lakhs
DE_057 FAILURE Invalid request
DE_058 FAILURE Merchant Commission not configured
DE_400 FAILURE Invalid Request Parameter
DE_401 FAILURE Authentication Parameters Required
DE_402 FAILURE Access Denied
DE_403 FAILURE API Not Found
DE_404 FAILURE Unable to authenticate the request
DE_405 FAILURE Remote IP not whitelisted
DE_406 FAILURE Invalid Client-Token
DE_407 FAILURE Client-Token Required
DE_408 FAILURE Checksum Required
DE_409 FAILURE Checksum Verification Failed
DE_500 FAILURE System Error
DE_602 FAILUREDisbursal to bank account failed. Please try after some time
DE_603 FAILURE Disbursal to bank account failed
DE_606 FAILUREInvalid account number
DE_607 FAILURE Error at bank end
DE_609 FAILURE Unable to fetch details
DE_610 FAILURE No fds available
DE_612 FAILURE Account blocked/frozen
DE_613 FAILURE Invalid IFSC/MICR
DE_614 FAILURE Account is closed
DE_615 FAILUREInvalid account number or IFSC code
DE_616 FAILUREDaily allowed amount limit for the beneficiary is exceeded
DE_617 FAILURE Beneficiary account is NRE account
DE_618 FAILURE Invalid NBIN (IFSC code)
DE_619 FAILURE NPCI rejects as net debit cap is exceeded for remitter
DE_620 FAILURE Card is restricted at beneficiary account
DE_621 FAILURE Transaction declined, Bank not enabled for P2A functionality
DE_622 FAILURE Maximum limit amount exceeded
DE_623 FAILUREExceeded maximum allowed number of transfers per day
DE_625 FAILURE Invalid IFSC code
DE_626 FAILURETransaction is declined based on From account type and To account type
DE_627 FAILURETransaction is declined based on transaction limit imposed on the From account type and To account type
DE_628 FAILUREBeneficiary PPI is Gift prepaid and this is not the first transaction
DE_629 FAILUREAcquiring bank has not implemented customer initiated person-to-merchant transaction
DE_631 FAILUREAmount is greater than 2 Lakhs (Applicable for Bank where NDC is greater than 2 Lakhs)
DE_632 FAILUREInvalid payment reference
DE_633 FAILUREInvalid amount
DE_634 FAILURE Invalid transaction
DE_636 FAILURE Unable to process
DE_637 FAILURE Blocked/Lost/Hotlisted card
DE_638 FAILURE Expired card
DE_639 FAILURE Debit Request Failure
DE_640 FAILURE Limit Exceed
DE_641 FAILURE No record found
DE_643 FAILURE Remmiter and beneficiary accounts are same
DE_646 FAILURE Fund transfer not allowed for this transaction type
DE_647 FAILURE Refund not allowed for this transaction type
DE_648 FAILURE Product Service Unavailable
DE_649 FAILURECA Form 60 Val Current Account Form 60 current balance limit breached
DE_650 FAILURECA Form 60 Val Current Account Form 60 Daily deposit limit breached
DE_651 FAILURE Fraud verification Maquette suspicious response
DE_652 FAILURE Nodal IMPS Nodal IMPS Amount Limit Breached
DE_653 FAILURE Nodal IMPS Beneficiary Does Not exist
DE_654 FAILURE Refund Processing Service No successful parent transaction found for request.
DE_655 FAILURERefund Processing service Refund amount is greater than max amount available for refund
DE_656 FAILURE Credit account freeze
DE_701 FAILURE Merchant does not exists
DE_702 FAILURE User doesn't exist
DE_703 FAILURE Wallet could not found, please verify walletGuid
DE_704 FAILURE Sub wallet not found
DE_705 FAILUREAgent wallet balance cann't be negative. Please fund your wallet and try again
DE_706 FAILURERefund is not possible as refund possibly already done or current refund request may cause refund to exceed actual transaction amount
DE_707 FAILURE Refund amount should be equal to the transaction amount
Staging
Production
https://staging-dashboard.paytm.com/bpay/api/v1/beneficiary/validatecopy icon
REQUEST
RESPONSE
CURL
JAVA
NODE
PHP
PYTHON
DOTNET
curl -X POST 'https://staging-dashboard.paytm.com/bpay/api/v1/beneficiary/validate' \
--header 'Content-Type: application/json' \
--header 'x-mid: {mid}' \
--header 'x-checksum: {checksum}' \
--data '{"subwalletGuid":"28054249-XXXX-XXXX-af8f-fa163e429e83","orderId":"ORDERID_98765", "beneficiaryAccount":"918008484891", "beneficiaryIFSC":"PYTM0123456"}'
copy icon