API Reference
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.
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
Example Response Body
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
Example Response Body
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.
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
Example Response Body
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
Example Response Body
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
Example Response Body