Returns
Returns Guide
Welcome to the Returns Guide for Newline’s API Sandbox. This guide outlines the process of submitting returns, initiating reversals, handling errors, and understanding transaction statuses. Please refer to the published documentation links for complete technical details.
Overview of the Returns Endpoint
The Returns Endpoint allows you to initiate ACH and wire returns, as well as ACH reversals, within the Sandbox environment. It provides a structured workflow to ensure returns are processed efficiently and in accordance with Newline’s transaction protocols. The endpoint documentation is available here:
Transaction Types for Returns
Below are transaction types for returns initiated by a Client:
- initiated_ach_return: An ACH return initiated by a Client through the Returns endpoint. Identifies an ACH Return of a received ACH transaction.
- initiated_wire_return: A wire return initiated by a Client through the Returns endpoint. Identifies a return of a received wire transaction.
- initiated_ach_reversal: An ACH reversal initiated by a Client through the Returns endpoints. Identifies an ACH Reversal to reverse an initiated ACH transaction.
For complete details, visit the Transaction Statuses and Types Documentation.
Submitting ACH Reversals
Follow these steps to submit an ACH Reversal in the Sandbox environment:
- Verify an Eligible Transaction Exists:
- For ACH transactions:
- Reversals can be initiated on only Newline-originated ACH transactions.
- The originated ACH must be in a status of settled.
- The reversal request must be submitted within 5 business banking days of the original payment’s settlement date.
- Use the GET list transactions endpoint to search for potential transactions eligible for ACH reversal. Once identified, use the GET a single transaction endpoint to verify the transaction's status and confirm its eligibility for reversal.
- For ACH transactions:
- Post the Return Request:
- Leave the ACH Object blank in the Returns Endpoint request.
- Use the Post Create a New Return endpoint to submit your ACH return request, including the transaction UID.
- A new transaction will be created. The transaction type will be an “initiated_ach_reversal".
- Confirm the return transaction's creation by using the Get List Returns or Get a Single Return endpoint to view the return's status and details.
- Monitor Return Status:
- The return transaction will move through the following statuses:
queued
pending
settled
- The return transaction will move through the following statuses:
Qualifying Criteria for ACH reversals:
NACHA guidelines determine when an ACH reversal of an originated payment can be submitted. The following criteria must be applied by Clients before submitting an ACH reversal request.
- The original payment was for an incorrect amount.
- The account number was entered incorrectly.
- Duplicate transactions occurred.
Submitting ACH and Wire Returns
Follow these steps to initiate an ACH or Wire return in the Sandbox environment:
- Verify an Eligible Transaction Exists:
- For wires: Only received wire transactions are eligible. Create a wire transaction via the mock transactions endpoint if needed before proceeding. The wire transaction must be in a status of settled.
- For ACH transactions: Only externally-originated ACH transactions can be returned. Create an ACH transaction via the mock transactions endpoint if needed before proceeding.
- The ACH transaction must be in a status of settled. ACH return windows are time bound based on the SEC code of the ACH transaction being returned. Please see our API Error Code Documentation for guidance.
- Use the GET list transactions endpoint to search for potential transactions eligible for ACH reversal. Once identified, use the GET a single transaction endpoint to verify the transaction's status and confirm its eligibility for reversal.
- Post the Return Request:
- Submit a return by providing the transaction UID of the transaction to be returned.
- A new return transaction will be created. The transaction type will indicate an “initiated” return (e.g., initiated_ach_return) to differentiate from received returns (e.g., ach_return).
- Use the Post Create a New Return endpoint to submit your ACH return request, including the transaction UID.
- A new transaction will be created. The transaction type will be an “initiated_ach_reversal".
- Confirm the return transaction's creation by using the Get List Returns or Get a Single Return endpoint to view the return's status and details.
- Monitor Return Status:
- The return transaction will move through the following statuses:
queued
pending
settled
- The return transaction will move through the following statuses:
Initiating a Failed Return in Sandbox
To simulate a failed return:
- Post a Return Request:
- Provide the transaction UID for the transaction you want to return.
- Trigger Failure:
- Include the value "fail" in one of the free-text fields of the return request payload to simulate a failed return.
- Status Update:
- The return transaction will show a status of failed.
- View the status by using the Get List Returns or Get a Single Return endpoints to view the return's status and details.
Error Handing for Returns
Below are common error responses for the Returns Endpoint. Each error indicates a specific condition to be addressed before resubmitting the request.
Code | Title | Detail |
---|---|---|
31000 | unknown_return | Could not find Return with the given uid. |
31001 | failed_to_retrieve_returns | An exception occurred while retrieving returns. |
31002 | could_not_create_a_return | An exception occurred while creating a return. |
31003 | unknown_requestor_type | The requestor type is not recognized. |
31004 | return_already_exists | A return already exists for the given transaction. |
31005 | cannot_initiate_return | The given transaction must be settled to issue return. |
31006 | unsupported_return | Returns are not supported for the given transaction type. |
31007 | expired_transaction | A return cannot be issued as specified; too much time has elapsed. |
31008 | network_code_unsupported | Returns are not supported for Wires with UETR numbers. |
31009 | extra_payment_information | Payment information was provided that is not required for this return. |
31010 | insufficient_information_for_the return | The original transaction data required to submit a return is not available. |
31011 | insufficient_time_to_process return | The return cannot be processed because there is insufficient time remaining to process and submit the return to the appropriate institution. |
31012 | unsupported_transaction_code | Returns are not supported for the original transaction code. |
31013 | cannot_return_a_return | A return transaction cannot be returned. |
31014 | ineligible_transaction | This transaction is not eligible to be returned. |
18007 | returns_not_enabled | Returns are not enabled for this program. |
For complete details, visit the Error Codes Documentation.
Updated 17 days ago