pmclain / module-stripe

Stripe Payments for Magento 2
Open Software License 3.0
47 stars 21 forks source link

Order Cancellation Failed #48

Closed TandyCorp closed 6 years ago

TandyCorp commented 6 years ago

I created an order using my own card details to troubleshoot problems with API key error messages. The stripe plugin 'Payment Action' is set to 'Authorize Only' so that orders can be cancelled before payment is fully processed via Stripe.

When trying to cancel the order in Magento I get a message saying 'You have not cancelled the order' then subsequent attempts to cancel the order then result in an error 'Charge xxx has already been refunded.' where xxx = the Stripe transaction reference. It would seem that the first attempt to cancel does indeed cancel the stripe transaction but then does not complete the Magento cancellation process, therefore leaving an order stuck in the Processing state and unable to cancel.

pmclain commented 6 years ago

Is this happening on your store running v1.2.1 of this module on Magento v2.2.3?

TandyCorp commented 6 years ago

Yes that is the one.

pmclain commented 6 years ago

Thanks, I'll try and get a similar environment up to check it out this weekend.

pmclain commented 6 years ago

I didn't have any luck reproducing on a clean install of 2.2.3. Is there anything in the exception.log the first time the cancellation fails?

TandyCorp commented 6 years ago

OK, thanks, no messages in the log I'm afraid until a second attempt to cancel is made when the already refunded message. Just to check, you used the Authorize Only payment option rather than Authorize and Capture? Which log files does your extension log to?

EDIT: What I meant to say is does your extension only put errors in the exception.log or could there be messages in any of the other log files.

pmclain commented 6 years ago

Yes, I was using Authorize Only. The module uses the core Magento logs: exception.log, debug.log, support_report.log. It's difficult to say if the error is coming from this module of somewhere else. Based on the error message the exception is being caught here https://github.com/magento/magento2/blob/f3f8975c3f48ad8d2a3221153bcce9f82a5b84b8/app/code/Magento/Sales/Controller/Adminhtml/Order/Cancel.php#L39 which could be about anything. The exception logged in that line should be in the exception.log.

TandyCorp commented 6 years ago

I guess this can be closed as I can not find anything else to add and you haven't been able to reproduce it. It could be a clash with another extension like M2e pro or something, or something to do with the system having been upgraded many times from the earliest versions of Magento.