Request a Payout

Request a payment directly from a bank account to a beneficiary. One endpoint serves all three payout kinds — which kind a request is depends on the fields populated inside payment:

  • UPI/VPA payout — payment.txnType is UPI, with benVpa set.
  • Account number payout — payment.benCode is not sent and txnType is not UPI; benIFSC and benAcctNo are set.
  • Beneficiary code payout — payment.benCode is sent; the registered beneficiary's IFSC, account number, email and mobile are used instead of any values sent in the request.

valueDate must always be the current date.

Every response is HTTP 200 OK, success or error alike — the outcome is in the response body's status and code fields. A different HTTP status is only returned when the API Gateway rejects the request before the Payout API runs (see the Gateway-level responses below).

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Error Groups

code message Meaning “field” in errors?
PAS400 Bad request The request is wrong: a field is missing, has a wrong format,  or contains unsafe characters. Correct the request and send  it again.

Yes, except  

PAY188 (body  

could not be read)  and PAY196  

(wrong Content Type), which have  no field

PAS403 Not authorised The maker could not be verified for the entity and program.  For PAY191, PAY192 and PAY193 the error message ends  with the value that failed (e.g. “Entity not found with this  entityId: ENT001”). For PAY175 it is the reason given by the  platform, or “User is not linked to the given entity and  program” when no reason is given.No
PAS409 Duplicate request custTxnRefNo was already used. Payout API V3 only. 

Yes  

(custTxnRefNo)

PAS422 Request could not be  processedThe request is valid but a business rule or the configuration  does not allow the payout. In the Payout Status Enquiry API:  the program does not have payout access (PAY157) or no  payout was found (PAY118).No
PAS500 Internal Server Error Unexpected or configuration error; no errors list is  returned. In the Payout API V3, if  data.lastUpdatedPayoutStatus is present, the payout was  already created before the error and may still be processed:  check its status and do not send it again with a new  custTxnRefNo. Sending the same custTxnRefNo again  returns PAS409.No errors list

Error Codes

Group Code Field Message Scenario(s)
PAS400 PAY02 bankCode Bank code is required Missing bankCode
PAS400 PAY03 bankCode Invalid bank code Invalid bankCode
PAS400 PAY04 debitAcctNo Debit account number is required Missing debitAcctNo; Several field  errors together
PAS400 PAY05 debitAcctNo Debit account number must be alphanumeric  with no spaceInvalid debitAcctNo
PAS400 PAY08 customerId Customer Id is required Missing customerId
PAS400 PAY10 custTxnRefNo Cust Txn Ref No is required Missing custTxnRefNo
PAS400 PAY12 custTxnRefNo Cust Txn Ref No must be alphanumeric with  no spaceInvalid custTxnRefNo; Several field  errors together
PAS400 PAY14 externalReferenceNumb erExternal reference number is required Missing externalReferenceNumber
PAS400 PAY15 externalReferenceNumb er

External reference number must be  

alphanumeric with no space

Invalid externalReferenceNumber
PAS400 PAY16 payment.valueDate Value date is required Missing valueDate
PAS400 PAY17 payment.valueDate Value Date not as per specified format valueDate in wrong format
PAS400 PAY18 payment.valueDate Back or Future dated transaction not allowed valueDate is not today
PAS400 PAY19 payment.benName Beneficiary name is required Missing benName
PAS400 PAY20 payment.benName Beneficiary name must be alphanumeric Invalid benName
PAS400 PAY22 payment.amount Amount is required Missing amount
PAS400 PAY23 payment.amount Amount must be greater than or equal to ₹1 Amount below 1 (NEFT); IFT:  amount below IFT minimum
PAS400 PAY24 payment.amount Invalid transaction amount Amount is not a number; Amount  with more than 2 decimals; Several  field errors together
PAS400 PAY25 payment.amount RTGS transfers require a minimum amount  of 2,00,000RTGS amount below minimum
PAS400 PAY26 payment.amount Range for IMPS is from 1 to 500000 IMPS amount outside range
PAS400 PAY27 payment.amount Minimum amount for NEFT is 1 Amount below 1 (NEFT)
PAS400 PAY28 payment.benIFSC IFT transactions are only valid for accounts  within the same bankIFT: beneficiary in another bank
PAS400 PAY29 payment.benAcctNo Invalid beneficiary account for IFT IFT: beneficiary account is the debit  account
PAS400 PAY30 payment.amount Minimum amount for IFT is 1 IFT: amount below IFT minimum
PAS400 PAY31 payment.benIFSC Beneficiary IFSC is required IFT: beneficiary IFSC missing;  Account payout: IFSC missing
PAS400 PAY32 payment.amount Maximum amount for UPI based payout is  100000UPI amount above maximum
PAS400 PAY33 payment.amount Amount exceeds the maximum limit of  999,999,999Amount above overall maximum
PAS400 PAY35 payment.txnType Transaction type is invalid or required Missing txnType
PAS400 PAY36 payment.benIFSC Beneficiary IFSC format is not valid IFT: beneficiary IFSC invalid;  Account payout: IFSC invalid
PAS400 PAY37 payment.benAcctNo Beneficiary account number is required Account payout: account number  missing
PAS400 PAY38 payment.benAcctNo Invalid beneficiary account number Account payout: account number  invalid
PAS400 PAY39 payment.benCode Beneficiary code is required benCode contains only spaces
PAS400 PAY43 payment.benVpa Beneficiary VPA is required UPI: VPA missing
PAS400 PAY44 payment.benVpa Beneficiary VPA is invalid UPI: VPA invalid
PAS400 PAY45 payment.benEmail Beneficiary email is required Beneficiary email required by the  bank
PAS400 PAY46 payment.benEmail Invalid beneficiary email Invalid beneficiary email
PAS400 PAY47 payment.benMobile Beneficiary mobile number is required Beneficiary mobile required by the  bank
PAS400 PAY48 payment.benMobile Beneficiary mobile number should have 10  digits onlyInvalid beneficiary mobile
PAS400 PAY49 payment Payout information not present Missing payment object
PAS400 PAY182 Path of each text field  that contains an HTML  tag or control character  (e.g. payment.benName)Special characters are not allowed 

