I recently launched a new donation page that allows recurring payments via PayPal Standard. I noticed a couple of recurring contributions had a status of "Pending (Incomplete Transaction)". It turns out both donors had entered "1" in the Installments field. I expect that would either be considered an input error or perhaps it would simply process it like a single payment. I tried it myself and found that the donation page will submit, but PayPal then displays an error:

The link you have used to enter the PayPal system is invalid. Please review the link and try again

I assume the donors simply gave up at that point. I've reached out to both to find out. I suspect they thought the option for a recurring payment was actually a directive, and they entered "1" to ensure they were making a one-time donation.

Is there an option to force the Installments field to accept only values greater than 1?

While I was at it, I decided to try entering a zero in the Installments field. This makes no sense, but you never know what people will try. It actually processed the transaction with a payment. When I look at the transaction on "Find Contributions", it shows it as "Installments: (ongoing)". When I follow the link that is provided in the receipt to update the recurring contribution, it shows "Number of Installments 0".

1 Answer 1


To make it even more confusing -> installments = 0 actually means unlimited/open-ended recurring contributions in CiviCRM.

Your options:

  • Do not expose the installments field (that will then be = 0 or NULL by default > so open-ended).

  • Add some jQuery to check the value of that field give the user a notice that it can not be = 1. How to add jQuery - there are a number of ways to do this - depending on the CMS that you use.

  • Thanks, I had a feeling that 0 was used for Ongoing. Makes sense in the database -- not so much to the user! I can add jQuery. CMS is WordPress. Jul 31, 2018 at 23:14

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.