Payment processor objects can implement the CiviCRM Core method updateSubscriptionBillingInfo to implement payment-processor specific code to update card-on-file type information with the payment processor service, for recurring payments.
iATS Payments Extension did/does just that and thus allowed people to update their own billing/credit card details for recurring contributions. Why is this no longer working?