Implementing Retain with Braintree a payment gateway
If you are managing subscriptions on Braintree , implementing Retain is pretty turn key. However, if Braintree is simply your payment gateway and you are managing subscriptions elsewhere, then we recommend implementing a few additional pieces of Retain to ensure good customer UX.
1. Indicate which charges are recurring vs. one time
When you connect ProfitWell to Braintree, Retain will recognize all of the charges happening inside of Braintree. Unfortunately, we won't know which ones are associated with recurring transactions vs. one time transactions. If you have a meaningful volume of one off transactions, you can add a custom field to your charges in Braintree and have us only consider those charges with a specific field.
2. Ensure you're listening to updates in Braintree
ProfitWell Retain will nudge your customers to update their payment information and save it back to their profile in Braintree. However, it's imperative that your application and backend is aware of these updates so that your system can stay in sync with these updates and react accordingly.
You can do this by polling for various information using the Braintree API.
1. When a customer updates their payment information, we first create a payment method with the Payment Method: Create request.
2. We then retry the customer for the amount that failed with the Transaction: Sale request.
3. You can hit the Braintree API to query for transactions with status
processor_declined to find which customers successfully updated their information.
3. Stop Retain for a given customer
Each Retain email will have a unsubscribe link in the footer so that users can tell us to stop reaching out to them. However, you can also have Retain stop all further outreach programmatically via API endpoint. or manually via the UI.