With the current "fast" expiration of credit cards, and the rampant infiltration of card number theft in the US, card information is constantly being updated. Unfortunately, it generally happens only after a recurring gift has failed. We've got the new card info entered using the process as posted here:

Editing Recurring Contributions without user login

However, this does not re-process the current month's transaction that just failed and triggered the, currently manual, process of getting the card info updated. How are others updating the card information and then re-attempting to process the current month's giving?

It seems like a simple "if the card has been updated and is recurring and has failed in the past 30 days, then rerun the contribution attempt." However, simple logic and actual programming are worlds apart.

CiviCRM 4.7, Wordpress, Authorize.net

2 Answers 2


Payment processors handle failed installments differently - currently, Authorize.net will not attempt to re-process a failed installment, but other payment processors might. Also, updates to credit card information can occur proactively without having missed an installment, so the re-process action should be user driven and separate from the card update action (the latest version of the iATS extension allows for the ability to process a contribution for the card on file specifically for this scenario). We have a bit of custom code that allows you to to link a one-time credit card transaction to the recurring contribution ID - it works exactly the same way as linking a contribution to an online contribution page under the "Additional Details" section of the record contribution screen (i.e. there is a select box that will show the recurring contributions based on the contact for whom the contribution is being recorded, by selecting an option from the list, it includes the recurring contribution ID in the values inserted into civicrm_contribution upon clicking "Save").

Hope this helps, Tamar

  • This requires utilizing iATS as the payment processor, correct? Additionally, it doesn't seem that you've verified the plugin as working with 4.7.x yet, correct?
    – G H
    Sep 20, 2016 at 16:39
  • 1
    Our custom code doesn't require iATS - the iATS extension now provides the same functionality directly - our custom code works for authorize.net and PayPal and probably others but we only support those 3 - our custom code is working on 4.7.9 (and probably later), we are also using iATS extension 1.5.3 but there are other issues between iATS and 4.7.X that the developers are still working on. Hope this answers your follow up comment. Sep 20, 2016 at 17:00
  • 1
    What or where is this 'custom code'?
    – petednz - fuzion
    Dec 13, 2016 at 5:07
  • Sorry for the tremendous delay in response - I've been a bit off grid - the custom code is not available as a public extension nor is it mine to distribute - I will need to ask the powers that be and let you know. Feb 27, 2017 at 18:26

This option may be what you're looking for: Automatic Retry



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.