HTML tag in a field; Control  

character in a field

PAS400 PAY186 callbackUrl Invalid callback url Invalid callbackUrl
PAS400 PAY187 

Path of the field whose  value could not be read  (e.g. programId,  

payment.txnType);  

“payment” for a JSON  syntax error inside the  payment object

Invalid value or format Malformed JSON inside payment;  Field with a value of the wrong  type; Unknown transaction type
PAS400 PAY188 - Malformed request body Malformed JSON body; Missing  request body
PAS400 PAY189 entityId Entity id is required Missing entityId
PAS400 PAY190 programId Program id is required Missing programId
PAS400 PAY194 makerEmail Maker email is required Missing makerEmail
PAS400 PAY195 makerEmail Invalid maker email Invalid makerEmail
PAS400 PAY196 - Content-Type must be application/json Wrong Content-Type header
PAS400 PAY197 entityId Entity id must not exceed 36 characters entityId too long
PAS400 PAY198 custTxnRefNo Cust Txn Ref No must not exceed 20  characterscustTxnRefNo too long
PAS403 PAY175 - Reason given by the platform; “User is not  linked to the given entity and program” when  no reason is givenMaker not linked to entity and  program
PAS403 PAY191 - 

Entity not found with this entityId:  

<entityId>

Entity not found
PAS403 PAY192 - Program not found with this programId:  <programId>Program not found
PAS403 PAY193 - 

User not found with this email:  

<makerEmail>

Maker email not registered
PAS409 PAY13 custTxnRefNo Customer Transaction No. already exists. custTxnRefNo already used
PAS422 BPS001 - Invalid Debit Account 

Debit account not in payout  

configuration

PAS422 PAY06 - Debit account number, entity id and bank  code mapping does not exist in the systemBank configuration missing
PAS422 PAY07 - Debit account does not exist in the system Debit account not found
PAS422 PAY09 - Customer Id is not mapped with debit  account numbercustomerId not mapped to the  debit account; Several business  errors together
PAS422 PAY19 - Beneficiary name is required Registered beneficiary has no name
PAS422 PAY21 - Debit account number does not have  permission for payout due to invalid  beneficiary detailsPayout method not enabled for the  debit account; Several business  errors together
PAS422 PAY28 - IFT transactions are only valid for accounts  within the same bankIFT: registered beneficiary in  another bank
PAS422 PAY29 - Invalid beneficiary account for IFT IFT: registered beneficiary account  is the debit account
PAS422 PAY34 - Amount exceeds the allowed transaction  limits

Amount outside program  

transaction limits

PAS422 PAY40 - Beneficiary code does not exist in the system Beneficiary code not found
PAS422 PAY41 - Invalid transaction type Beneficiary not allowed for this  transaction type
PAS422 PAY42 - Beneficiary name is not mapped with  beneficiaryBeneficiary name does not match
PAS422 PAY50 - Payout amount exceeds the available  threshold limitThreshold limit not available or  exceeded
PAS422 PAY55 - You do not have the authority of a payout.  Please contact adminMaker user not authorised
PAS422 PAY68 - Threshold limit validity date is expired Threshold limit validity expired
PAS422 PAY118 - Payout record is not present Payout not found. Received only in  the Payout Status Enquiry API
PAS422 PAY120 - The current entity does not have permission  to process payouts.Entity not permitted to make  payouts
PAS422 PAY157 - Program does not have access to the payout  serviceProgram has no payout access
PAS422 PAY183 - Invalid program id Program configuration not found
PAS422 PAY184 - Debit account is not configured for this  payout typeDebit account not configured for  this payout type
PAS422 PAY185 - Payout type is not supported by the bank Payout type not supported by the  bank
Body Params
string
required

Exactly 4 uppercase letters. Must be set up on the platform for the payout type being requested.

string
required

Unique ID shared by JPSL.

integer
required

Must exist and have payout access. Shared by JPSL.

string
required

Non-blank. Must match the customer ID of the debit account.

string
required

Email of the user making the payout. The user must be linked to the entity and program; when the entity is set up as a maker in the payout configuration, the user must also be one of the entity's maker users.

string
required
length ≤ 20

Letters and digits only, at most 20 characters. Must be unique — a value already used for any payout is rejected (PAS409).

string
required

Letters and digits only.

string
required

Letters and digits only. Must be an active debit account of the entity/program in the payout configuration, set up with the bank for the payout type, and enabled for the kind of payout.

uri

Optional. When sent, must be an absolute URL with scheme http or https and a host.

string
enum

Optional payout category. Not otherwise validated.

Allowed:
string

Optional. Stored with the payout exactly as sent.

payment
object
required

Details of the payout itself. Which fields are required depends on the payout kind: UPI/VPA (txnType is UPI), account number (no benCode sent, txnType is not UPI), or beneficiary code (benCode sent). See each field's description.

Responses

Language
Credentials
Header
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json