managing failed payouts.md

Managing Failed Payouts

Learn how to manage payouts that get returned.

Failed Payouts Overview

There are several reasons why payouts (also known as Funding Transfers) can fail and return to you. The most common reason is that the Seller's payout bank account information is incorrect.

When Funding Transfers fail, Finix will mark them as failed and tag them with the ACH Return Reason Code. You may need to reach out to your seller to update bank account information.

Resending a Failed Funding Transfer using the Dashboard

If a payout to a merchant's bank account does not go through, you can resend the failed funding transfer using the Finix dashboard after the Merchant has updated their bank account information.

To resend a failed funding transfer using the dashboard:

  1. From the Merchant Account page, click Payouts, then Settlements.
  2. Click a settlement from the list of settlements to view its details.
  3. Scroll down to Settlement Deposits to see a list of all settlement funding transfers.
  4. A failed settlement funding transfer is in a Failed state.
  5. You can resend the transfer by clicking the Re-send Transfer button.
    • A Resend Funding Transfer Instructions modal displays.
  6. From the modal, select a Payment Instrument.
    • If successful, a new settlement funding transfer displays in the list with a state of SUCCEEDED.

Resending a Failed Funding Transfer using the API

To resend a failed settlement funding transfer, send a request to the PUT /settlements/{settlement_id}, including the destination (merchant's bank account) and rail (always ACH) in the request body:

Example

curl -i -X PUT \
  -u USrsBRw5q8f8ZcuWvrWsZro1:c00462f6-251c-47a7-aa12-31d7e7b4fa8c \
  https://finix.sandbox-payments-api.com/settlements/STcuLDR3uAhut6DBAnDSB2a \
  -H 'Content-Type: application/json' \
  -H 'Finix-Version: 2022-02-01' \
  -d '{\n        "destination": "PIeuV9AEb5hFxSzVLDqiGdne",\n        "rail": "ACH"\n     }'

API Definition To confirm if the retry was successful, list the settlement funding transfers and look for a new Transfer marked as CREDIT with the same details and amount as the failed transfer.

Automatically Retrying Failed Funding Transfers

If a funding transfer fails, Finix disables the merchant's settlements and automatically retries the funding transfer according to the following schedule:

If the platform debit also fails, the outstanding balance is applied as a deduction to the platform's next residual payout.

To identify which merchant accounts are driving failed debits, navigate to Merchants > Merchant Payouts > Merchant Deposits in the Dashboard and filter by Failed.

Funding Transfer Resource

You can fetch Funding Transfers from the /transfers endpoint. Funding Transfers get processed on the ACH rails and behave similarly to ACH payments (also known as eChecks).

Failed Funding Transfer
{
    "id": "TRxxxxxx",
    "amount": 500,
    "tags": {},
    "state": "FAILED",
    "trace_id": "FNXxxxxxx",
    "currency": "USD",
    "application": "APxxxxxx",
    "source": null,
    "destination": "PIxxxxx",
    "ready_to_settle_at": null,
    "fee": 0,
    "statement_descriptor": null,
    "type": "CREDIT",
    "messages": [
        "ReasonCode: R03",
        "ReasonDescription: No Account/Unable to Locate Account",
        "Declined because there is a record in FAILED_FUNDS for 'FNXxxxxxxx' transfer"
    ],
    "raw": {
        "Return Date": "xx/xx/2019",
        "Original Date": "xx/xx/2019",
        "Attempted Funds Transfer Date": "xx/xx/2019",
        "Merchant Name": "xxx xxxx xxxx xxx",
        "Sub Merchant Business Name": "xxx xxx xxx",
        "Funding Sub Merchant ID": "0xxxxxx",
        "Funds Transfer Request ID": "FNXxxxxx",
        "Vantiv Payment ID": "xxxxx",
        "Txn Type": "FISC",
        "Funds Transfer Amount": 500.0,
        "Reason Code": "R03",
        "Reason Message": "No Account/Unable to Locate Account",
        "Routing Number": "xxxxx",
        "Account Number": "XXxxxxx",
        "Account Name": "xxx xxx xxx"
    },
    "created_at": "xxxx",
    "updated_at": "xxxx",
    "idempotency_id": null,
    "merchant": "MUxxxxx",
    "merchant_identity": "IDxxxxx",
    "subtype": "SETTLEMENT_MERCHANT",
    "_links": {
        "application": {
            "href": "https://finix.sandbox-payments-api.com/applications/APxxxxxx"
        },
        "self": {
            "href": "https://finix.sandbox-payments-api.com/transfers/TRxxxxxx"
        },
        "merchant_identity": {
            "href": "https://finix.sandbox-payments-api.com/identities/IDxxxxx"
        },
        "payment_instruments": {
            "href": "https://finix.sandbox-payments-api.com/transfers/TRxxxxxx/payment_instruments"
        },
        "reversals": {
            "href": "https://finix.sandbox-payments-api.com/transfers/TRxxxxxx/reversals"
        },
        "fees": {
            "href": "https://finix.sandbox-payments-api.com/transfers/TRxxxxxx/fees"
        },
        "disputes": {
            "href": "https://finix.sandbox-payments-api.com/transfers/TRxxxxxx/disputes"
        },
        "source": {
            "href": "https://finix.sandbox-payments-api.com/payment_instruments/PIxxxxx"
        },
        "fee_profile": {
            "href": "https://finix.sandbox-payments-api.com/fee_profiles/FPvCQUcnsueN3Bc3zR1qCBG8"
        }
    }
}

Resolving Funding Instruction Failures

Failed funding transfers will receive these ACH Return Reason Codes in the Transfer's messages array.

Code Failure Message Description Next Steps
R01 Insufficient Funds The bank account doesn't have enough funds to cover the transaction. - Reach out to your user and confirm the bank account information entered is correct.
R02 Account Closed A previously active account has been closed by an action of the customer or the RDFI. - Contact your user for another form of payment or a different bank account.

Notification of Change (NOC)

A Notification of Change (NOC) is a notice sent from a customer’s bank detailing the information that changed in a transaction to allow it to be successful.

For example, if you paid out one of your merchants, and they accidentally put the wrong routing number or bank account number. Instead of the transaction failing, a NOC gets generated as the bank successfully delivers the payout to the merchant.

The NOC informs the Payment Facilitator of what occurred and provides the necessary information to rectify the issue. When a NOC of change happens, depending on the changes made, you may receive a Payment Instrument updated webhook event as Finix complies with NOC laws from NACHA.

Code Description Next Steps
C01 Incorrect account number Update the Payment Instrument with the correct account number
C02 Incorrect routing/transit number Update the Payment Instrument with the correct routing number
C03 Incorrect routing/transit number and incorrect account number Update the Payment Instrument with the correct routing and account number
C04 Incorrect account name Update the Payment Instrument with the correct account name