A return represents a rejection of a single payment order. This can occur for a variety of reasons and often results in your originating bank returning your funds as well as issuing a notification with additional details. These additional details result in a return being generated in the Modern Treasury system.
You can also create a return against a simulated incoming payment detail to mimic the return flow inside of sandbox.
Note that sometimes, banks will process a return prior to recording a transaction. This is why both transaction_id and transaction_line_item_id below may be null.
Related Guides:
Attribute | Description |
|---|---|
id string | Unique identifier for the return. |
amount int32 | Value in specified currency's smallest unit. e.g. $10 would be represented as 1000. |
currency string | Currency that this transaction is denominated in. |
type string | The type of return. Can be one of: |
status string | The current status of the return. See the webhooks section for more on the different statuses. |
reconciliation_status string | The current reconciliation status. One of |
code string | The return code. For |
reason string | Often the bank will provide an explanation for the return, which is a short human readable string. |
role string | The role of the return, can be |
data object | The raw data from the return file that we get from the bank. This field may contain sensitive information and is not included in API responses by default. Learn more about changing your settings here . |
transaction_line_item_id string | The ID of the relevant Transaction Line Item or |
transaction_id string | The ID of the relevant Transaction or |
returnable_id string | The ID of the object being returned or |
returnable_type string | The type of object being returned or |
current_return object | If the return's status is |
live_mode boolean | This field will be true if this object exists in the live environment or false if it exists in the test environment. |
additional_information string | This field may contain sensitive information and is not included in API responses by default. Learn more about changing your settings here. Some returns include additional information from the bank. If the banks include it, this string will be present. |
reference_numbers array | An array of Payment Reference objects. |
internal_account_id string | The ID of the relevant Internal Account. |
date_of_death date | If the return code is |
ledger_transaction_id string | The ID of the ledger transaction linked to the return. See Linking to other Modern Treasury objects. |
corrections object | This field is only applicable for ACH NOC returns. An object holding all of the updated correct account information received from the bank that should replace the items originally used. Fields include |
{
"id": "de1d44ba-c904-4598-a62c-fe0b4fd75ac7",
"object": "return",
"live_mode": true,
"status": "pending",
"reconcilation_status": "reconciled"
"returnable_id": "744ac1c4-365a-4df9-b6d9-730e07df115a",
"returnable_type": "payment_order",
"transaction_line_item_id": "3768a9ad-98c0-4b77-a5f4-4e203af16e0f",
"transaction_id": "2159755e-5600-47c2-935a-df9a83a31c07",
"internal_account_id": "3cce4311-c57e-4e38-aff9-58dd9409a67f",
"type": "ach",
"amount": 20000,
"currency": "USD",
"code": "R01",
"failure_reason": null,
"reason": "Insufficient Funds",
"role": "receiving",
"data": {},
"date_of_death": null,
"current_return": null,
"reference_numbers": [],
"ledger_transaction_id": null,
"created_at": "2023-04-19T16:53:06Z",
"updated_at": "2023-04-19T16:53:06Z",
"corrections": null
}