Payout Composite
Create a Payout to a Mobile Number Using Composite API
Create a Payout to Mobile Number using the Composite API.
POST
Use this endpoint to create a payout to a mobile number using Composite Payout API.
Consider the points given below before firing this API:
Consider the points given below before firing this API:
- Contact
- A new contact is created if any combination of the following details is unique:
fund_account.contact.namefund_account.contact.emailfund_account.contact.contactfund_account.contact.typefund_account.contact.reference_id
- If all the above details match the details of an existing contact, the API returns details of the existing contact.
- Use the Update Contact API if you want to make changes to an existing contact.
- A new contact is created if any combination of the following details is unique:
- Fund Account
- A new fund account is created if any combination of the following details is unique:
fund_account.card.namefund_account.card.numberfund_account.contact.namefund_account.contact.emailfund_account.contact.contactfund_account.contact.typefund_account.contact.reference_id
- If all the above details match the details of an existing fund account, the API returns details of the existing fund account.
- You cannot edit the details of a fund account.
- A new fund account is created if any combination of the following details is unique:
Request Parameters
string
required
The account from which you want to make the payout.
Account details can be found on the RazorpayX Dashboard. For example,
Account details can be found on the RazorpayX Dashboard. For example,
7878780080316316.- Pass your customer identifier if you want money to be deducted from RazorpayX Lite.
- Pass your Current Account number if you want money to be deducted from your Current Account.
integer
required
The payout amount, in paise. For example, pass
The value passed here does not include fees and tax. Fees and tax, if any, are deducted from your account balance.
1000000 to transfer an amount of ₹10,000. Minimum value is 100. The value passed here does not include fees and tax. Fees and tax, if any, are deducted from your account balance.
string
required
The payout currency. Here, it is
INR.string
required
The mode to be used to create the payout. Here, it is
The payout modes are case-sensitive. When creating payouts using APIs, ensure payout modes are entered in upper case.
UPI.The payout modes are case-sensitive. When creating payouts using APIs, ensure payout modes are entered in upper case.
string
required
The purpose of the payout. Classifications available in the system by default:
refundcashbackpayoutsalaryutility billvendor bill
object
required
Details of the contact and fund account to which the payout should be made.
string
required
The type of account linked to the contact ID. Here, the value has to be
mobile.object
required
Object for capturing phone number and the name linked to it (optional).
string
required
The contact’s 10-digit mobile number (without country code) to which you wish to send the payout. This has to be linked to a VPA (UPI). For example,
9876543210.string
The name linked to the mobile number. This, if provided, will be validated against the linked UPI/bank account name. This will not be validated if not entered. For example,
Gaurav Kumar.object
required
Details of the contact to whom the payout should be made.
string
required
Contact’s name. Minimum 3 characters. Maximum 50 characters. This field is case-sensitive. Supported characters:
a-z, A-Z, 0-9, space, ’ , - , _ , / , ( , ) and , .. For example, Gaurav Kumar.string
The contact’s email address. For example,
gaurav.kumar@example.com.string
The contact’s phone number. For example,
9000090000. This can be same or different from the number passed to the mobile object for payout.string
Classification for the contact. For example,
employee. Classifications are available by default:vendorcustomeremployeeself
string
Maximum length is 40 characters. A reference you enter for the contact. For example,
Acme Contact ID 12345.object
Notes you can enter for the contact for future reference. This is a key-value pair. For example,
"note_key": "Beam me up Scotty".boolean
Possible values:
true: The payout is queued when your business account does not have sufficient balance to process the payout.false(default): The payout is never queued. The payout fails if your business account does not have sufficient balance to process the payout.
string
Maximum length is 40 characters. A reference you enter for the payout. For example,
Acme Transaction ID 12345. You can use this field to store your own transaction ID, if any.string
Maximum length 30 characters. Allowed characters:
Enter the important text in the first 9 characters as banks truncate the rest as per their standards.
a-z, A-Z, 0-9 and space. This is a custom note that also appears on the bank statement. If no value is passed for this parameter, it defaults to the Merchant Billing Label. Enter the important text in the first 9 characters as banks truncate the rest as per their standards.
array
Key-value pair that can be used to store additional information about the entity. Maximum 15 key-value pairs, 256 characters (maximum) each. For example,
"note_key": "Beam me up Scotty”.Response Parameters
string
The unique identifier linked to the payout. For example,
pout_00000000000001.string
The entity being created. Here, it will be
payout.string
The unique identifier linked to the fund account. For example,
fa_00000000000001.string
Contact and fund account details to which the payout was made.
string
The unique identifier linked to the fund account. For example,
fa_00000000000001.string
Here it will be
fund_account.string
The unique identifier linked to the contact. For example,
cont_00000000000001.string
Details of the contact to whom the payout is being made.
string
The unique identifier linked to the contact. For example,
cont_00000000000001.string
The entity being created. Here, it will be
contact.string
The contact’s name. For example,
Gaurav Kumar.string
The contact’s phone number. For example,
9000090000.string
The contact’s email address. For example,
gaurav.kumar@example.com.string
Classification for the contact being created. For example,
employee. Classifications are available by default:vendorcustomeremployeeself
string
A reference you entered for the contact. For example,
Acme Contact ID 12345.string
This parameter is populated if the contact was created as part of a bulk upload. For example,
batch_00000000000001.boolean
Possible values:
true: activefalse: inactive
object
User-entered notes for internal reference. This is a key-value pair. You can enter a maximum of 15 key-value pairs. For example,
"note_key": "Beam me up Scotty”.integer
Timestamp, in Unix, when the contact was created. For example,
1545320320.string
The type of fund account being created. Here, it will be
mobile.object
The contact’s mobile number to which you wish to make a payout.
string
required
Account holder’s mobile number containing 10 digits.
string
The name linked to the mobile number.
string
The contact’s VPA (UPI) details.
string
The user name from the VPA (UPI). For example,
gauravkumar.string
The handle from the VPA (UPI) address. For example,
exampleupi.string
The VPA (UPI) address. For example,
gauravkumar@exampleupi.string
This parameter is populated if the contact was created as part of a bulk upload. For example,
batch_00000000000001.boolean
Possible values:
true: activefalse: inactive
integer
Timestamp, in Unix, when the contact was created. For example,
1545320320.integer
The payout amount, in paise. For example, if the amount transferred is ₹100, it will display 10000.
This value does not include fees and tax. Fees and tax, if any, are deducted from your account balance.
This value does not include fees and tax. Fees and tax, if any, are deducted from your account balance.
string
The payout currency. Here, it is
INR.object
Key-value pair that can be used to store additional information about the entity. Maximum 15 key-value pairs, 256 characters (maximum) each. For example,
"note_key": "Beam me up Scotty”.integer
The fees for the payout. This field is populated only when the payout moves to the
processing state. For example, 59integer
The tax that is applicable for the fee being charged. This field is populated only when the payout moves to the
processing state. For example, 9string
The payout status. Possible payout states:
queuedpending(if you have Approval Workflow enabled)rejected(if you have Approval Workflow enabled)processingprocessedcancelledreversed
string
The purpose of the payout. Classifications available by default:
refundcashbackpayoutsalaryutility billvendor bill
string
The unique transaction number linked to a payout. For example,
UPI2928292020.string
Here, it is
UPI.string
A user-generated reference given to the payout. For example,
Acme Transaction ID 12345. You can use this field to store your own transaction ID, if any.string
This is a custom note that also appears on the bank statement.
If no value is passed for this parameter, it defaults to the Merchant Billing Label.
If no value is passed for this parameter, it defaults to the Merchant Billing Label.
string
This parameter is populated if the contact was created as part of a bulk upload. For example,
batch_00000000000001string
The reason why the payout has failed (only in case of a failure, else it will return a null value).
string
This parameter returns the merchant id. For example,
Pup4LDLiA1DssXstring
This parameter returns the status id of the payout. For example,
R7aA38hQzg5TDjobject
This parameter returns the current status of the payout. For example,
IMPS is not enabled on beneficiary account, Retry with different mode.string
A description for the error. For example,
IMPS is not enabled on beneficiary account, please retry with different mode.string
Possible values:
gateway: Technical error at Razorpay Partner bank.beneficiary_bank: Technical error at beneficiary bank.business: Merchant action required.internal: Technical error at Razorpay’s server.
string
Reason for the current status. For example,
imps_not_allowed. Payout Status Details and Next Steps.integer
Timestamp, in Unix, when the payout was created. For example,
1545320320.string
Indicates the fee type charged for the payout. Possible values is
free_payout.Errors
No linked account details found
No linked account details found
Code:
400No linked VPA (UPI) found for the entered mobile number.Solution: Enter a mobile number which is linked to a VPA.Account holder name not matching with bank provided name
Account holder name not matching with bank provided name
Code:
400Account holder name is not matching with the name fetched from the bank.Solution: account_holder_name is optional. Enter this only if you are sure of the name linked to the phone number, as per bank records. System will validate the name only if entered.Mobile number should be 10-digit long
Mobile number should be 10-digit long
Code:
400Entered mobile number is not 10-digit long.Solution: Enter the correct 10-digit mobile number, without country code.We are facing trouble fetching account details. Please try again shortly
We are facing trouble fetching account details. Please try again shortly
Code:
500Server error. Unable to fetch account details from the server.Solution: This is due to the NPCI mapper API being unresponsive. Retry the request after sometime.