omise / omise-magento

Omise Magento Plugin
https://docs.opn.ooo/magento-plugin
MIT License
34 stars 19 forks source link

QR Payment Not being marked as paid once completed #270

Closed mcerss1 closed 4 years ago

mcerss1 commented 4 years ago

Steps to reproduce Customer places order on magento and chooses QR payment as payment method Order is placed and marked in magento as payment pending Customer then scans the QR code and completes payment

Expected behaviour Once payment is complete the invoice in magento should be marked as complete.

Actual behaviour Invoice still marked as payment pending after successful payment

Tested on magento 2.3.4.p2 Nginx php 7.2

mayurkathale commented 4 years ago

Thank you for reporting this bug.

Could you please let us know if this happens for every order with QR payment?

mcerss1 commented 4 years ago

Yes, We have had 4 orders in the past 24 hours and no of them have updated. I have had to cancel invoice and make a new invoice with offline payment.

mayurkathale commented 4 years ago

Thanks for the information. Will investigate and fix it asap.

mayurkathale commented 4 years ago

@mcerss1 I was unable to reproduce the issue, Can you please check if webhook is executing properly? you may check this in Omise Dashboard > Webhooks.

mcerss1 commented 4 years ago

@mayurkathale Webhook are working correctly. Could it be that we are multi store? I notice that you can only add one webhook You can check event ID "id": "evnt_5l5jodz7pus2dyvfx5x",

mayurkathale commented 4 years ago

@mcerss1 Thank for the information again. I was able to reproduce this issue for Multi store setup. I'll try to fix asap and get back to you.

mayurkathale commented 4 years ago

@mcerss1 Please ignore my previous message as I was able to place order successfully for multi-store after removing some glitch in my setup. Single webhook URL works fine for both of the stores. Note: I am using latest version of Omise-Plugin. If you are using older plugin please try to update to latest one. There was an issue(https://github.com/omise/omise-magento/pull/254) with wehbooks in the past which got fixed in Plugin version 2.11.

mcerss1 commented 4 years ago

@mayurkathale I am using omise-php plugin version 2.11.1

Can you confirm that you have the webhook with the multi store code or without? i.e www.website.com/en/omise/callback/webhook/ or www.website.com/omise/callback/webhook/

mayurkathale commented 4 years ago

@mcerss1 I am using without store code. I would like to know your Omise Magento Plugin version as well.

mcerss1 commented 4 years ago

@mayurkathale its v2.12 _(Aug 25, 2020)

I found the problem. You must use without the store code. However in payment settings of Magento, under Omise payment, It lists Webhook URL with the default storecode. Like this https://www.xxx.co.th/th/omise/callback/webhook/

Maybe you can just update the backend setting to show the webhook with the default store code.

mayurkathale commented 4 years ago

@mcerss1 It is working for me in both cases i.e. with store code and without store code. I have tried using 'store A' store code in webhook URL for order from 'store B' and vice-versa, still found works for both. Is it possible for you to check adding some logger in Webhook action in order to check request for further investigation.

mcerss1 commented 4 years ago

@mayurkathale Please as its stopped working again. I also have a shipping module which fires through the event checkout_onepage_controller_success_action but cant see how that would be effecting it.

mayurkathale commented 4 years ago

@mcerss1 Please try to debug Webhook Omise\Payment\Controller\Callback\Webhook->execute() to check if it is executing correctly.

I'll close this issue as unable to reproduce.