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
Webhook | Internal Notification | Merchant Notification | End 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 endpointevent_type
- ach return events denoted by the format ofach_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.
Field | Description |
---|---|
ach_return_id | The unique ACH return identifier. |
merchant_id | The unique merchant identifier. |
payin_id | The unique payin identifier associated to the return. |
status | The status of the ACH return. |
return_code | The code explaining the reason the ACH payment was returned. |
return_desc | The description explaining the reason the ACH payment was returned. This will be a human-readable value that may be presented to the end user. |
amount | The amount captured by the ACH return, in minor units. |
currency_code | Three-letter ISO currency code, in uppercase. Currently, only USD is supported. |
amount_splits | The amount split defined on the associated payin. |
merchant_fees | The ACH return fee billed to the merchant. |
metadata | Valid JSON key-value object specified on the associated payin and persisted to the ACH return. |
created_at | Date 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}.
Updated 17 days ago