• Getting Started
    • Mobile Integration (Android/IOS)
      Enterprise Solutions
      Accept Payments
      Process Payments
      Disbursals
      API References
      Webhooks
      Testing
      Refunds
      Guides
      Other Processes
      Mini Program Platform
        Website Integration

      post Bank Transfer API

      Use Case


      To disburse fund from sub-wallets/disbursal accounts to bank account using VPA / Mobile number / Bank account number and IFSC code.

      HTTP Headers

      ATTRIBUTE DESCRIPTION MANDATORY
      x-midstring(50) 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. mandatory
      x-checksumstring(108) Signature encryption for validation. It's value to be sent should be the checksum string created by using Paytm checksum library. mandatory

      Request Attributes


      API Content Type: JSON

      ATTRIBUTE DESCRIPTION MANDATORY
      orderIdstring(50) Unique reference ID provided by merchant using which each disbursal request is processed. This should be alphanumeric. Duplicate requests with the same orderId are rejected. mandatory
      subwalletGuidstring Sub wallet/disbursal account GUID. This is available on Paytm dashboard mandatory
      amountstring Amount in INR payable by the merchant. Should contain digits up to two decimal points. The only special character allowed is (“.”). Amount limit from 1 to 200000. mandatory
      purposestring(50) Pass any one from below options: SALARY_DISBURSEMENT
      REIMBURSEMENT
      BONUS
      INCENTIVE
      OTHERS.
      mandatory
      datestring(10) Pass the date for which merchant wants to disburse the amount. Required for SALARY_DISBURSEMENT and REIMBURSEMENT. Date format <YYYY-MM-DD>. mandatory
      callbackUrlstring(255) URL where we will post disbursal status. The merchant needs to whitelist this URL with Paytm. optional
      commentsstring(50) Disbursal comments. optional
      transactionTypestring Pass the transaction type as per your use case. We will be treated this as NON_CASHBACK if it's blank.
      NON_CASHBACK
      CASHBACK
      optional
      transferModestring(25) PMerchant can use this field to specify the disbursal mode. pass anyone from below:
      IMPS
      NEFT
      UPI
      optional
      beneficiaryAccountstring(19) Bank account number of the beneficiary to which the disbursal should be made. mandatory
      beneficiaryIFSCstring(11) IFSC code of the beneficiary account holding bank branch. mandatory
      beneficiaryVPAstring VPA of the beneficiary to which the disbursal should be made mandatory
      beneficiaryPhoneNostring Phone No. of the beneficiary to which the disbursal should be made mandatory

      Note: For UPI Transfer, You have to send transferMode as UPI and pass anyone from beneficiaryVPA or beneficiaryPhoneNo in disbursal request.

      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_010FAILUREparameter is mandatory and it's can't be null or blank.
      DE_011FAILUREparameter doesn't contain 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_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_034FAILUREInvalid Pay Mode.
      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_050FAILURECallback URL passed is Invalid.
      DE_051FAILUREDisbursal to other bank accounts not supported
      DE_052FAILUREBank Transfer Mode not valid
      DE_053FAILUREIMPS not allowed for amount more than 2 lakhs
      DE_054FAILURESubwalletGuid is not correct, Please check and try again
      DE_055FAILUREUnable to disburse from given subWalletGuid. Please use another or create a new one
      DE_056FAILUREUPI not allowed for amount more than 1 lakhs
      DE_057FAILUREInvalid request
      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_602FAILUREDisbursal to bank account failed. Please try after some time.
      DE_400FAILUREInvalid Request Parameter.
      DE_401FAILUREAuthentication Parameters Required.
      DE_402FAILUREAccess Denied.
      DE_403FAILUREAPI Not Found.
      DE_404FAILUREUnable to authenticate 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_606FAILUREInvalid account number.
      DE_607FAILUREError at bank end.
      DE_603FAILUREDisbursal to bank account failed.
      DE_609FAILUREUnable to fetch details.
      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_634FAILUREInvalid transaction.
      DE_636FAILUREUnable to process.
      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_656FAILURECredit account freeze.
      DE_657FAILUREHost (CBS) offline / Beneficiary node offline
      DE_658FAILUREAccount does not exist in CBS
      DE_659FAILUREBank is not enabled for IMPS P2U
      DE_660FAILUREThis IFSC is no longer valid. Please update account details
      DE_661FAILUREInvalid payee mobile
      DE_662FAILUREInvalid virtual address
      DE_663FAILUREMoney transfer is not allowed to receiver account
      DE_664FAILUREMoney transfer request declined by the receiver bank. Please try again
      DE_665FAILUREPayee bank UPI not supported
      DE_666FAILUREMoney transfer request declined by the remitter bank
      DE_667FAILUREBank account is not active
      DE_668FAILUREUPI user not found
      DE_669FAILUREUPI not registered or UPI registered but bank a/c not linked
      DE_670FAILUREYour request was unsuccessful. Please try again
      DE_671FAILUREYou have exceeded the daily transaction amount limit set by your bank
      DE_672FAILUREYou can not send money to this UPI ID
      DE_673FAILUREInvalid UPI id
      DE_674FAILUREBeneficiary bank account details are not correct
      DE_675FAILURESomething went wrong at the receiver bank servers. Please try again
      DE_676FAILUREBeneficiary account does not exist
      DE_677FAILURERequest declined by the receiver bank
      DE_678FAILUREInvalid payer UPI address
      DE_701FAILUREMerchant does not exists.
      DE_703FAILUREWallet could not found, please verify walletGuid.
      DE_704FAILURESub wallet not found.
      DE_705FAILUREAgent wallet balance can't be negative. Please fund your wallet and try again.
      StagingProduction
      REQUESTRESPONSE
      curl -X POST 'https://staging-dashboard.paytm.com/bpay/api/v1/disburse/order/bank' \
      --header 'Content-Type: application/json' \
      --header 'x-mid: {YOUR_MID_HERE}' \
      --header 'x-checksum: {checksum}' \
      --data '{"subwalletGuid":"28054249-XXXX-XXXX-af8f-fa163e429e83","orderId":"ORDERID_98765","beneficiaryAccount":"918008484891","beneficiaryIFSC":"PYTM0123456","purpose":"SALARY_DISBURSEMENT","date":"2020-06-01}","amount":"1.00"}'