I hired a ghostwriter for $133. She did a great job but did less than we expected.
We both agreed I'd pay her $93 which I did through Upwork.
I assumed I was finished with this contract.
Now 2 weeks later, I got charged the $133 on top of what I already gave her ($93).
How do I prevent this from happening again and how do I get my $133 back? She is very nice and will not dispute this and we have it all documented in the job diary.
I wonder if you made the first payment as a bonus rather than as an adjusted settlement to the fixed-price contract.
The two week (14 days) waiting period before the agreed-upon amount was automatically paid tells the payment was still in play. This is the normal functioning of fixed-price contracts if the client does not issue a payment.
You could have issued the payment for any amount you wanted to pay, as the payment for the contract, and that should have stopped any subsequent payment.
Whatever the reason, your contractor should be able to issue a $133 refund to you from her contractor-side interface.
Preston is correct, if you have money funded in Escrow, it is better to make a payment by releasing it, or part of it to the freelancer instead of paying a bonus. Once you release the payment, you can end the contract and request for the remaining of the escrowed money to be refunded to you.
At this point, you can just ask the freelancer to issue a refund.
Please, check out this help article for more information.