- You cannot create transfers on orders which has the
partial_paymentparameter enabled. Ensure that this parameter is set to0. - You cannot create transfers on orders for international currencies. Currently, this feature only supports orders created using INR.
Request
Curl
Response
Success
Parameters
amount mandatory
: integer The transaction amount, in paise. For example, for an amount of ₹299.35, the value of this field should be 29935.
currency mandatory
: string The currency in which the transaction should be made. We support only INR for Route transactions.
receipt optional
: string Unique identifier that you can use for internal reference.
transfers
: array Details regarding the transfer.
account mandatory
: string Unique identifier of the Linked Account to which the transfer is to be made.
amount mandatory
: 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.
currency mandatory
: string The currency in which the transfer should be made. We support only INR for Route transactions.
notes
: json object Set of key-value pairs that can be associated with an entity. These pairs can be useful for storing additional information about the entity. A maximum of 15 key-value pairs, each of 256 characters (maximum), are supported. For example, "region": "south", "city": "Bangalore".
linked_account_notes
: array List of keys from the notes object which needs to be shown to Linked Accounts on their Dashboard. For example, "region", "city". Only the keys will be shown, not values.
on_hold optional
: boolean Indicates whether the account settlement for transfer is on hold. Possible values:
true: Puts the settlement on hold.false: Releases the settlement.
on_hold_until optional
: integer Timestamp, in Unix format, 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.
Parameters
id
: string Unique identifier of the order created.
entity
: string The name of the entity. Here, it is order.
amount
: integer The order amount, in paise. For example, for an amount of ₹299.35, the value of this field should be 29935.
amount_paid
: integer The amount paid against the order.
amount_due
: integer The amount pending against the order.
currency
: string The currency in which the order should be created. We support only INR for Route transactions.
receipt
: string Unique identifier that you can use for internal reference.
status
: string The status of the order. Possible values:
createdattemptedpaid
notes
: json object Set of key-value pairs that can be associated with an entity. These pairs can be useful for storing additional information about the entity. A maximum of 15 key-value pairs, each of 256 characters (maximum), are supported.
created_at
: integer Timestamp in Unix. This indicates the time of the order created.
transfers
: array Details regarding the transfer.
id
: string Unique identifier of the transfer.
recipient
: string Unique identifier of the Linked Account to which the transfer is to be made.
transfer_status
: string The status of the transfer. Possible values:
createdpendingprocessedfailedreversedpartially_reversed
settlement_status
: string The status of the settlement. Possible values:
pendingon_holdsettled
amount
: integer The amount to be transferred to the Linked Account, in paise. For example, for an amount of ₹200.35, the value of this field should be 20035. This amount cannot exceed the order amount.
currency
: string The currency in which the transfer should be made. We support only INR for Route transactions.
notes
: json object Set of key-value pairs that can be associated with an entity. These pairs can be useful for storing additional information about the entity. A maximum of 15 key-value pairs, each of 256 characters (maximum), are supported. For example, "region": "south", "city": "Bangalore".
linked_account_notes
: array List of keys from the notes object which needs to be shown to Linked Accounts on their Dashboard. For example, "region", "city". Only the keys will be shown, not values.
on_hold
: boolean Indicates whether the account settlement for transfer is on hold. Possible values:
true: Puts the settlement on hold.false: Releases the settlement.
on_hold_until
: 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.
error
: string Provides error details that may occur during transfers.
code
: string Type of the error.
description
: string Error description.
field
: string Name of the parameter in the API request that caused the error.
source
: string The point of failure in the specific operation. For example, customer, business and so on.
step
: string The stage where the transaction failure occurred. Stages can be different depending on the payment method used to make the transaction.
reason
: string The exact error reason. It can be handled programmatically.
Errors
The api key/secret provided is invalid- code: 4xx
- description: This error occurs when there is a mismatch between the API credentials passed in the API call and the API credentials generated on the Dashboard.
- solution: Make sure the API Keys are active and entered correctly. Also, there should not be any whitespaces before or after the keys.
- code: 400
- description: This error occurs when the amount is less than the minimum amount. The transaction amount expressed in the currency subunit, such as paise (in INR) should always be greater than or equal to 100.
- solution: Make sure the amount is equal to or greater than the minimum amount of ₹100.
- code: 400
- description: This error occurs when a mandatory field is empty.
- solution: Make sure to fill in all the mandatory fields.
- code: 400
- description: This error occurs when the currency is anything other than
INR. - solution: Ensure the currency value is
INRas we support onlyINRfor Route transactions.
- code: 400
- description: This error occurs when there is a mismatch between the key passed in the
linked_account_notesarray and the key from thenotesobject. - solution: Make sure the key passed in the
linked_account_notesarray always matches the key from thenotesobject.
- code: 400
- description: This error occurs when the time stamp provided for the
on_hold_untilentity is not correct or if it is not between946684800and4765046400. - solution: Make sure to enter the relevant
on_hold_untilentity time stamp. It should also be within the time946684800and4765046400.
- code: 400
- description: This error occurs when the
account_codepassed is invalid or does not belong to the requested merchant. - solution: Make sure to pass the valid
account_code.
- code: 400
- description: This error occurs when the total balance is less than or equal to the transfer amount.
- solution: Make sure you have enough balance. You can also add funds to the account and then try doing the transfer.
- code: 400
- description: This error occurs when the total transferred amount exceeds the captured payment amount.
- solution: Make sure the transfer amount is less than the captured payment.