Self Check (Web Based) - Queues up multiple payments

Bug #1621990 reported by Josh Stompro
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Evergreen
New
Undecided
Unassigned

Bug Description

EG 2.8.4

In the web based self check interface every time the Pay Fines button is click, the selected transactions are stored. If the pay fines button gets clicked multiple times in one session then all the queued up transactions are sent in to be processed when the "Submit Payment" button is pressed.

We just had a customer that was using the self check for the first time run into this. She clicked on Fines (View Details) button to see her fines. Then she clicked Pay Fines. Next she realized that the form said she was paying the entire balance, she only wanted to pay off enough to get under the fines threshold. So she clicked on View Details again to get back to the fine selection screen. Selected just one fine, and clicked Pay Fines again. She filled out the form and clicked "Submit Payment". She received two receipts, the first one was for paying all the fines, and the second was just for the single fine she choose the first time. Her account how shows a credit of $2 since she payed one fine twice.

I tested this out with my own account, and I saw the same behavior.

We are using the changes in https://bugs.launchpad.net/evergreen/+bug/1494748 to make the pay fines link into a button. I'll test to see if that caused this issue.

Josh

Revision history for this message
Josh Stompro (u-launchpad-stompro-org) wrote :

I tested it after removing the 'pay fine link as button' change and saw the same behavior, so I don't think that is it.
Josh

Revision history for this message
Josh Stompro (u-launchpad-stompro-org) wrote :

We found one other instance of a customer paying twice from the self check, we have been live for about 1 year, so it seems like it doesn't come up all that often.

This query will show over paid billings that were last paid by CC. This helped identify the other instance of this problem for us.

select aou.shortname, au.usrname, au.family_name, au.first_given_name,
mmbxs.balance_owed, mmbxs.last_payment_type
from money.materialized_billable_xact_summary mmbxs
join actor.usr au on mmbxs.usr=au.id
join actor.org_unit aou on aou.id=au.home_ou
where balance_owed < 0
and mmbxs.last_payment_type = 'credit_card_payment'
order by aou.parent_ou, aou.shortname, au.id
;

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.