greasemonkey Posted March 5, 2017 Share Posted March 5, 2017 @@Harald Ponce de Leon Just continuing my testiing.... and have a question and 1 small issue. Issue: the "log" details are not accessible on a touch screen (I think I may have mentioned this before... when the app was first released). You need to remove visibility: hidden;From the css Questions: under what conditions with instant update turned on and SSL enabled, during regular checkout with PayPal selected from checkout_payment will you NOT receive shipping options at PayPal after you've logged into PayPal? Link to comment Share on other sites More sharing options...
Harald Ponce de Leon Posted March 5, 2017 Author Share Posted March 5, 2017 It didn't look like a "layer" as it does on desktop - I presume this is correct? Yep, you should get a nice clean checkout flow optimized for mobile devices. Issue: the "log" details are not accessible on a touch screen (I think I may have mentioned this before... when the app was first released). You need to remove visibility: hidden;From the css Good point. This will be fixed in the next update. Questions: under what conditions with instant update turned on and SSL enabled, during regular checkout with PayPal selected from checkout_payment will you NOT receive shipping options at PayPal after you've logged into PayPal? Here is the condition: if ( (OSCOM_APP_PAYPAL_GATEWAY == '1') && (OSCOM_APP_PAYPAL_EC_INSTANT_UPDATE == '1') && ((OSCOM_APP_PAYPAL_EC_STATUS == '0') || ((OSCOM_APP_PAYPAL_EC_STATUS == '1') && (ENABLE_SSL == true))) && (OSCOM_APP_PAYPAL_EC_CHECKOUT_FLOW == '0') ) { // Live server requires SSL to be enabled Gateway = PayPal (not Payflow) Instant Update = Enabled Status = (Sandbox) or (Live and ENABLE_SSL is true) Checkout Flow = Classic If the Checkout Flow is set to In-Context, it disables Instant Update regardless if the customer enters the EC flow on the shopping cart page or checkout payment page. , osCommerce Link to comment Share on other sites More sharing options...
Harald Ponce de Leon Posted March 5, 2017 Author Share Posted March 5, 2017 There is also a timeout of 6 seconds (the maximum possible value) - if Instant Update is enabled and the Instant Update callback request to your website times out (it takes longer than 6 seconds), Instant Update shows the shipping rates that were passed along when the EC checkout flow was started. , osCommerce Link to comment Share on other sites More sharing options...
Harald Ponce de Leon Posted March 5, 2017 Author Share Posted March 5, 2017 AND when the line item totals (including extra order total module entries) equals the order total amount. If the calculated item amount does not equal the order total amount, then Instant Update is not used at all during the EC checkout flow (regardless if the conditions are met to use it, the line item totals must match the order total value). , osCommerce Link to comment Share on other sites More sharing options...
Harald Ponce de Leon Posted March 5, 2017 Author Share Posted March 5, 2017 You can verify this in the PayPal Log with the SetExpressCheckout requests. If the following parameters are not in the request, then Instant Update is not being used in the EC checkout flow: CALLBACK CALLBACKTIMEOUT CALLBACKVERSION L_SHIPPINGOPTIONNAMEx L_SHIPPINGOPTIONAMOUNTx L_SHIPPINGOPTIONISDEFAULTx x = a counter number , osCommerce Link to comment Share on other sites More sharing options...
greasemonkey Posted March 5, 2017 Share Posted March 5, 2017 Update from 5.010 (with your files above on top) to 5.014 went perfect. I'll test again shortly. Link to comment Share on other sites More sharing options...
greasemonkey Posted March 6, 2017 Share Posted March 6, 2017 @@Harald Ponce de Leon Hi Harald, ok I have tested Express & Regular Checkout in just about every condition I could think.... and all seems to work perfect (even the shipping rates with Instant Update turned on and in Live mode). A couple thoughts/concerns.... Any idea when instant update will be mobile friendly? Or, do I get the impression PP is moving away from Instant Update? This is a deal breaker for Instant Update for me.... Because Instant Update is not mobile friendly I'm using it off - this way I can take advantage of in-context for Express Checkout... but this brings up an old issue... Let me lay out the scenario... During regular checkout with more than 1 shipping option for the customer to select and Instant Update OFF.... If the customer selects "sort order 2" shipping method (say its a premium shipping service that is more expensive than shipping option with "sort order 1").... Then selects PayPal for payment.... When the customer is returned to the checkout_confirmation page the module automatically "re-selects" the shipping using this logic if ($shipping_set == false) { if ( method_exists($shipping_modules, 'get_first') ) { // select first shipping method $shipping = $shipping_modules->get_first(); } else { // select cheapest shipping method $shipping = $shipping_modules->cheapest(); } In my example the customer who selected "premium shipping" is now looking at a confirmation page (if they are pay attention) which "regular" shipping. I have confirmed this behavior previously on the demo site.... and referenced this issue on multiple occasions here My questions is there some way to better optimize the checkout flow to prevent this (other than the patch in my reference link)? Link to comment Share on other sites More sharing options...
Harald Ponce de Leon Posted March 6, 2017 Author Share Posted March 6, 2017 When the customer is returned to the checkout_confirmation page the module automatically "re-selects" the shipping using this logic If the customer previously selected a shipping rate on the store, that rate should be kept throughout the entire checkout flow. I'll test this again today and post the result here. , osCommerce Link to comment Share on other sites More sharing options...
greasemonkey Posted March 6, 2017 Share Posted March 6, 2017 @@Harald Ponce de Leon so does this mean if ($shipping_set == false) {is not seeing $shipping_set as "true"? When it is.... Link to comment Share on other sites More sharing options...
Harald Ponce de Leon Posted March 6, 2017 Author Share Posted March 6, 2017 @@greasemonkey A step closer to the problem: 1) The selected shipping rate is successfully passed to EC (if a shipping rate was selected). 2) The shipping rate selected in the Instant Update call is successfully carried over from EC to the store. The problem is between 1) and 2): the Instant Update response overrides the default/fallback rates that were sent initiating the EC flow (with the selected shipping rate), and automatically selects the first shipping rate if the get_first() shipping class method exists, otherwise the cheapest rate is selected by default. The Instant Update call to the store is a session-less request. A way to make this possible is to add the selected shipping rate to the Instant Update request url where the selected preference changes to: 1) the shipping rate passed in the url (if it exists), or 2) the first shipping rate (if the shipping class get_first() method exists), or 3) the cheapest shipping rate am looking into this! :) , osCommerce Link to comment Share on other sites More sharing options...
Harald Ponce de Leon Posted March 7, 2017 Author Share Posted March 7, 2017 @@greasemonkey can you test out Instant Update on https://demo.oscommerce.com - I've updated the App there and the selected shipping rate should now be carried over properly. Thanks! , osCommerce Link to comment Share on other sites More sharing options...
greasemonkey Posted March 7, 2017 Share Posted March 7, 2017 Will do... in a couple hours. In sandbox or live mode? Also, just want to check - my senario above is with instant update OFF. Just wanted to be sure our wires aren't crossed. Link to comment Share on other sites More sharing options...
Harald Ponce de Leon Posted March 7, 2017 Author Share Posted March 7, 2017 The demo site is always sandbox :) The update I pushed out to that involves Instant Update being enabled. I will try locally with it disabled. , osCommerce Link to comment Share on other sites More sharing options...
Harald Ponce de Leon Posted March 7, 2017 Author Share Posted March 7, 2017 @@greasemonkey When the customer returns from EC back to the store, the $shipping session variable is set to false, resetting the selected shipping rate. I'll look into this further tomorrow. , osCommerce Link to comment Share on other sites More sharing options...
Harald Ponce de Leon Posted March 7, 2017 Author Share Posted March 7, 2017 @@greasemonkey actually, how can I get some sleep with this still on my mind :lol: I just updated the demo site with a fix - try it out. I'll also attach the file here if you want to test locally. I'll go over this tomorrow before the changes get pushed out as an update. Replace ext/modules/payment/paypal/express.php with the attached file (based on PayPal App v5.014) express.php , osCommerce Link to comment Share on other sites More sharing options...
greasemonkey Posted March 7, 2017 Share Posted March 7, 2017 Lol... get some sleep... I'll be home in 30 min or so and I'll give it a try. Link to comment Share on other sites More sharing options...
greasemonkey Posted March 7, 2017 Share Posted March 7, 2017 @@Harald Ponce de Leon using the file you attached...... you are looking good.... With Instant Update ON and in-context checkout enabled it worked PERFECT (selected shipping method at checkout_shipping carried forward to checkout_confirmation)! With Instant Update ON and classic checkout enabled it worked as well (despite not being mobile friendly) - the selected shipping method selected at checkout_shipping was "pre-selected" in the PayPal dropdown. With Instant Update OFF and in-context checkout enabled it worked PERFECT as well (selected shipping method at checkout_shipping carried forward to checkout_confirmation)!!!!! :thumbsup: :thumbsup: Sleep well Harald!!!! Great Job! Link to comment Share on other sites More sharing options...
mcmannehan Posted March 13, 2017 Share Posted March 13, 2017 @Harald Ponce de Leon How many updates for the Paypal well be come in future? The clever one learn from everything and from everybody The normal one learn from his experience The silly one knows everything better [socrates, 412 before Christ] Computers help us with the problems we wouldn't have without them! 99.9% of the bugs sit in front of the computer! My programmed add-ons: WDW EasyTabs 1.0.3, WDW Facebook Like 1.0.0 if(isset($this) || !isset($this)){ // that's the question... Link to comment Share on other sites More sharing options...
Harald Ponce de Leon Posted March 13, 2017 Author Share Posted March 13, 2017 How many updates for the Paypal well be come in future? No more updates are planned at this time that will be pushed out through the online update routine unless a bug needs to be fixed. A separate release series will however be introduced for BS users which they can choose to upgrade to at their own leisure. This removes the legacy code and optimizes the codebase for the BS release series. Keep an eye out for some announcements this week. , osCommerce Link to comment Share on other sites More sharing options...
mcmannehan Posted March 16, 2017 Share Posted March 16, 2017 FYI: PayPal App v5.018 -> osC 2.3.4BS with all changes for PHP7 work very well with PHP7.1.2 and MySQL5.7 The clever one learn from everything and from everybody The normal one learn from his experience The silly one knows everything better [socrates, 412 before Christ] Computers help us with the problems we wouldn't have without them! 99.9% of the bugs sit in front of the computer! My programmed add-ons: WDW EasyTabs 1.0.3, WDW Facebook Like 1.0.0 if(isset($this) || !isset($this)){ // that's the question... Link to comment Share on other sites More sharing options...
greasemonkey Posted March 21, 2017 Share Posted March 21, 2017 @@Harald Ponce de Leon using the file you attached...... you are looking good.... With Instant Update ON and in-context checkout enabled it worked PERFECT (selected shipping method at checkout_shipping carried forward to checkout_confirmation)! With Instant Update ON and classic checkout enabled it worked as well (despite not being mobile friendly) - the selected shipping method selected at checkout_shipping was "pre-selected" in the PayPal dropdown. With Instant Update OFF and in-context checkout enabled it worked PERFECT as well (selected shipping method at checkout_shipping carried forward to checkout_confirmation)!!!!! :thumbsup: :thumbsup: Sleep well Harald!!!! Great Job! Hey Harald, finally upgraded my live EDGE store... upgrade went perfect! Link to comment Share on other sites More sharing options...
joe122joe Posted March 23, 2017 Share Posted March 23, 2017 Thank you @@Harald Ponce de Leon for updating v2,3 bs . I have osc v2,3 bs installed before Sept. 2016. and the Orders.php in the admin it so different then what you have it on the addon.. Is it possible to know what line need to editing or adding in Orders.php Joe Link to comment Share on other sites More sharing options...
burt Posted March 23, 2017 Share Posted March 23, 2017 Thank you @@Harald Ponce de Leon for updating v2,3 bs . I have osc v2,3 bs installed before Sept. 2016. and the Orders.php in the admin it so different then what you have it on the addon.. Is it possible to know what line need to editing or adding in Orders.php Joe If you installed the Paypal App PRIOR to it going into Core, then you did not fully install it if your orders.php is different to that included in the download. Download the addon, view the install instructions...and it should become apparent. Link to comment Share on other sites More sharing options...
joe122joe Posted March 23, 2017 Share Posted March 23, 2017 Thank you @@burt for your reply.. What you mean by Paypal App PRIOR?...sorry Joe Link to comment Share on other sites More sharing options...
vampirehunter Posted April 5, 2017 Share Posted April 5, 2017 hi. my paypal app is currently 4.039 do i just install the latest version ontop of the existing one? or do i need to install each update first? Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.