Initiate/Schedule Transfer API

Initiate / schedule single/multiple transfers to beneficiary account, UPI address or credit card.

Request Header Params

Key

Description

Data type

Mandatory

possible Values

Authorization

Access token generated earlier.

String

Yes

Bearer {access_token}

payoutMerchantId

This is the merchant id provided while onboarding

String

Yes

payoutMerchantId is different from payuMoneyMerchant Id, please use the correct one for seamless experience

Request Params

Key

Description

Data type

Mandatory

possible Values

batchId

It can be any string value. Merchant can use this value if they want process the request in batch and also what status of transfer in batch. This can be unique for a batch or across multiple request.

String

yes

amount

Amount to transfer in beneficiary account

Double(20,2)

Yes

merchantRefId

Unique reference id generated at merchant side to distinguish between multiple transfers. Same value will be used by merchant in status check of transfer.

String

Yes

beneficiaryAccountNumber

Mandatory in case of IMPS and NEFT, RTGS transactions. It will have beneficiary account number

String

Conditional

beneficiaryIfscCode

Mandatory in case of IMPS and NEFT, RTGS transactions. It will have beneficiary bank ifsc code

String

Conditional

beneficiaryName

Mandatory in case of NEFT transactions. It will have beneficiary name as per his bank account record

String

Conditional

beneficiaryMobile

Beneficiary mobile number

String

No

beneficiaryEmail

Beneficiary Email

String

No

purpose

Purpose of doing this transfer

String

Yes

paymentType

Mode of the payment

String

Yes

IMPS, UPI, NEFT,

RTGS, MASTERCARD, VISA, CC_PAYMENT

vpa

Mandatory in case of UPI transactions. It will be vpa(upi) address of beneficiary

String

Conditional

retry

Default value for this will be True. We provide option to retry the transaction in some particular case.Like Beneficiary bank server down, request timeout while initiating transaction at bank. We will do 3 retries. 1st Retry happens after 30 min , 2nd after 1 hours of 1st Retry and 3rd after 1 hours of 2nd retry. The maximum TAT for pending transactions will be 3-4 hours in case of imps. In case of NEFT it will based on bank timing. Max it can go to next working day of bank.

Boolean

No

scheduledTime

Date and time on which payout has to be scheduled

Ex- 2020-10-20 15:02:11

Date

No

Ex- 2020-10-20 15:02:11

recipientCardNo

Credit Card Number

String

Conditional

Mandatory in case of paymentType cc_payment

beneficiaryId

Id of beneficiary to which the payout needs to be done. This value can be passed instead of other beneficiary details.

Long

Conditional

Mandatory if beneficiary details are not passed.

vpaToken

vpa token corresponding to vpa(upi) address of beneficiary

String

No

disableApprovalFlow

This flag disables approval flow for a particular payout transaction (valid if approval flow is set to OPTIONAL)Boolean

No

No

false/true

Examples

Sample Request/Response for a single transfer initiation:

Content-Type : application/json

Method : Get

Test Environment Request Body For IMPS/NEFT/RTGS:

[
 {
 "beneficiaryAccountNumber": "51234567890",
 "beneficiaryIfscCode": "HDFC0001234",
 "beneficiaryName": "Payu",
 "beneficiaryEmail": "payu@payu.in",
 "beneficiaryMobile": "9876473627",
 "purpose": "Payment from Company",
 "amount": 1234.12,
 "batchId": "1",
 "merchantRefId": "123asdfad3",
 "paymentType": "IMPS",
 "retry" : false
 }
]

Test Environment Request Body For UPI

[
 {
 "beneficiaryName": "Payu",
 "beneficiaryEmail": "payu@payu.in",
 "beneficiaryMobile": "9876473627",
 "purpose": "Payment from Company",
 "amount": 1234.12,
 "batchId": "1",
 "merchantRefId": "123",
 "paymentType": "UPI",
 "vpa" : "ankush.pokarana@ybl"
  "retry" : true
 }
]

Test Environment Request Body For Master card payment

[
 {
 "beneficiaryName": "Payu",
 "beneficiaryEmail": "payu@payu.in",
 "beneficiaryMobile": "9876473627",
 "purpose": "Payment from Company",
 "amount": 1234.12,
 "batchId": "1",
 "merchantRefId": "1234",
 "paymentType": "MASTERCARD",
 "recipientCardNo":"5291170702832"
 }
]

Test Environment Request Body For VISA card payment

