Using Razorpay Payment Links, you can transfer the payments received from your customers automatically to your linked accounts. You no longer need to create a separate transfer using Razorpay Route Transfers API. Instead, you can use the order parameter in Create Payment Links API to automate the transfer once the payment is received from the customer.
You must have created and onboarded linked accounts using Razorpay Route, via the Dashboard. Learn more about Razorpay Route.
Note:
You cannot create transfers on a Payment Link which has partial_payment parameter enabled. Ensure that this parameter is set to 0.
You cannot create transfers on a Payment Link created using an international currency. Currently, transfers are only supported on Payment Links created using INR.
You can automate transfers to linked accounts, using Payment Links, using the following parameters along with the Create Payment Link API request.
optionsmandatory
array Options to configure the transfer in the Payment Link. Parent parameter under which the order child parameter must be passed.
ordermandatory
array The parameter under which the linked account and transfer details must be configured to perform the transfer. transfer is a child parameter of order.
transfers.accountmandatory
string Unique identifier of the linked account to which the transfer is to be made.
transfers.amountmandatory
integer The amount to be transferred to the linked account. For example, for an amount of ₹200.35, the value of this field should be 20035. This amount cannot exceed the order amount.
transfers.currencymandatory
string The currency in which the transfer should be made. We support only INR for Route transactions.
transfers.notesoptional
json object Set of key-value pairs that can be associated with an entity. This can be useful for storing additional information about the entity. A maximum of 15 key-value pairs, each of 256 characters (maximum), are supported.
transfers.linked_account_notesoptional
array List of the keys from the notes object which needs to be shown to linked accounts on their dashboard.
transfers.on_holdoptional
boolean Indicates whether the account settlement for transfer is on hold. Possible values:
1 - Puts the settlement on hold.
0 - Releases the settlement.
transfers.on_hold_untiloptional
integer Timestamp, in Unix, that indicates until when the settlement of the transfer must be put on hold. If no value is passed, the settlement is put on hold indefinitely.