Recover
Enterprise API Integration

API Reference

11min

Recover Enterprise API

The Recover Enterprise API offers an endpoint for sending payment events—both successful and failed. This endpoint is designed to be source-agnostic, working seamlessly with any payment service provider.

Please review the Authentication documentation for how to securly connect to Recover APIs.

POST: Payments

The Payments API is an HTTP endpoint that handles standardized payment events forwarded from a merchant's payment processing system.

Please check the Recover Payment Object Properties for additional descriptions of required and optional properties.

Example URL

https://api.butterpayments.com/payments

Example Request Body

JSON


Example Response Body

JSON


POST: Payment Method Update

This endpoint allows merchants to notify Recover of updates to a customer's payment method. Whenever a payment method is added, updated, or removed, the event should be forwarded to this endpoint. These updates are crucial as changes in payment methods influence the calculation of the optimal retry time.

Example URL

https://api.butterpayments.com/payment_method_updates

Example Request Body

JSON


Example Response Body

JSON



Merchant Endpoints

To integrate with the Recover Enterprise API effectively, merchants must provision specific endpoints. These endpoints are essential for maintaining consistency in payment recovery and ensuring accurate payment reconciliation.

Please review the Merchant API Authentication section for details on what schemes Butter systems currently support.

POST: RetryStatus

The RetryStatus endpoint, provided by the merchant, determines whether an invoice is eligible for retry. Before initiating a retry, the Recover service calls this endpoint as a final security check prior to submitting the transaction.

This check is crucial because various changes can occur to an invoice between the time it is sent to Recover and when a retry is attempted. Depending on what Recover's underlying models determine to be optimal, this interval may range from hours to days. One of the most common reasons to cancel a retry during this period is if the user cancels their subscription.

Example URL

https://api.<merchant-url>/retry/<invoice-id>

Example Request Body

JSON


Example Response Body

JSON


POST: RetryResults

The RetryResults endpoint acts as a webhook consumer for Retry events, providing real-time visibility into the operations of the Recover system. These events deliver detailed information about each retry attempt, including its outcome, enabling merchants to reconcile their systems efficiently.

Example URL

https://api.<merchant-url>/retry-results

Example Request Body

JSON


Example Response Body

JSON


POST: EndOfDunning

Recover will send webhooks to this endpoint via HTTP POST requests when the dunning process is complete. This signifies the end of the retry window, after which the Recover service will cease any further payment retry attempts.

Example URL

https://api.<merchant-url>/end-of-dunning

Example Request Body

JSON


Example Response Body

JSON