[
 {
 "beneficiaryName": "Payu",
 "beneficiaryEmail": "payu@payu.in",
 "beneficiaryMobile": "9876473627",
 "purpose": "Payment from Company",
 "amount": 1234.12,
 "batchId": "1",
 "merchantRefId": "1234",
 "paymentType": "VISA",
 "recipientCardNo":"4012888888881882"
 }
]

Test Environment Request Body For Credit card payment

[
 {
 "beneficiaryName": "Payu",
 "beneficiaryEmail": "payu@payu.in",
 "beneficiaryMobile": "9876473627",
 "purpose": "Payment from Company",
 "amount": 1234.12,
 "batchId": "1",
 "merchantRefId": "1234",
 "paymentType": "CC_PAYMENT",
 "recipientCardNo":"5291170702832"
 }
]

Response:

{
 "status": 0,
 "msg": "Requests are in process. Will send response of individual request on webhooks set by you",
 "code": null,
 "data": []
 }

Sample Request/Response for multiple transfer initiation:

Content-Type : application/json

Method : Get

Test Environment Request Body:

[
 {
 "beneficiaryAccountNumber": "51234567890",
 "beneficiaryIfscCode": "HDFC0001234",
 "beneficiaryName": "Payu",
 "beneficiaryEmail": "payu@payu.in",
 "beneficiaryMobile": "9876473627",
 "purpose": "Redemetion",
 "amount": 1234.12,
 "batchId": "1",
 "merchantRefId": "123asdfad3",
 "paymentType": "IMPS"
 },
 {
 "beneficiaryName": "Payu",
 "beneficiaryEmail": "payu@payu.in",
 "beneficiaryMobile": "9876473627",
 "purpose": "transfer request",
 "amount": 1234,
 "batchId": "1",
 "merchantRefId": "654ytv65v",
 "paymentType": "UPI",
 "vpa": "komal@yesb"
 },
 {
 "beneficiaryAccountNumber": "5172526824913219",
 "beneficiaryIfscCode": "SBIN00CARDS",
 "beneficiaryName": "Test",
 "beneficiaryEmail": "",
 "beneficiaryMobile": "9654461774",
 "purpose": "test",
 "amount": 1.10,
 "batchId": "1",
 "merchantRefId": "7891247",
 "paymentType": "NEFT"
 },
 {  
 "beneficiaryName": "Harsh Agarwal",
 "beneficiaryEmail": "harsh101892@gmail.com",
 "beneficiaryMobile": "8447648479",
 "purpose": "visa card payout",
 "amount": "1",
 "batchId": "cx",
 "merchantRefId": "rbltest34",
 "paymentType": "VISA",
 "recipientCardNo":4012888888881882
 },
 {  
 "beneficiaryName": "Harsh Agarwal",
 "beneficiaryEmail": "harsh101892@gmail.com",
 "beneficiaryMobile": "8447648479",
 "purpose": "mastercard card payout",
 "amount": "1",
 "batchId": "cx",
 "merchantRefId": "rbltest34",
 "paymentType": "MASTERCARD",
 "recipientCardNo":5467191647690785
 }
 
]

Response Body :

{
 "status": 0,
 "msg": "Requests are in process. Will send response of individual request on webhooks set by you",
 "code": null,
 "data": []
 }

In case all values are correctly request will get accepted and status of the transfer will be shared on webhooks set by merchant or merchant can call status api by merchant ref id to check the status at any time

Error codes

Error Code

Description

1001

INVALID MERCHNAT REF ID

1002

DUPLICATE MERCHNAT REF ID

1003

INVALID BATCH ID

1004

INVALID ACCOUNT NUMBER

1005

INVALID IFSC CODE

1006

INVALID AMOUNT

1007

INVALID NAME

1008

INVALID MOBILE

1009

INVALID EMAIL

1010

INVALID PURPOSE

1011

INVALID_TRANSFER_TYPE

1012

INVALID_UPI_REQUEST

1013

INVALID_UPI_LENGTH

1014

INVALID_UPI_ID

1015

BENEFICIARY_NAME_INVALID

1016

INVALID_CARD_NUMBER

1017

INVALID_BENEFICIARY_ID

1018

INVALID_SCHEDULE_DATE_FORMAT

1019

INVALID_SCHEDULE_DATE

1020

CARD_PROVIDER_DETAILS_NOT_FOUND

1021

INVALID_CARD_PROVIDER_DETAILS

1022

INVALID_IFSC_CODE_PATTERN

Last updated

Was this helpful?