Details
-
Type: Bug
-
Status: Done/Fixed
-
Priority: Trivial
-
Resolution: Fixed/Completed
-
Affects Version/s: 4.1.1
-
Fix Version/s: 4.2.0
-
Component/s: CiviContribute
-
Labels:None
Description
When A.net recurring payment is received the a.net getIDs function checks to see if the contact_id, contribution_id & subscription number in A.net & in CiviCRM all match. If not the payment is sliently never recorded in CiviCRM.
Unfortunately there are valid reasons' for the contact_id to change (de-duping) and reasons that seem valid to the end user for the original contribution id to be deleted (they entered two by accident & delete the wrong one) which leads to no more contributions ever being shown in CiviCRM (fortunately our customer has been doing some pretty thorough reconciliations!).
I would suggest that once the contribution_recur has been created in CiviCRM the combination of civicrm_contribution_recur.processor_id (generated by A.net) & civicrm_contribution_recur.invoice_id (which should be the same as the invoice_id of the first contribution) would be a more robust & still secure check to do.