Details
-
Type: Bug
-
Status: Done/Fixed
-
Priority: Critical
-
Resolution: Fixed/Completed
-
Affects Version/s: 4.6.9
-
Fix Version/s: 4.7
-
Component/s: CiviPledge
-
Labels:
-
Documentation Required?:None
-
Funding Source:Contributed Code
Description
When an online pledge payment is made, the scheduled amount is credited for each payment check box selected regardless of the actual amount paid. For example, if the next pending pledge payment due is $100, and a pledge payment of $50 is made, the full $100 amount is credited to the pledge.
Obviously, this is a significant error in pledge processing and, to my astonishment, it has always worked this way.
To reproduce on the demo site:
- Create a contribution page with the pledge option enabled and use the Test payment processor.
- Create a new pledge of $1200 at $100 per month starting 1/1/2015 and select the Self-service Payments Page
- Go to the online pledge payment URL: /civicrm/contribute/transact?reset=1&id=[contrib page id]&cid=[contact id]&pledgeId=[pledge id]
- Enter a payment amount of $50 and leave all pledge payment check boxes checked.
- Submit the contribution using Visa #4111111111111111, exp: 05/2016, cvv2: 000
- Go to the Pledge tab for the contact and notice that $100 has been credited for each of the overdue payments and the next scheduled payment, even though only $50 was paid.
I have coded a fix for this problem and will attach a patch shortly.