Here's the situation:
Customer ordered product and selected a shipping type. AbleCommerce posted the capture to the payment gateway but the credit card server didn't respond quickly enough and AbleCommerce returned a timeout error. However, behind the scenes, the credit card server eventually did successfully process the capture.
Normally, this would not be a problem since we would simply change the payment status in AbleCommerce to finish processing the order. But, the customer realized that they selected the incorrect shipping type and requested that it be changed (resulting in lower total bill than what was captured).
We were able to change the shipping and AbleCommerce calculated the correct total bill, but the credit card server had already billed the customer the first amount.
Now, because of the timeout error and subsequent adjustment of statuses, we're unable to issue a refund of the difference between the two amounts. We've tried "Add a new payment" but after clicking the "Process" button, there was no response. By "no response" I mean other than the "Process" button moving down and back up, there were no other changes to the page and no transactions showed up on the credit card server.
Any ideas?
Refund question
Re: Refund question
Ok, problem solved. Since the transaction had gone through the credit card server successfully, I went into the Transactions table and modified the "Capture" record for the order. I gave it the ProviderTransactionId from the credit card server and updated the rest of the status fields.
That enabled the "Issue Refund" option for the order. After that, the refund went through normally.
That enabled the "Issue Refund" option for the order. After that, the refund went through normally.