Here's the Problem:
We have enabled partial payments for our events and use the User Panel "Pay Now" feature to allow users to make subsequent payments on their registration. I created a test user to test it and here's what I found:
If you click on "pay now" and select either partial payment or full amount, then click "next step" you get this error message:
Warning: Invalid argument supplied for foreach() in /nfs/c08/h03/mnt/120205/domains/academicexpeditions.com/html/administrator/components/com_dtregister/models/event.php on line 661
(This is a new problem that just started with 2.7.13 - the real lingering issue is still to come) But you can still see the payment fields below.
If a user decides to back out of the transaction (which is likely considering it does not show how much they are being billed, and this new error message above), and hits the browser's "Back" button, it takes them to a page (now with even more error messages, and no instructions) where they only button options are "back" and "next step". If you click on "next step" something very detrimental happens:
DT Register goes ahead and processes the payment (whether it was the full amount or partial amount) without ever going to the payment gateway. So, it actually records the payment in the records, and auto-generates the confirmation email to the user that they made the payment, but NO payment was ever made since it never went through the payment gateway. So you get no money, but the records and the confirmation emails say that the user actually did pay! And there's no way to catch this error, on either the user or administrator end, unless you go through the tedious process of matching DT Register confirmation messages with your Payment Gateway records to find inconsistencies.
And that's not all!
At the same time DT Register produces this fraudulent payment, it duplicates the user as a new registrant under the same user name, also with the fraudulent payment processed. So in the end, you end up with two payments that don't exist, and one new registrant that does not exist.
Please investigate and post if you are having the same issue.