I have a member who accidentally bought two memberships and there is no clear way to just refund one of the amounts. Seems like a relatively simple task that should be more intuitive.


You will need to initiate refund at iATS gateway and then change the contribution status to refunded in CiviCRM.



  • Hi Pradeep - see Karl's comment below - it appears that admins are no longer able to change the status of a contribution to refunded in CiviCRM Nov 26 '18 at 3:26

We don’t support automated refunds to iATS Payments via CiviCRM at this point; and in fact we recommend that organizations configure their iATS Payments subaccounts 80, 81, etc such that they don’t have refund capabilities. Imagine a disgruntled employee scenario or a hack where people could select all / refund all;

In addition to security concerns - there usually are processes/approvals involved in refunds as well as business logic: should the membership or event registration be canceled or an already issued tax receipt be revoked, etc.

So best to ask user with 01 access to iATSPayments to process the refund; then record it in CiviCRM; most orgs I work with record it as a separate contribution of a negative amount; you could also try change the status of the original contribution to Refunded - but then double check that everything is working properly re: financial transaction/reports you may or may not use.

  • I can easily refund from the iATS admin side. I was hoping that the hourly scheduled jobs for iATS (iatsreport and iatsverify) would then change the status in CiviCRM. I also cannot (easily) change the status to Refunded in the Civi backend unless I'm missing something; any attempt to do so gives "You cannot update this payment as it is tied to a payment processor." I obviously don't want to edit the status field in the DB. Is there an API function (via "API csv Import" extension)? Creating a corresponding negative contribution appears only way to do it right; have 58 fraud donations to rev. Nov 25 '18 at 22:59
  • Hi Karl - can you please file an issue on: github.com/iATSPayments/com.iatspayments.civicrm - now that CiviCRM has decided you can no longer refund a Credit Card Payment we should look at this again. Negative Contributions are actually a good way to do things - many of the larger orgs we work with do prefer that. Nov 26 '18 at 2:17
  • Just added Issue #262 "iATS refund behavior a little awkward" and cross-referenced the discussion here. github.com/iATSPayments/com.iatspayments.civicrm/issues/262 Nov 26 '18 at 14:03
  • Also added a screenshot to the iATSPayments issue on github showing the net $0.00 contribution. By doing it that way, our bookkeeper can actually (hopefully) match up what's going on between Civi, iATS and our bank. Nov 26 '18 at 14:25

@Dylan - Just edit the contribution which you wanted to refund and set the contribution status to Refunded, then update the contribution

Also please make a refund against your Payment processor manually

I guess this helps !!!

  • Tested this solution on my own credit card but I'm still waiting to see the refund does it typically take some time?
    – Dylan
    Jun 13 '18 at 14:41
  • @Dylan Which payment processor are you using? Jun 13 '18 at 14:43
  • iATS / Credit Card
    – Dylan
    Jun 13 '18 at 14:47
  • That only changes the status in CiviCRM. It doesn't actually process a refund through the merchant account. Jun 14 '18 at 7:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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