POSTBank Transfer API
Use Case
Note: As of now Payouts through Bank transfer/UPI paymodes is not available.
This API is used 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 |
---|---|
x-mid string(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. |
x-checksum string(108) |
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) |
It should be an alphanumeric, merchant’s unique reference ID for a disburse transaction passed in the request. This is Order ID for which the disburse order status needs to be fetched. Length should be 50 characters or less. |
subwalletGuid string |
Merchants sub wallet guid. Sub Wallet GUID is available on dashboard as "GUID". |
amount string |
Amount in INR payable by the merchant and it should contain digits up to two decimal points. The only special character allowed is (“.”). Amount limit from 1 to 2 Cr. |
purpose string(50) |
Pass any one from the below options:
|
date string(10) |
Pass the date for which the merchant wants to disburse the amount. Required for SALARY_DISBURSEMENT and REIMBURSEMENT. Date format <YYYY-MM-DD>. Note: Mandatory if the "purpose" is Salary or Reimbursement |
callbackUrl string(255) |
URL where we will post disbursal status. The merchant needs to whitelist this URL with Paytm. |
comments string(50) |
Disbursal comments whose length should be 50 characters or below |
transactionType string |
Transaction Type is only applicable if transferMode is UPI. It can have the following Values:
By Default, NON_CASHBACK will be selected. |
transferMode string(25) |
Merchant can use this field to specify the disbursal mode. Pass any one from below:
|
beneficiaryName string |
Beneficiary name is optional if transferMode is IMPS/UPI and mandatory if transferMode is NEFT and RTGS. |
beneficiaryAccount string(19) |
Bank account number of the beneficiary to which the disbursal should be made. |
beneficiaryIFSC string(11) |
IFSC code of the beneficiary account holding bank branch. |
beneficiaryVPA string |
VPA of the beneficiary to which the disbursal should be made |
beneficiaryPhoneNo string |
Phone No. of the beneficiary to which the disbursal should be made |
beneficiaryContactRefId string |
Unique identifier linked to the contact. Based on the Transfer mode, funds will be transferred to the default bank Account/ VPA for the Contact. |
Note:
- For Transfer through IMPS, NEFT, RTGS Transfer mode you have to send either beneficiaryAccount & beneficiaryIFSC OR beneficiaryMID OR beneficiaryContactRefId in disbursal request.
- For UPI Transfer, You have to choose anyone from beneficiaryVPA/ beneficiaryPhoneNo/ beneficiaryCustId/ beneficiaryContactRefId in disbursal request.
For Bank Reversal, please add Reversal Status Webhook on dashboard under the Developer Settings. Please click here for detailled documentation on Reversals. Pass anyone from beneficiaryVPA/ beneficiaryPhoneNo/ beneficiaryCustId/
beneficiaryAccount & beneficiaryIFSC/beneficiaryContactRefId in disbursal request.
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. This attribute should be used to fetch the final status of the order. It can be FAILURE, ACCEPTED, SUCCESS, CANCELLED, PENDING, and QUEUED. |
statusMessage string |
Description of each statusCode. |
Response Codes & Messages
statusCode | status | statusMessage |
---|---|---|
DE_001 | SUCCESS | Successful disbursal to Bank Account is done. |
DE_002 | ACCEPTED | Request accepted. |
DE_010 | FAILURE | parameter is mandatory and it's can't be null or blank. |
DE_011 | FAILURE | parameter doesn't contain 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 | FAILURE | You 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 | FAILURE | Disburse amount should not be more than Rs. 200000. |
DE_023 | FAILURE | Mid is not active. |
DE_024 | FAILURE | Account 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_034 | FAILURE | Invalid Pay Mode. |
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_050 | FAILURE | Callback URL passed is Invalid. |
DE_051 | FAILURE | Disbursal to other bank accounts not supported |
DE_052 | FAILURE | Bank Transfer Mode not valid |
DE_053 | FAILURE | IMPS not allowed for amount more than 2 lakhs |
DE_054 | FAILURE | SubwalletGuid is not correct, Please check and try again |
DE_055 | FAILURE | Unable to disburse from given subWalletGuid. Please use another or create a new one |
DE_056 | FAILURE | UPI not allowed for amount more than 1 lakhs |
DE_057 | FAILURE | Invalid request |
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_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 request. |
DE_405 | FAILED | Remote IP not whitelist. Please ask your admin to whitelist Remote IP: <IP Address> from Payouts dashboard under developer's settings. |
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 | FAILURE | Disbursal to bank account failed. Please try after some time. |
DE_603 | FAILURE | Disbursal to bank account failed. |
DE_604 | PENDING | Disbursal to Bank Account is in process and pending at Beneficiary Bank. |
DE_606 | FAILURE | Invalid account number. |
DE_607 | FAILURE | Error at bank end. |
DE_609 | FAILURE | Unable to fetch details. |
DE_612 | FAILURE | Account blocked/frozen. |
DE_613 | FAILURE | Invalid IFSC/MICR. |
DE_614 | FAILURE | Account is closed. |
DE_615 | FAILURE | Invalid account number or IFSC code. |
DE_616 | FAILURE | Daily allowed amount limit for the beneficiary is exceeded. |
DE_684 | FAILURE | Credit adjustment |
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 | FAILURE | Exceeded maximum allowed number of transfers per day. |
DE_625 | FAILURE | Invalid IFSC code. |
DE_640 | FAILED | Transaction has been declined as it exceeds the limits set by beneficiary bank. |
DE_626 | FAILURE | Transaction is declined based on From account type and To account type. |
DE_627 | FAILURE | Transaction is declined based on transaction limit imposed on the From account type and To account type. |
DE_628 | FAILURE | Beneficiary PPI is Gift prepaid and this is not the first transaction. |
DE_629 | FAILURE | Acquiring bank has not implemented customer initiated person-to-merchant transaction. |
DE_631 | FAILURE | Amount is greater than 2 Lakhs (Applicable for Bank where NDC is greater than 2 Lakhs). |
DE_632 | FAILURE | Invalid payment reference. |
DE_634 | FAILURE | Invalid transaction. |
DE_636 | FAILURE | Unable to process. |
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 | FAILURE | Transaction cannot be processed as current account limits will be breached. |
DE_650 | FAILURE | CA 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_656 | FAILURE | Credit account freeze. |
DE_657 | FAILURE | Host (CBS) offline / Beneficiary node offline |
DE_658 | FAILURE | Account does not exist in CBS |
DE_659 | FAILURE | Bank is not enabled for IMPS P2U |
DE_660 | FAILURE | This IFSC is no longer valid. Please update account details |
DE_661 | FAILURE | Invalid payee mobile |
DE_662 | FAILURE | Invalid virtual address |
DE_663 | FAILURE | Money transfer is not allowed to receiver account |
DE_664 | FAILURE | Money transfer request declined by the receiver bank. Please try again |
DE_665 | FAILURE | Payee bank UPI not supported |
DE_666 | FAILURE | Money transfer request declined by the remitter bank |
DE_667 | FAILURE | Bank account is not active |
DE_668 | FAILURE | UPI user not found |
DE_669 | FAILURE | UPI not registered or UPI registered but bank a/c not linked |
DE_670 | FAILURE | Your request was unsuccessful. Please try again |
DE_671 | FAILURE | You have exceeded the daily transaction amount limit set by your bank |
DE_672 | FAILURE | You can not send money to this UPI ID |
DE_673 | FAILURE | Invalid UPI id |
DE_674 | FAILURE | Beneficiary bank account details are not correct |
DE_675 | FAILURE | Something went wrong at the receiver bank servers. Please try again |
DE_676 | FAILURE | Beneficiary account does not exist |
DE_677 | FAILURE | Request declined by the receiver bank |
DE_678 | FAILURE | Invalid payer UPI address |
DE_679 | FAILURE | Beneficiary bank rejected as account type is not supported |
DE_680 | FAILURE | Beneficiary bank rejected credit for a reason. Eg: name missing/does not match |
DE_681 | FAILURE | User is not a Paytm UPI registered user |
DE_601 | PENDING | Disbursal to bank account is in process. Please check again in some time |
DE_682 | FAILURE | UPI VPA does not exist |
DE_683 | FAILURE | Money transfer declined by UPI payment service provider |
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 | FAILURE | Agent wallet balance can't be negative. Please fund your wallet and try again. |
DE_027 | FAILURE | File must contain 4 headers |
DE_028 | FAILURE | Cannot exceed columns more than <length> |
DE_029 | FAILURE | Total amount to be disbursed is more than the subwallet balance |
DE_030 | FAILURE | File already exists with this name |
DE_035 | FAILURE | Your request has been rejected by your configured Approver. |
DE_036 | FAILURE | Uploaded file contains records more than <param> records |
DE_043 | FAILURE | Duplicate Account Number Found in the file |
DE_058 | FAILURE | Merchant Commission not configured |
DE_065 | FAILURE | Velocity limit exceeded |
DE_110Ā | FAILURE | VPA Validation Failed |
DE_111 | CANCELLED | Your order has been cancelled |
DE_113 | QUEUED | Your order is queued for next retry |
DE_114 | QUEUED | Your order is cancelled. Refund is initiated |
DE_116 | QUEUED | Your order is queued due to low balance in subwallet. |
DE_610 | FAILURE | No fds available |
DE_633 | FAILURE | Invalid amount |
DE_637 | FAILURE | Blocked/Lost/Hotlisted card |
DE_638 | FAILURE | Expired card |
DE_639 | FAILURE | Debit Request Failure |
DE_654 | FAILURE | Refund Processing Service No successful parent transaction found for request. |
DE_655 | FAILURE | Refund Processing service Refund amount is greater than max amount available for refund |
DE_685 | FAILURE | Fresh reversal |
DE_686 | FAILURE | Credit adjustment |
DE_689 | FAILURE | Inactive/Dormant Account |
DE_690 | FAILURE | Money transfer request declined by the receiver bank |
DE_691 | FAILED | Disbursal to bank account failed. Please try after some time. |
DE_706 | FAILURE | Refund 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 |
DE_708 | FAILURE | Sub wallet guid is not associated with this merchant |
DE_709 | FAILURE | Invalid Transaction Amount |
DE_1218 | FAILURE | Could not find details for input beneficiary contactRefId |
DE_1219 | FAILURE | Could not fetch details for the contactRefId. Please try again |
DE_1220 | FAILURE | Multiple matches found for given beneficiary contactRefId |
DE_692 | FAILURE | Beneficiary bank doe not allow transactions for lower amounts |
DE_047 | FAILURE | Bank details not Registered |
DE_064 | FAILURE | Upfront commission not supported on this transaction. Please contact Merchant Helpdesk. |
DE_069 | FAILURE | Maximum allowed monthly money transfer limit from your Paytm Payouts Account is exhausted. Monthly Limit - {param} |
DE_1619 | SCHEDULED | your order is scheduled |
DE_1617 | FAILURE | Schedule time format is not correct as it should be YYYY-MM-DD HH:MM:SS |
DE_1618 | FAILURE | Transactions can be scheduled after 1hr from now |
DE_0618 | PENDING | Your request is pending from Approver's end. Kindly check after sometime |
DE_1623 | FAILURE | Remitter name contains inappropriate word |
DE_1700 | FAILURE | Custom field with the key {param} is present more than once. |
DE_1701 | FAILURE | Custom field with the key {param} is mandatory. |
DE_1702 | FAILURE | Custom field with the key {param} is invalid |
DE_687 | SUCCESS | Wrong credit |
DE_688 | SUCCESS | Penalty Credit |
DE_605 | FAILURE | Transaction was rejected due to Risk threshold by NPCI/Beneficiary Bank |
DE_611 | FAILURE | Debit Card associated with beneficiary bank has expired. Please reach out to beneficiary bank |
DE_630 | FAILURE | Transaction deemed Failed |
DE_624 | FAILURE | Payee bank UPI not supported |
DE_608 | FAILURE | Per Transaction limit exceeded as set by the Beneficiary bank |
DE_693 | FAILURE | Transaction has been declined by NPCI / Beneficiary Bank due to risk policy |
DE_694 | FAILURE | Transaction has been declined as it exceeds the limits set by Remiiter bank. |
DE_635 | FAILURE | VPA length greater than 25 Characters |
DE_642 | FAILURE | Transaction not permitted on this account |
DE_695 | FAILURE | Transactions are rejected by beneficiary bank to this account |
DE_696 | FAILURE | VPA has Expired |
DE_697 | FAILURE | Collect Request on this VPA is Blocked |
DE_698 | FAILURE | Payment request was declined by the remitter bank as your account is invalid. |
DE_801 | FAILURE | Current account is out of balance |
DE_802 | FAILURE | Foreign inward remittance not allowed |
DE_803 | FAILURE | Invalid BC ID |
curl -X POST 'https://staging-dashboard.paytm.com/bpay/api/v1/disburse/order/bank' \
--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","purpose":"SALARY_DISBURSEMENT","date":"2020-06-01","amount":"1.00"}'