We have a client who wants to take a deposit fee for events and have it only processed if the participant is a no show. Is there a way to achieve this with Civi? Should we be talking to the payment processor about this?

We run on the latest version of Drupal 7 and the CiviCRM 5.13.x LTS version.


1 Answer 1


Yes, the answer to this is - it depends on the Payment Processor that you use whether you can do this. With the CiviCRM iATS extension you could have people schedule a recurring contribution with one installment for a date in the future (perhaps the day after your event). What this will do is tokenize the credit card; on the future date the token with an amount are submitted to iATS for payment processing. So all you need to do is then make sure you cancel the recurring series ahead of the future date (for people who did show up).

We developed this for a number of reasons, including the abilty to tokenize card for $1 ahead of fundraising/silent auction events. Then on the evening of the event -> you can process the card on file for any $amount for a fast checkout from within CiviCRM (and of course send a receipt to the donor).

  • 1
    Ahh, seems like a better answer than mine.
    – Demerit
    Commented Sep 2, 2019 at 4:02
  • @KarinG I just had a client ask me about exactly this context. Before I start stumbling down this road, can I ask if you implemented this as a civi extension or overrides of some sort, or was there much done on the CMS side of things?
    – ericG
    Commented Jan 29, 2020 at 20:18
  • Hi Eric - this can be done with native CiviCRM Contribution form and the iATS Payments Extension. If you're already using iATS Payments -> make sure you go to its settings page civicrm/admin/contribute/iatssettings and enable "Enable public selection of future recurring start dates." Commented Jan 30, 2020 at 0:16

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.