Mac Fly Posted October 4, 2020 Posted October 4, 2020 We are having some issues with Papal and orders not recording in the backend. Received a Paypal email saying payment received. On checking the orders page there is no sign of the order. I can see the IPN in the paypal log with all the usual details but no record of the order in the database. The order numbers have continued on past the number that has disappeared but this is really unusual given that the payment was processed correctly. Normally if the customer goes to paypal and the shop does not receive payment confirmation the order will sit at "preparing paypal standard" but in this case the order has disappeared altogether following a sucessful payment. Anyone else having this issue and if so have you found out what's causing it? We've had it happen twice in the last two weeks. Prior to this is was a months ago so very intermittent. Paypal app version v5.018 Running 2.3.4 bootstrap with latest paypal module installed. Quote
BrockleyJohn Posted October 4, 2020 Posted October 4, 2020 Have you got an up-to-date certificate in the ext directory? See Quote Contact me for work on updating existing stores - whether to Phoenix or the new osC when it's released. Looking for a payment or shipping module? Maybe I've already done it. Working on generalising bespoke solutions for Quickbooks integration, Easify integration and pay4later (DEKO) integration at 2.3.x
Mac Fly Posted October 4, 2020 Author Posted October 4, 2020 Thanks for reply @BrockleyJohn, I do. That solved that particular issue at the time. Quote
BrockleyJohn Posted October 4, 2020 Posted October 4, 2020 Check the settings within the paypal account - if the return URL is wrong you will get that effect if the customer returns to the site before the IPN arrives. Do you still get any paypal orders which do work? Do you get logs of notify_sync events? Quote Contact me for work on updating existing stores - whether to Phoenix or the new osC when it's released. Looking for a payment or shipping module? Maybe I've already done it. Working on generalising bespoke solutions for Quickbooks integration, Easify integration and pay4later (DEKO) integration at 2.3.x
Mac Fly Posted October 5, 2020 Author Posted October 5, 2020 It all works as normal 99.99% of the time. We have about 60 - 70 orders per day with about 50% coming from Paypal. Yes we receive the notify_sync events in the logs. Sometimes this comes back before the IPN and visa versa and all works as it should. In the most recent case we only received the IPN in the logs but no record of the order on the orders page. There must be some sort of glitch in the database to cause the order to erase itself rather than update. Very hard to debug. Seems it has happened to others in the past with the same version of oscommerce and paypal app. ( thread is archived, hence this new one ) Quote
Mac Fly Posted October 5, 2020 Author Posted October 5, 2020 The IPN signal came back 21 seconds after payment was received in the Paypal backend and there was no other order within 5 minutes either side so no conflicts there. Quote
BrockleyJohn Posted October 5, 2020 Posted October 5, 2020 1 hour ago, Mac Fly said: It all works as normal 99.99% of the time. We have about 60 - 70 orders per day with about 50% coming from Paypal. Yes we receive the notify_sync events in the logs. Sometimes this comes back before the IPN and visa versa and all works as it should. In the most recent case we only received the IPN in the logs but no record of the order on the orders page. There must be some sort of glitch in the database to cause the order to erase itself rather than update. Very hard to debug. Seems it has happened to others in the past with the same version of oscommerce and paypal app. ( thread is archived, hence this new one ) The other thread's not much help though, is it. I believe the only way for the order to disappear is for the customer to come back to checkout_payment before the IPN hits. This could happen in the normal flow if they hit an error in checkout_process (eg. because of the cert) or it could also happen if they somehow (eg. with the back button or another open tab) get there by themselves. To get to the bottom of it, I think you're going to have to start digging through the site access logs and figure out what path they took through the site pages. If we know that we might stand a chance of deducing the cause. Quote Contact me for work on updating existing stores - whether to Phoenix or the new osC when it's released. Looking for a payment or shipping module? Maybe I've already done it. Working on generalising bespoke solutions for Quickbooks integration, Easify integration and pay4later (DEKO) integration at 2.3.x
burt Posted October 5, 2020 Posted October 5, 2020 It's a remote possibility but the Order may be in the database without a numeric status. No numeric status means it would not show in the Order List, but everything else would be normal (emails sent, paypal received etc). Quote
BrockleyJohn Posted October 5, 2020 Posted October 5, 2020 2 minutes ago, burt said: It's a remote possibility but the Order may be in the database without a numeric status. No numeric status means it would not show in the Order List, but everything else would be normal (emails sent, paypal received etc). I've only seen this when there was a glitch on the edit order page but it's definitely worth checking. It's a good idea to create an order status record with id 0 and suitable text (eg. error - needs manual reset) to prevent orders disappearing from the list. Quote Contact me for work on updating existing stores - whether to Phoenix or the new osC when it's released. Looking for a payment or shipping module? Maybe I've already done it. Working on generalising bespoke solutions for Quickbooks integration, Easify integration and pay4later (DEKO) integration at 2.3.x
burt Posted October 5, 2020 Posted October 5, 2020 1 minute ago, BrockleyJohn said: It's a good idea to create an order status record with id 0 and suitable text (eg. error - needs manual reset) to prevent orders disappearing from the list. It maybe an idea to add such a thing into Core. Thoughts ? Quote
Mac Fly Posted October 5, 2020 Author Posted October 5, 2020 Thank you both for the replies. It could very well be caused by the actions of the customer. I'll take a look at the access logs Quote
♥ecartz Posted October 5, 2020 Posted October 5, 2020 29 minutes ago, burt said: It maybe an idea to add such a thing into Core. Thoughts ? It might be easier just to remove the requirement that the order status exist. LEFT JOIN orders_status s ON o.orders_status = s.orders_status_id AND s.language_id = " . (int)$languages_id . " WHERE Also consider the case where the missing order status is not 0. burt 1 Quote Always back up before making changes.
BrockleyJohn Posted October 5, 2020 Posted October 5, 2020 14 minutes ago, ecartz said: It might be easier just to remove the requirement that the order status exist. LEFT JOIN orders_status s ON o.orders_status = s.orders_status_id AND s.language_id = " . (int)$languages_id . " WHERE Also consider the case where the missing order status is not 0. that's more owner-proof Quote Contact me for work on updating existing stores - whether to Phoenix or the new osC when it's released. Looking for a payment or shipping module? Maybe I've already done it. Working on generalising bespoke solutions for Quickbooks integration, Easify integration and pay4later (DEKO) integration at 2.3.x
Mac Fly Posted October 5, 2020 Author Posted October 5, 2020 (edited) 2 hours ago, BrockleyJohn said: it could also happen if they somehow (eg. with the back button or another open tab) get there by themselves. Looking at the logs this is exactly what happened. They have somehow got back to checkout_payment page after they completed payment on Paypal and got back to this page before the IPN causing the order to delete. Most likely they used the back button. Next question is how can we stop this from happening? A message on the paypal page after payment is made to say ' DO NOT USE BACK BUTTON' would probably do the trick Edited October 5, 2020 by Mac Fly Quote
BrockleyJohn Posted October 5, 2020 Posted October 5, 2020 If you were to change the paypal code not to delete the order but create a new one every time in checkout_payment, it wouldn't happen but you will end up with many more Preparing status orders than you already have. You could try putting up a message telling people not to hit Back after paying, but it may affect confidence in your checkout. If people have just started doing this, it may reflect an issue with Paypal's platform being slow or glitchy right now and that might sort itself out with a bit of luck. Quote Contact me for work on updating existing stores - whether to Phoenix or the new osC when it's released. Looking for a payment or shipping module? Maybe I've already done it. Working on generalising bespoke solutions for Quickbooks integration, Easify integration and pay4later (DEKO) integration at 2.3.x
Mac Fly Posted October 5, 2020 Author Posted October 5, 2020 (edited) 36 minutes ago, BrockleyJohn said: If you were to change the paypal code not to delete the order but create a new one every time in checkout_payment, it wouldn't happen but you will end up with many more Preparing status orders than you already have. I'd rather not do this. I'd end up manually checking all orders that are Preparing status to see if Payment was received in our Paypal account. Too much work for 1 / 1000 chance of the issue happening. 36 minutes ago, BrockleyJohn said: You could try putting up a message telling people not to hit Back after paying, but it may affect confidence in your checkout. I meant for Paypal to have this on their page after payment is made, the one with the countdown timer to return to site. This is pretty much a standard notice on a lot of Payment providers payment complete pages. It could even be already there. I'll check later. If not I'll send them an email though wouldn't have high hopes for a response. 36 minutes ago, BrockleyJohn said: If people have just started doing this, it may reflect an issue with Paypal's platform being slow or glitchy right now and that might sort itself out with a bit of luck. Don't think it's new issue. The previous thread above is from 2017. Thank you all for your replies and time. Edited October 5, 2020 by Mac Fly Quote
Mac Fly Posted October 5, 2020 Author Posted October 5, 2020 Just ran a test to see if i could replicate the problem. Using the back button after payment was paid on Papal i was able to get back to checkout_payment page but the IPN got back before me so order didn't erase. There is no message on paypal page to say do not use back button. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.