Details
Description
When paid participation is changed in such a way that the participant still has to pay something the state is moved to "Pending Refund" instead of "Partially Paid"
With the following scenario this can be reproduced (I tried this on the demo site).
I configured an event with no payment processors and the pay later option enabled. This is typical for a small Dutch conference, payments are done with electronic bank transfer and registered manual. The event has priceset configured with one mandatory and one optional component.
Now I execute the following actions.
A participants registers online for only the mandatory component.
In CiviCrm a registration is created with the status "Pending from pay later"
and a connected Contribution with the status "Pending (Pay Later)"
Now the payment is recorded in the backoffice by using the "Edit Event Registration Screen" -> Pay Later Option.
I set the payment status to completed
I get a confirmation screen and I agree. The associated contribution also moves to completed.
The participant status is still "Pending from Pay later" but I manually change it to Registered.
So far, so good.
But now I change the selection of the registration to add the optional component of the event.
In the production situation this the processing of a email that the participant also wants the optional component.
(Or even a bank transfer, where in the remark field the optional component is selected).
The following happens
The participant status moves to "Partial Paid" that is correct.
The balance now the amount of the optional component, that is correct.
But the status of the contribution is "Pending refund" while I expect "Partially paid"
and in the Payment screen I see four Payments (see screenshot).
Now when I try to record a Payment, it looks if it has no effect and it is added to the transactions with the status "Pending Refund"