Braintree has a service that detects failed transactions and requests cards updates from cards issuer. It then returns updated data via a websocket, pulled reports or via individual payment method API that can be used to update Arc stored payment methods.
https://articles.braintreepayments.com/guides/account-updater?_ga=1.2383542.725907751.1615964770
Support for Braintree Account Updater could be direct via a configured webhook in the payment provider settings or indirect via an API to upload batch or individual payment method updates.
A possible workflow for direct integration.
Account enters dunning process because of failed renewal.
Braintree's Account Updater attempts to get updated information from Bank and notifies Arc via webhook that an update is available.
Arc updates payment method.
Arc triggers renewal attempt.
Account is successfully renewed.
Reasoning for having such service: Subscriptions!! We need to retain customers and cut down on any friction to do so.
In the last 30 days (3/16/21 - 2/15/21) we had 4041 declines. There were 1612 unique payment methods for those declines. 774 of these unique payment methods were declined with a reason code that Braintree's Account Updater would have attempted to resolve. That is nearly half of all the problem cards.
Webhook testing: https://developers.braintreepayments.com/guides/webhooks/testing-go-live/node
Example "GrantedPaymentInstrument" from webhook notification..
<granted-payment-instrument-update>
<grant-owner-merchant-id>vczo7jqrpwrsi2px</grant-owner-merchant-id>
<grant-recipient-merchant-id>cf0i8wgarszuy6hc</grant-recipient-merchant-id>
<payment-method-nonce>
<nonce>ee257d98-de40-47e8-96b3-a6954ea7a9a4</nonce>
<consumed type="boolean">false</consumed>
<locked type="boolean">false</locked>
</payment-method-nonce>
<token>abc123z</token>
<updated-fields type="array">
<item>expiration-month</item>
<item>expiration-year</item>
</updated-fields>
</granted-payment-instrument-update>
Hi Richard, I'm following here because I wasn't clear in the scope -- Arc Subscriptions will offer an integration with Braintree Card Updater but will not be exposing an APIs to support self-service updating data for the reasons outlined in the other tickets about data integrity.
Thank you!
Thanks for the suggestion! This work is underway and the core backend service is set to ship with Arc Subscriptions 1.53.