I have had a very few customers in the last two days say that the PayPal Express checkout just hangs and never completes the payment. I tried myself on the live site (not test mode) and had the same problem.
I have cleared my browser cache and paypal cookies and cleared the OC caches to no avail.
I am guessing it's a PayPal glitch but wonder if other have seen this issue?
Looking in the error log I see it may have been happening since early November. I have made absolutely no changes to my site recently.
Some customers tried again later and were successful, others are lost, maybe forever.
All I see in the error log for a failed transaction is something like (shortened for clarity:
2019-11-17 10:11:45 - PayPal Express debug (Call data): {"METHOD":"SetExpressCheckout","...
2019-11-17 10:11:46 - PayPal Express debug (Result): "TOKEN=EC%2d6RH21455Y32667808&TIMESTAMP=2019%2d11%2d17T10%3a11%3a45Z&CORRELATIONID=cea23939359a&ACK=Success&VERSION=109%2e0&BUILD=53823268"
A successful transaction has further Call/Result log entries:
2019-11-17 10:25:50 - PayPal Express debug (Call data): {"METHOD":"GetExpressCheckoutDetails","TOKEN":"EC-4R454886E6234344J"}...
2019-11-17 10:25:51 - PayPal Express debug (Result): "TOKEN=EC%2d4R454886E6234344J&BILLINGAGREEMENTACCEPTEDSTATUS=0&CHECKOUTSTATUS=PaymentActionNotInitiated&TI...
2019-11-17 10:25:51 - PayPal Express debug (Call data): {"TOKEN":"EC-4R454886E6234344J","PAYERID":"RATTKK8VDCTR8","METHOD":"DoExpressCheckoutPayment","...
2019-11-17 10:25:53 - PayPal Express debug (Result): ...
2019-11-17 10:26:19 - PayPal Express debug (IPN data): {"request":"cmd=_notify-validate&mc_gross=90.00&protection_eligibility=Eligible&address_status=confirmed...
2019-11-17 10:26:19 - PayPal Express debug (IPN data): "Transaction exists"
2019-11-17 10:26:19 - PayPal Express debug (IPN data): "cart"
Can anyone offer any help?
and this deduction:
is premature given this observation:Feedback from one customer is that the issue does not occur with Internet Explorer, so it might not be a PayPal issue after all.
and the fact that statistically "one customer" is a very small sample set.Some customers tried again later and were successful, others are lost, maybe forever.
Crystal Light Centrum Taiwan
Extensions: MailQueue | SUKHR | VBoces
“Data security is paramount at [...], and we are committed to protecting the privacy of anyone who is associated with our [...]. We’ve made a lot of improvements and will continue to make them.”
When you know your life savings are gone.
More tests show that IE certainly seems to be at least part of the answer. We don't know which browser customers used for their successful order. They may well have switched to IE which would tend to validate my deduction, rather than make it premature.
2019-11-13 20:23:00 - PayPal Express debug (Call data): {"METHOD":"SetExpressCheckout","MAXAMT":82.5,"RETURNURL":"https:\/\/www.sprog-dcc.co.uk\/index.php?route=extension\/payment\/pp_express\/checkoutReturn","CANCELURL":"https:\/\/www.sprog-dcc.co.uk\/index.php?route=checkout\/checkout","REQCONFIRMSHIPPING":0,"NOSHIPPING":0,"LOCALECODE":"EN","LANDINGPAGE":"Login","HDRIMG":"https:\/\/www.sprog-dcc.co.uk\/image\/cache\/catalog\/SprogDCC300-750x90.jpg","PAYFLOWCOLOR":"","CHANNELTYPE":"Merchant","ALLOWNOTE":"0","PAYMENTREQUEST_0_SHIPTONAME":< Customer data removed >,"ADDROVERRIDE":1,"PAYMENTREQUEST_0_SHIPPINGAMT":"","PAYMENTREQUEST_0_CURRENCYCODE":"GBP","PAYMENTREQUEST_0_PAYMENTACTION":"Sale","L_PAYMENTREQUEST_0_DESC0":"","L_PAYMENTREQUEST_0_NAME0":"Pi-SPROG One","L_PAYMENTREQUEST_0_NUMBER0":"Pi-SPROG One","L_PAYMENTREQUEST_0_AMT0":55,"L_PAYMENTREQUEST_0_QTY0":"1","L_PAYMENTREQUEST_0_ITEMURL0":"http:\/\/www.sprog-dcc.co.uk\/pi-sprog-one","L_PAYMENTREQUEST_0_ITEMWEIGHTVALUE0":"0.03","L_PAYMENTREQUEST_0_ITEMWEIGHTUNIT0":"kg","L_PAYMENTREQUEST_0_NUMBER1":"shipping","L_PAYMENTREQUEST_0_NAME1":"International Standard (Weight: 0.03kg)","L_PAYMENTREQUEST_0_AMT1":6,"L_PAYMENTREQUEST_0_QTY1":1,"PAYMENTREQUEST_0_ITEMAMT":"61.00","PAYMENTREQUEST_0_AMT":"61.00"}
2019-11-13 20:23:01 - PayPal Express debug (Result): "TOKEN=EC%2d71L5548767423550K&TIMESTAMP=2019%2d11%2d13T20%3a23%3a00Z&CORRELATIONID=8458c51ea3662&ACK=Success&VERSION=109%2e0&BUILD=53823268"
2019-11-13 20:23:31 - PayPal Express debug (Call data): {"METHOD":"GetExpressCheckoutDetails","TOKEN":"EC-71L5548767423550K"}
2019-11-13 20:23:31 - PayPal Express debug (Result): "TOKEN=EC%2d71L5548767423550K&BILLINGAGREEMENTACCEPTEDSTATUS=0&CHECKOUTSTATUS=PaymentActionNotInitiated&TIMESTAMP=2019%2d11%2d13T20%3a23%3a30Z&CORRELATIONID=b7d4e2aeea336&ACK=Success&VERSION=109%2e0&BUILD=53823268&EMAIL=bvandermeulen%40live%2enl&PAYERID=AH46LGLU4SZG8&PAYERSTATUS=verified&FIRSTNAME=< Customer data removed >&LASTNAME=< Customer data removed >&COUNTRYCODE=< Customer data removed >&SHIPTONAME=< Customer data removed >&ADDRESSSTATUS=Confirmed&CURRENCYCODE=GBP&AMT=61%2e00&ITEMAMT=61%2e00&SHIPPINGAMT=0%2e00&HANDLINGAMT=0%2e00&TAXAMT=0%2e00&INSURANCEAMT=0%2e00&SHIPDISCAMT=0%2e00&INSURANCEOPTIONOFFERED=false&L_NAME0=Pi%2dSPROG%20One&L_NAME1=International%20Standard%20%28Weight%3a%200%2e03kg%29&L_NUMBER0=Pi%2dSPROG%20One&L_NUMBER1=shipping&L_QTY0=1&L_QTY1=1&L_TAXAMT0=0%2e00&L_TAXAMT1=0%2e00&L_AMT0=55%2e00&L_AMT1=6%2e00&L_ITEMWEIGHTVALUE0=0%2e03&L_ITEMWEIGHTUNIT0=kg&PAYMENTREQUEST_0_CURRENCYCODE=GBP&PAYMENTREQUEST_0_AMT=61%2e00&PAYMENTREQUEST_0_ITEMAMT=61%2e00&PAYMENTREQUEST_0_SHIPPINGAMT=0%2e00&PAYMENTREQUEST_0_HANDLINGAMT=0%2e00&PAYMENTREQUEST_0_TAXAMT=0%2e00&PAYMENTREQUEST_0_INSURANCEAMT=0%2e00&PAYMENTREQUEST_0_SHIPDISCAMT=0%2e00&PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID=sprog%40sprog%2ddcc%2eco%2euk&PAYMENTREQUEST_0_INSURANCEOPTIONOFFERED=false&PAYMENTREQUEST_0_SHIPTONAME=< Customer data removed >&PAYMENTREQUEST_0_ADDRESSSTATUS=Confirmed&L_PAYMENTREQUEST_0_NAME0=Pi%2dSPROG%20One&L_PAYMENTREQUEST_0_NAME1=International%20Standard%20%28Weight%3a%200%2e03kg%29&L_PAYMENTREQUEST_0_NUMBER0=Pi%2dSPROG%20One&L_PAYMENTREQUEST_0_NUMBER1=shipping&L_PAYMENTREQUEST_0_QTY0=1&L_PAYMENTREQUEST_0_QTY1=1&L_PAYMENTREQUEST_0_TAXAMT0=0%2e00&L_PAYMENTREQUEST_0_TAXAMT1=0%2e00&L_PAYMENTREQUEST_0_AMT0=55%2e00&L_PAYMENTREQUEST_0_AMT1=6%2e00&L_PAYMENTREQUEST_0_ITEMLENGTHVALUE0=0%2e03&L_PAYMENTREQUEST_0_ITEMLENGTHUNIT0=kg&PAYMENTREQUESTINFO_0_ERRORCODE=0"
2019-11-13 20:23:31 - PayPal Express debug (Call data): {"TOKEN":"EC-71L5548767423550K","PAYERID":"AH46LGLU4SZG8","METHOD":"DoExpressCheckoutPayment","PAYMENTREQUEST_0_NOTIFYURL":"https:\/\/www.sprog-dcc.co.uk\/index.php?route=extension\/payment\/pp_express\/ipn","RETURNFMFDETAILS":1,"PAYMENTREQUEST_0_SHIPPINGAMT":"","PAYMENTREQUEST_0_CURRENCYCODE":"GBP","PAYMENTREQUEST_0_PAYMENTACTION":"Sale","L_PAYMENTREQUEST_0_DESC0":"","L_PAYMENTREQUEST_0_NAME0":"Pi-SPROG One","L_PAYMENTREQUEST_0_NUMBER0":"Pi-SPROG One","L_PAYMENTREQUEST_0_AMT0":55,"L_PAYMENTREQUEST_0_QTY0":"1","L_PAYMENTREQUEST_0_ITEMURL0":"http:\/\/www.sprog-dcc.co.uk\/pi-sprog-one","L_PAYMENTREQUEST_0_ITEMWEIGHTVALUE0":"0.03","L_PAYMENTREQUEST_0_ITEMWEIGHTUNIT0":"kg","L_PAYMENTREQUEST_0_NUMBER1":"shipping","L_PAYMENTREQUEST_0_NAME1":"International Standard (Weight: 0.03kg)","L_PAYMENTREQUEST_0_AMT1":6,"L_PAYMENTREQUEST_0_QTY1":1,"PAYMENTREQUEST_0_ITEMAMT":"61.00","PAYMENTREQUEST_0_AMT":"61.00"}
2019-11-13 20:23:34 - PayPal Express debug (Result): "TOKEN=EC%2d71L5548767423550K&SUCCESSPAGEREDIRECTREQUESTED=false&TIMESTAMP=2019%2d11%2d13T20%3a23%3a33Z&CORRELATIONID=d71c9bbaffa8c&ACK=Success&VERSION=109%2e0&BUILD=53823268&INSURANCEOPTIONSELECTED=false&SHIPPINGOPTIONISDEFAULT=false&PAYMENTINFO_0_TRANSACTIONID=54F36592JJ4865333&PAYMENTINFO_0_TRANSACTIONTYPE=cart&PAYMENTINFO_0_PAYMENTTYPE=instant&PAYMENTINFO_0_ORDERTIME=2019%2d11%2d13T20%3a23%3a32Z&PAYMENTINFO_0_AMT=61%2e00&PAYMENTINFO_0_FEEAMT=2%2e37&PAYMENTINFO_0_TAXAMT=0%2e00&PAYMENTINFO_0_CURRENCYCODE=GBP&PAYMENTINFO_0_EXCHANGERATE=0%2e820473099350864&PAYMENTINFO_0_PAYMENTSTATUS=Completed&PAYMENTINFO_0_PENDINGREASON=None&PAYMENTINFO_0_REASONCODE=None&PAYMENTINFO_0_PROTECTIONELIGIBILITY=Eligible&PAYMENTINFO_0_PROTECTIONELIGIBILITYTYPE=ItemNotReceivedEligible%2cUnauthorizedPaymentEligible&PAYMENTINFO_0_SELLERPAYPALACCOUNTID=sprog%40sprog%2ddcc%2eco%2euk&PAYMENTINFO_0_SECUREMERCHANTACCOUNTID=KJUYGADT3T95G&PAYMENTINFO_0_ERRORCODE=0&PAYMENTINFO_0_ACK=Success"
2019-11-13 20:23:52 - PayPal Express debug (IPN data): {"request":"cmd=_notify-validate&mc_gross=61.00&protection_eligibility=Eligible&address_status=confirmed&item_number1=Pi-SPROG+One&tax=0.00&item_number2=shipping&payer_id=AH46LGLU4SZG8&address_street=< Customer data removed >&payment_date=12%3A23%3A32+Nov+13%2C+2019+PST&payment_status=Completed&charset=windows-1252&address_zip=6042XJ&mc_shipping=0.00&mc_handling=0.00&first_name=< Customer data removed >&mc_fee=2.37&address_country_code=< Customer data removed >&address_name=< Customer data removed >¬ify_version=3.9&custom=&payer_status=verified&business=sprog%40sprog-dcc.co.uk&address_country=< Customer data removed >&num_cart_items=2&address_city=< Customer data removed >&verify_sign=ADfekIIzp-qum2czk1rJMnxPQ-7QAwnrno4OK0iGubpiTsVwUchdvVDE&payer_email=< Customer data removed >&tax1=0.00&tax2=0.00&txn_id=54F36592JJ4865333&payment_type=instant&last_name=< Customer data removed >&item_name1=Pi-SPROG+One&receiver_email=sprog%40sprog-dcc.co.uk&item_name2=International+Standard+%28Weight%3A+0.03kg%29&payment_fee=&shipping_discount=0.00&quantity1=1&insurance_amount=0.00&quantity2=1&receiver_id=KJUYGADT3T95G&txn_type=cart&discount=0.00&mc_gross_1=55.00&mc_currency=GBP&mc_gross_2=6.00&residence_country=< Customer data removed >&shipping_method=Default&transaction_subject=&payment_gross=&ipn_track_id=d71c9bbaffa8c","response":"VERIFIED"}
2019-11-13 20:23:52 - PayPal Express debug (IPN data): "Transaction exists"
2019-11-13 20:23:52 - PayPal Express debug (IPN data): "cart"
And a failed attempt:
2019-11-17 12:18:44 - PayPal Express debug (Call data): {"METHOD":"SetExpressCheckout","MAXAMT":90,"RETURNURL":"https:\/\/www.sprog-dcc.co.uk\/index.php?route=extension\/payment\/pp_express\/checkoutReturn","CANCELURL":"https:\/\/www.sprog-dcc.co.uk\/index.php?route=checkout\/checkout","REQCONFIRMSHIPPING":0,"NOSHIPPING":0,"LOCALECODE":"EN","LANDINGPAGE":"Login","HDRIMG":"https:\/\/www.sprog-dcc.co.uk\/image\/cache\/catalog\/SprogDCC300-750x90.jpg","PAYFLOWCOLOR":"","CHANNELTYPE":"Merchant","ALLOWNOTE":"0","PAYMENTREQUEST_0_SHIPTONAME":< Customer data removed >,"ADDROVERRIDE":1,"PAYMENTREQUEST_0_SHIPPINGAMT":"","PAYMENTREQUEST_0_CURRENCYCODE":"GBP","PAYMENTREQUEST_0_PAYMENTACTION":"Sale","L_PAYMENTREQUEST_0_DESC0":"","L_PAYMENTREQUEST_0_NAME0":"SBOOST II","L_PAYMENTREQUEST_0_NUMBER0":"SBOOST II","L_PAYMENTREQUEST_0_AMT0":60,"L_PAYMENTREQUEST_0_QTY0":"1","L_PAYMENTREQUEST_0_ITEMURL0":"http:\/\/www.sprog-dcc.co.uk\/sboostii","L_PAYMENTREQUEST_0_ITEMWEIGHTVALUE0":"0.06","L_PAYMENTREQUEST_0_ITEMWEIGHTUNIT0":"kg","L_PAYMENTREQUEST_0_NUMBER1":"shipping","L_PAYMENTREQUEST_0_NAME1":"First Class Standard Post (Weight: 0.06kg)","L_PAYMENTREQUEST_0_AMT1":5,"L_PAYMENTREQUEST_0_QTY1":1,"PAYMENTREQUEST_0_ITEMAMT":"65.00","PAYMENTREQUEST_0_AMT":"65.00"}
2019-11-17 12:18:45 - PayPal Express debug (Result): "TOKEN=EC%2d85M99823148959240&TIMESTAMP=2019%2d11%2d17T12%3a18%3a45Z&CORRELATIONID=fce9b43ca7355&ACK=Success&VERSION=109%2e0&BUILD=53823268"
Then if it gets a TOKEN back and is not in test mode it redirects to:
Code: Select all
header('Location: https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=' . $result['TOKEN']);
so question is, does it redirect properly to https://www.paypal.com/cgi-bin/webscr?c ... out&token=' . $result['TOKEN']?
ps.
is not a very good basis to draw conclusions.may well have
maybe add
Code: Select all
$this->log($_SERVER['HTTP_USER_AGENT'], 'User Agent');
Crystal Light Centrum Taiwan
Extensions: MailQueue | SUKHR | VBoces
“Data security is paramount at [...], and we are committed to protecting the privacy of anyone who is associated with our [...]. We’ve made a lot of improvements and will continue to make them.”
When you know your life savings are gone.
I added logging of the browser type to model\extension\payment\pp_express.php I need to wait for a few orders to see if there is any correlation.
I want to add logging to controller\extension\payment\pp_express.php\checkoutReturn to see if the callback is working.
I tried (following other log examples in the same source file):
Code: Select all
public function checkoutReturn() {
// AC Debug
$this->model_extension_payment_pp_express->log('checkoutReturn() is called', 'AC Debug');
Can you say whether the above should work, and the callback is not being called, or dod I do something wrong?
Principle is the same though.
it does a curl call with "SetExpressCheckout"
gets a token back (or you would get a curl error)
if not in test mode it redirects to
Code: Select all
https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=' . $result['TOKEN'] . '&useraction=commit'
that function does another curl call with "GetExpressCheckoutDetails"
which you can see in the debug info of the good processing.
etc.
In the debug info of the bad processing, it does not even get that far, that second call is not made.
So the problem must be between redirection and the return.
So to repeat my question, is the redirection to https://www.paypal.com/cgi-bin/webscr?c ... out&token=' . $result['TOKEN'] . '&useraction=commit' working properly or is it already hanging there?
or is it hanging between finishing processing on that redirection paypal page and the return url?
As you can see, there are 30 seconds between the first call result and the second call in the good sequence, that is probably where the redirection paypal page is used.
for the added debug log entry, just use the normal log write as that custom log function uses json_encode().
just use:
Code: Select all
$this->log->write('PayPal Express debug (AC Debug): checkoutReturn() is called');
Then you can still check the apache access log as that call to should be registered there.
If it is in neither, it might not work from the paypal side (the call is never made) or your site might block it for some reason.
Crystal Light Centrum Taiwan
Extensions: MailQueue | SUKHR | VBoces
“Data security is paramount at [...], and we are committed to protecting the privacy of anyone who is associated with our [...]. We’ve made a lot of improvements and will continue to make them.”
When you know your life savings are gone.
I don't know how to check whether the redirection is successful.
I don't know how to check the Apache access logs. I assume these are on the server?
This is after I have selected the funding source and clicked to continue. It don't think it ever returns from there, so never gets to the checkoutReturn() call back.
Having said that, I am sure I once captured a different URL from the stuck page: https://www.paypal.com/webapps/hermes?f ... le.x=en_GB
In Chrome dev tools I see a couple of warnings, but they seem to relateto things that might happen in future
“A parser-blocking, cross site (i.e. different eTLD+1) script, https://www.paypalobjects.com/api/checkout.js, is invoked via document.write. The network request for this script MAY be blocked by the browser in this or a future page load due to poor network connectivity. If blocked in this page load, it will be confirmed in a subsequent console message. See https://www.chromestatus.com/feature/5718547946799104 for more details.
(anonymous) @ webscr?cmd=_express-checkout&token=EC-12273428YT658250K&useraction=commit:23”
“A cookie associated with a cross-site resource at <URL> was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at <URL> and <URL>.”
If I am interpreting the User Agent strings correctly (I find it quite confusing having multiple products listed) according to https://stackoverflow.com/questions/160 ... nt-details and https://stackoverflow.com/questions/305 ... osoft-edge :
Failed Chrome transaction:
2019-11-17 21:44:37 - PayPal Express debug (User Agent): "Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/78.0.3904.97 Safari\/537.36"
Successful IE transaction:
2019-11-17 18:24:34 - PayPal Express debug (User Agent): "Mozilla\/5.0 (Windows NT 10.0; WOW64; Trident\/7.0; rv:11.0) like Gecko"
Successful Edge transaction today:
2019-11-18 9:36:04 - PayPal Express debug (User Agent): "Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/70.0.3538.102 Safari\/537.36 Edge\/18.18362"
My money still says it is an issue with Chrome, but I haven't a clue what to look for. 78.0.3904 was released on 22nd October. I had 8 successful web orders after that, but wasn't logging User Agent, the the first failure was 3rd November.
Any ideas?
It does not occur on localhost if I switch to PayPal sandbox mode.
I don't know what this tells me, other than the PayPal interface is different in sandbox mode.
Customers have contacted me stating that they go through the process of making a purchase, when they get to the checkout and press the PayPal Express Checkout button and then enter their PayPal account details etc, and press proceed the PayPal processing window just keeps spinning and will not continue with the payment process.
I have contacted PayPal several times over the matter, last time I was asked to delete the PayPal Express button and then reinstall, which I did, but I am still having the same issues, Some customers can mak a purchase, others cannot.
I contacted PayPal again today, They did some tests from their side, Using Google Chrome, FireFox, and Internet Explorer. The only browser that would work to make a purchase and payment was Internet Explorer.
I tried to make a purchase (using my private PayPal Account and can confirm that Internet Explorer was the only browser that I could use to make a purchase.
Professional OpenCart extensions, support and custom work.
Contact me via email or Skype by support@thekrotek.com
2019-12-07 6:48:40 - Unable to create Paypal session{"TIMESTAMP":"2019-12-07T06:48:40Z","CORRELATIONID":"6e9e3b952a41a","ACK":"Failure","VERSION":"109.0","BUILD":"53842365","L_ERRORCODE0":"10002","L_SHORTMESSAGE0":"Security error","L_LONGMESSAGE0":"Security header is not valid","L_SEVERITYCODE0":"Error"}
2019-12-07 6:49:25 - Unable to create Paypal session{"TIMESTAMP":"2019-12-07T06:49:24Z","CORRELATIONID":"6d1bbb587f842","ACK":"Failure","VERSION":"109.0","BUILD":"53842365","L_ERRORCODE0":"10002","L_SHORTMESSAGE0":"Security error","L_LONGMESSAGE0":"Security header is not valid","L_SEVERITYCODE0":"Error"}
2019-12-07 6:51:40 - Unable to create Paypal session{"TIMESTAMP":"2019-12-07T06:51:40Z","CORRELATIONID":"657fdb0b56899","ACK":"Failure","VERSION":"109.0","BUILD":"53842365","L_ERRORCODE0":"10002","L_SHORTMESSAGE0":"Security error","L_LONGMESSAGE0":"Security header is not valid","L_SEVERITYCODE0":"Error"}
Professional OpenCart extensions, support and custom work.
Contact me via email or Skype by support@thekrotek.com
Users browsing this forum: No registered users and 8 guests