• 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 Wallet Transfer API

      Use Case


      To disburse fund from sub-wallets/disbursal account to user wallets using the beneficiary mobile number or email id.

      Request URL

      Following is a sample request URL which one can use: https://dashboard.paytm.com/bpay/api/v1/disburse/order/wallet/{solution}

      Possible values of {solution} are: food, gift, gratification, loyalty, allowance, communication,fuel.

      Inorder to use the request url please replace {solution} with any of the valid values.

      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
      beneficiaryEmail OR beneficiaryPhoneNostring(50) Customer Email id / Customer Phone Number against which the disbursal should be made. mandatory
      validateBeneficiaryboolean Used to validate the beneficiary name. The field should be populated with 'true' value to process validation. Disbursal request is rejected if the name doesn't match with the name in Paytm system. The beneficiaryPhoneNo and beneficiaryName is mandatory for this to work. optional
      beneficiaryNamestring(50) Name of the customer to whom disbursal is being made. It is required if validateBeneficiary is passed as 'true'. optional
      callbackUrlstring(255) URL where we will post disbursal status. The merchant needs to whitelist this URL with Paytm. optional
      commentsstring(50) Disbursal comments. optional
      disburseToNewUserboolean If True, request is queued and email/sms is sent to user to register on Paytm to receive money. We auto send money post user registers or fail the request at end of days specified in maxQueueDays. By Default the Value will be True and maxQueueDays value is set to 3 days. This feature is only available for wallet gratification. optional
      maxQueueDaysint Merchant can queue the request for below two cases.
      1. For new users
      2. For non KYC users if amount being transferred is outside non KYC permissible limits
      Pass 0 to not queue the request and fail immediately for such users. By Default maxQueueDays value is set to 3 days
      optional

      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 Wallet 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_012FAILUREAn amount must be a positive number with maximal 2 decimal places.
      DE_013FAILUREparam doesn't contain valid length, It should be <length> or less.
      DE_019FAILUREMID is not valid.
      DE_021FAILUREDisburse amount should be Rs. 1 or more.
      DE_023FAILUREMid is not active.
      DE_034FAILUREInvalid Pay Mode.
      DE_039FAILURENo record found.
      DE_040FAILUREDuplicate order id.
      DE_041FAILUREUnable to process your request. Please try after some time.
      DE_044FAILUREInvalid beneficiary Mobile No. or Email Id.
      DE_045FAILUREPlease provide either PhoneNo / Email Id.
      DE_046FAILUREDisbursal Date provided is not of valid format.
      DE_048FAILUREPhone No. not Registered.
      DE_049FAILUREDisburse amount should not be more than Rs. 100000.
      DE_101PENDINGYour request is in process. Kindly check after sometime.
      DE_103FAILUREInvalid Response Code.
      DE_104FAILUREPhoneNo. required to validate beneficiary name.
      DE_105FAILUREBeneficiary name not matched.
      DE_106FAILUREMobile number is not registered.
      DE_107FAILUREKYC is Not Done.
      DE_108FAILUREUnable to validate Beneficiary Name.
      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_500FAILURESystem Error.
      DE_940FAILUREInvalid Txn Id.
      DE_901FAILUREDisbursal to wallet failed. Please try after sometime.
      DE_902FAILUREDisbursal to wallet failed.
      DE_961FAILUREInvalid user id.
      DE_919FAILUREInvalid merchant.
      DE_963FAILUREUser exist but no corresponding wallet found.
      DE_964FAILUREMerchant exist but no corresponding wallet found.
      DE_906FAILUREPaytm wallet does not exist.
      DE_965FAILUREFound multiple accounts with same phone no. and all are unverified.
      DE_966FAILUREFound multiple accounts with same mail-id and all are unverified.
      DE_967FAILUREMerchant is incative.
      DE_921FAILUREMerchant does not exist.
      DE_922FAILUREInsufficient funds in corporate sub wallet.
      DE_931FAILUREMaximum allowed wallet balance is exceed.
      DE_948FAILUREReceiver has not completed his KYC.
      DE_932FAILUREExceed maximum allowed money addition in wallet for this month.
      DE_933FAILURERBI approved min KYC wallet spending limits exceeded. No new fund additions are allowed.
      DE_926FAILUREMaximum number of allowed transactions exceed.
      DE_947FAILURERBI approved KYC wallet limits exceeded. No new fund additions are allowed.
      DE_924FAILUREMaximum allowed transaction amount exceed.
      DE_925FAILUREMax per transaction amount exceed.
      DE_969FAILURESales wallet not found.
      DE_907FAILUREMerchant can't transfer money to his own wallet.
      DE_970FAILUREInvalid salesWalletGuid.
      DE_971FAILUREInvalid salesWalletName/salesWalletGuid.
      DE_909FAILUREPayee mobile not verified.
      DE_910FAILUREPayee email not verified.
      DE_911FAILUREPayee mobile and email not verified.
      DE_972FAILUREPayer wallet could not found.
      DE_973FAILUREAdding funds to wallet not supported.
      DE_913FAILURESub Wallet not assigned to merchant.
      DE_974FAILURECashback Audit Details not available.
      DE_923FAILUREPaytm Wallet is not active.
      DE_975FAILUREPayer Wallet not active.
      DE_921FAILUREMerchant does not exist.
      DE_905FAILURECorporate wallet not found.
      DE_908FAILUREInvalid userId, email or phone no.
      DE_912FAILUREAdding funds to subwallet not supported.
      DE_914FAILUREFund cannot be refilled in this wallet.
      DE_915FAILUREFunds cannot be added as user wallet type is basic.
      DE_916FAILURESubWallet is not active.
      DE_917FAILUREInvalid Subwallet Expiry Date, Past expiry date is not allowed.
      DE_927FAILUREMaximum allowed transactions amount in a year exceed.
      DE_928FAILUREMaximum number of allowed transactions in a year exceed.
      DE_929FAILURECumulative txn type limit breached.
      DE_934FAILUREThe destination Paytm user will need to do KYC to add/receive money.
      DE_935FAILURESub_Wallet limit exceeded.
      DE_936FAILUREMax Allowed sub wallet limit exceeded.
      DE_937FAILUREMaximum per transaction amount exceed.
      DE_941FAILURERisk Reject.
      DE_943FAILUREMonthly limit for number of Payment to Merchant transactions will exceed.
      DE_944FAILUREDaily limit for total amount of Payment to Merchant transactions will exceed.
      DE_945FAILUREMonthly limit for total amount of Payment to Merchant transactions will exceed .
      DE_946FAILUREDaily limit for number of Payment to Merchant transactions will exceed.
      DE_949FAILUREMonthly credit limit breach.
      StagingProduction
      REQUESTRESPONSE
      curl -X POST 'https://staging-dashboard.paytm.com/bpay/api/v1/disburse/order/wallet/{solution}' \
      --header 'Content-Type: application/json' \
      --header 'x-mid: {mid}' \
      --header 'x-checksum: {checksum}' \
      --data '{"subwalletGuid":"28054249-XXXX-XXXX-af8f-fa163e429e83","orderId":"ORDERID_98765","beneficiaryPhoneNo":"55555666667","amount":"1.00"}'