ACH return webhooks

Subscribe to ACH return webhooks for updated on status changes

Webhooks can be configured to know when an ACH return for a payin was processed.

ACH return events


Events

It's recommended that your platform listen to the following Rainforest webhooks to notify your platform, the merchant, and the end user on key events for ACH returns. We'll break down each webhook event and if the following notifications should be sent:

  • Internal Notification - notify your platform support team so they can assist your merchants
  • Merchant Notification - notify your merchants via an email or alert within your platform
  • End User (Payor) Notification - notify the end user (payor) of the result of the payin
WebhookInternal NotificationMerchant NotificationEnd User (Payor) Notification
ach_return.created

Payload

The webhook payload consists of:

  • data - represents all ACH return detail fields returned by the get ACH return endpoint
  • event_type - ach return events denoted by the format of ach_return.{ach_return_status}
{
    "data": {
        "ach_return_id": "ret_2sPFzoKTeD7b9alqNH0b9rjV6E2",
        // ...
        "status": "CREATED",
        // ...
    },
    "event_type": "ach_return.created"
}

Created


Event: ach_return.created

Triggered when an ACH return was processed and will be deducted from the merchant's next deposit.

FieldDescription
ach_return_idThe unique ACH return identifier.
merchant_idThe unique merchant identifier.
payin_idThe unique payin identifier associated to the return.
statusThe status of the ACH return.
return_codeThe code explaining the reason the ACH payment was returned.
return_descThe description explaining the reason the ACH payment was returned. This will be a human-readable value that may be presented to the end user.
amountThe amount captured by the ACH return, in minor units.
currency_codeThree-letter ISO currency code, in uppercase. Currently, only USD is supported.
amount_splitsThe amount split defined on the associated payin.
merchant_feesThe ACH return fee billed to the merchant.
metadataValid JSON key-value object specified on the associated payin and persisted to the ACH return.
created_atDate and time ACH return was created at in UTC RFC 3339 format.

External notification example

The following example is an external notification to be sent your merchant:

[System Alert] The PlatformPay team is reaching out to inform you that the below ACH payment has been returned. This means we attempted to process this ACH payment for you but were unable to complete the payment for the below reason. Do not worry as the reason for these types of returned ACH payments can typically be resolved with the account holder. Please see the reason code below to understand the specific reason this payment was returned and what action the account holder needs to take in order to successfully re-process the payment.

Amount: $100 {insert amount}

Payment for Invoice: #1234 {insert invoice ID}

Rejection Code: R29 {insert return reason code}

Rejection Description: Corporate customer advice not authorized. {insert return reason description}

For further questions regarding this returned payment, please contact PlatformPay at {insert support email}.