Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

PayPal App v5.010 for v2.3.4BS


Recommended Posts

@@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

  • Replies 71
  • Created
  • Last Reply

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.

:heart:, osCommerce

Link to comment
Share on other sites

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.

:heart:, osCommerce

Link to comment
Share on other sites

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).

:heart:, osCommerce

Link to comment
Share on other sites

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

:heart:, osCommerce

Link to comment
Share on other sites

@@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

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.

:heart:, osCommerce

Link to comment
Share on other sites

@@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! :) 

:heart:, osCommerce

Link to comment
Share on other sites

@@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

 

 

:heart:, osCommerce

Link to comment
Share on other sites

@@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

@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

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.

:heart:, osCommerce

Link to comment
Share on other sites

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

@@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

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

  • 2 weeks later...

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...