• Callback Response
  • Getting Started
    • Mobile Integration (Android/IOS)
      Enterprise Solutions
      Retail Solutions
      Accept Payments
      Process Payments
      Disbursals
      API References
      Refunds
      Guides
      Other links
      Mini Program Platform
  • Features for Investments PG
  • post Bank 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-midstring(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-checksumstring(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
    orderIdstring(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.
    subwalletGuidstring
    mandatory
    Merchants sub wallet guid
    beneficiaryAccountstring(19)
    mandatory
    Beneficiary bank account number which needs to be validated
    beneficiaryIFSCstring(11)
    mandatory
    IFSC code of the beneficiary account holding bank branch.
    beneficiaryVPAstring
    optional
    Beneficiary VPA which needs to be validated
    callbackUrlstring(255)
    optional
    Paytm sends the response of transaction on the URL which comes in the callbackUrl parameter.
    Note: In request either you have to send beneficiaryAccount & beneficiaryIFSC OR beneficiaryVPA

    Response Attributes


    API Content Type: JSON

    ATTRIBUTE DESCRIPTION
    statusCodestring Failure reason code where status is FAILURE. A detailed list of statusCode is mentioned at the bottom of this page.
    statusstring Disbursal request status. It can be FAILURE or ACCEPTED or SUCCESS.
    statusMessagestring Description of each statusCode.

    Response Codes and Messages


    statusCodestatusstatusMessage
    DE_001SUCCESSSuccessful disbursal to Bank Account is done
    DE_002ACCEPTEDRequest accepted
    DE_101PENDINGYour request is in process. Kindly check after sometime
    DE_102PENDINGDisbursal to Bank Account failed. Your refund to sub-wallet is in process
    DE_601PENDINGDisbursal to bank account is in process. Please check again in some time
    DE_010FAILUREparam is mandatory and it's can't be null or blank
    DE_011FAILUREparam doesn't contain a valid value
    DE_012FAILUREAmount must be a positive number with maximal 2 decimal places
    DE_013FAILUREparam doesn't contain valid length, It should be <length> or less
    DE_014FAILUREPPBL account no should be 12 digits and starts with 91
    DE_015FAILUREPurpose not valid
    DE_016FAILUREMonth not valid
    DE_017FAILUREYear not valid
    DE_018FAILUREYou can disburse the amount up to 6 months before from the current month
    DE_019FAILUREMID is not valid
    DE_020FAILUREUploaded file is blank
    DE_021FAILUREDisburse amount should be Rs. 1 or more
    DE_022FAILUREDisburse amount should not be more than Rs. 200000
    DE_023FAILUREMid is not active
    DE_024FAILUREAccount no should be alphanumeric with length between 9 to 18 digits
    DE_025FAILUREIFSC code is invalid.
    DE_026FAILUREUploaded file must be of csv format
    DE_027FAILUREFile must contain 4 headers
    DE_028FAILURECannot exceed columns more than <length>
    DE_029FAILURETotal amount to be disbursed is more than the subwallet balance
    DE_030FAILUREFile already exists with this name
    DE_034FAILUREInvalid Pay Mode
    DE_035FAILUREYour request has been rejected by your configured Approver.
    DE_036FAILUREUploaded file contains records more than <param>records
    DE_039FAILURENo record found
    DE_040FAILUREDuplicate order id
    DE_041FAILUREUnable to process your request. Please try after some time
    DE_042FAILUREDate format is not correct as it should be yyyy-MM-dd
    DE_056FAILUREUPI not allowed for amount more than 1 lakhs
    DE_057FAILUREInvalid request
    DE_058FAILUREMerchant Commission not configured
    DE_400FAILUREInvalid Request Parameter
    DE_401FAILUREAuthentication Parameters Required
    DE_402FAILUREAccess Denied
    DE_403FAILUREAPI Not Found
    DE_404FAILUREUnable to authenticate the request
    DE_405FAILURERemote IP not whitelisted
    DE_406FAILUREInvalid Client-Token
    DE_407FAILUREClient-Token Required
    DE_408FAILUREChecksum Required
    DE_409FAILUREChecksum Verification Failed
    DE_500FAILURESystem Error
    DE_602FAILUREDisbursal to bank account failed. Please try after some time
    DE_603FAILUREDisbursal to bank account failed
    DE_606FAILUREInvalid account number
    DE_607FAILUREError at bank end
    DE_609FAILUREUnable to fetch details
    DE_610FAILURENo fds available
    DE_612FAILUREAccount blocked/frozen
    DE_613FAILUREInvalid IFSC/MICR
    DE_614FAILUREAccount is closed
    DE_615FAILUREInvalid account number or IFSC code
    DE_616FAILUREDaily allowed amount limit for the beneficiary is exceeded
    DE_617FAILUREBeneficiary account is NRE account
    DE_618FAILUREInvalid NBIN (IFSC code)
    DE_619FAILURENPCI rejects as net debit cap is exceeded for remitter
    DE_620FAILURECard is restricted at beneficiary account
    DE_621FAILURETransaction declined, Bank not enabled for P2A functionality
    DE_622FAILUREMaximum limit amount exceeded
    DE_623FAILUREExceeded maximum allowed number of transfers per day
    DE_625FAILUREInvalid IFSC code
    DE_626FAILURETransaction is declined based on From account type and To account type
    DE_627FAILURETransaction is declined based on transaction limit imposed on the From account type and To account type
    DE_628FAILUREBeneficiary PPI is Gift prepaid and this is not the first transaction
    DE_629FAILUREAcquiring bank has not implemented customer initiated person-to-merchant transaction
    DE_631FAILUREAmount is greater than 2 Lakhs (Applicable for Bank where NDC is greater than 2 Lakhs)
    DE_632FAILUREInvalid payment reference
    DE_633FAILUREInvalid amount
    DE_634FAILUREInvalid transaction
    DE_636FAILUREUnable to process
    DE_637FAILUREBlocked/Lost/Hotlisted card
    DE_638FAILUREExpired card
    DE_639FAILUREDebit Request Failure
    DE_640FAILURELimit Exceed
    DE_641FAILURENo record found
    DE_643FAILURERemmiter and beneficiary accounts are same
    DE_646FAILUREFund transfer not allowed for this transaction type
    DE_647FAILURERefund not allowed for this transaction type
    DE_648FAILUREProduct Service Unavailable
    DE_649FAILURECA Form 60 Val Current Account Form 60 current balance limit breached
    DE_650FAILURECA Form 60 Val Current Account Form 60 Daily deposit limit breached
    DE_651FAILUREFraud verification Maquette suspicious response
    DE_652FAILURENodal IMPS Nodal IMPS Amount Limit Breached
    DE_653FAILURENodal IMPS Beneficiary Does Not exist
    DE_654FAILURERefund Processing Service No successful parent transaction found for request.
    DE_655FAILURERefund Processing service Refund amount is greater than max amount available for refund
    DE_656FAILURECredit account freeze
    DE_701FAILUREMerchant does not exists
    DE_702FAILUREUser doesn't exist
    DE_703FAILUREWallet could not found, please verify walletGuid
    DE_704FAILURESub wallet not found
    DE_705FAILUREAgent wallet balance cann't be negative. Please fund your wallet and try again
    DE_706FAILURERefund is not possible as refund possibly already done or current refund request may cause refund to exceed actual transaction amount
    DE_707FAILURERefund amount should be equal to the transaction amount
    StagingProduction
    REQUESTRESPONSE
    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"}'