> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tesouro.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Reinitiate a bank transfer

> Retry a previously returned ACH bank transfer due to insufficient funds, uncollected funds, or stopped payment within 180 days.

**What is it?** A reinitiate bank transfer request retries a previous ACH sale that was returned.

<Tip type="when to use">
  **When to Use**

  <ul>
    <li>The original bank transfer was returned for insufficient funds (R01) or uncollected funds (R09).  Acceptors are limited to two reinitiation attempts.</li>
    <li>The original bank transfer was returned for stopped payment (R08) and the acceptor has obtained a new "authorization"/permission from their customer to reinitiate.</li>
    <li>It is submitted within 180 days of the original bank transfer settlement date.</li>
  </ul>
</Tip>

<Callout icon="clapperboard-play" color="#6938EF" type="scenario">
  **Scenario**

  Ben purchased an item for \$150 using his checking account at Maple Street Coffee, one of Clearpath Payment's acceptors. Clearpath Payments submits a request to initiate a bank transfer from Ben's bank account ending in 5678. Two days later, Ben's bank returns the transaction with an R01 return code. Clearpath Payments retries the transaction in their next billing cycle.
</Callout>

### Steps

1. Call the [reinitiateBankTransfer](/acquiring/reference/graphql/operations/reinitiatebanktransfer) mutation, passing in the required and optional [input fields](/acquiring/reference/graphql/types/reinitiatebanktransferinput):

   | Required input         | Description                                                                                                                                                                                             |
   | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
   | `acceptorId`           | The unique, 36 character identifier assigned to the entity providing the goods or services to the customer. Other processors may refer to this as the Merchant ID (MID), Outlet ID, or Customer number. |
   | `paymentId`            | The unique 'paymentId' of the bank transfer transaction that is to be reinitiated.                                                                                                                      |
   | `transactionId`        | The unique 'transactionId' of the specific transaction within the payment that is to be reinitiated.                                                                                                    |
   | `transactionReference` | The unique transaction identifier created by YOU to distinguish this transaction from another.                                                                                                          |

2. The response will include a new `transactionId` and will share the same fields as the initiateBankTransfer. The paymentId will be the same.

<RequestExample>
  ```graphql Operation lines expandable theme={null}
  mutation ReinitiateBankTransfer($input: ReinitiateBankTransferInput!) {
    reinitiateBankTransfer(initiateBankTransferInput: $input) {
      bankTransferResponse {
        ... on BankTransferApproval {
          transactionId
          paymentId
          processorResponseCode
          timestampUtc
          isDuplicateRequest
        }
        ... on BankTransferDecline {
          message
          processorAdvice
          declineType
          timestampUtc
          transactionId
        }
      }
      errors {
        errorType: __typename
        ... on ValidationFailureError {
          message
          fieldPath
        }
        ... on RouteNotFoundError {
          message
        }
        ... on AcceptorNotFoundError {
          message
        }
      }
    }
  }
  ```

  ```json Variables lines theme={null}
  {
    "input": {
      "acceptorId": "05a39b14-f29f-443b-a107-da3e3e8969fb",
      "transactionReference": "86e90e33-4270-48e2-ae6c-bb2dcc876e39",
      "paymentId": "51740c23-5719-431a-81cb-c38a0875d64f",
      "transactionId": "51740c23-5719-431a-81cb-c38a0875d64f"
    }
  }
  ```
</RequestExample>

<ResponseExample>
  ```json title="Response" lines theme={null}
  {
    "data": {
      "reinitiateBankTransfer": {
        "bankTransferResponse": {
          "transactionId": "f14f0a48-35c4-4e68-b2e3-e40f6d6160a8",
          "paymentId": "792282f2-d929-4dad-8c8a-9552c92154f1",
          "processorResponseCode": "A0000",
          "timestampUtc": "2024-02-13T10:30:00Z",
          "isDuplicateRequest": false
        }
      }
    }
  }
  ```
</ResponseExample>
