magento-checkout

Magento 2 Checkout Troubleshooting: Secure Your Conversion Station

by Robin Tran

Magento 2 Checkout Troubleshooting is very helpful for your business. First and foremost, I must notify you that this is going to be a growing list, and I sincerely advise you to bookmark this article.

There is no doubt that checkout is one of, if not the essential part of your website. Any lackluster coming from this will hit you directly and painfully. 

Therefore, I gather all the common problems that lie within the checkout process of Magento and find a solution for each one of them. 

Here are my findings.

Magento 2 Checkout Loading Issues

The first thing about Magento 2 checkout Troubleshooting is the checkout page works uniquely in contrast to others on your website. 

It solely depends on Knockout.js (a boiled-down JavaScript framework). JavaScript renders the entire page except for a couple of select segments: payment, shipping, sums of the cart, and other independent data requests.

knockout-js

GET Magento 2 B2C Package To Ensure A Fictionless Checkout Experience!

This fact results in the checkout page being a substantial and sophisticated page of your store. Therefore, Magento 2 checkout loading issues can stem from either coding or the sheer volume of internet bandwidth. 

Here is how you check it out.

#1 Slow Magento 2 checkout process

Find out what slows the checkout page down

It’s really simple.

Magento does provide a performance testing toolkit, and your job is to generate a store with sample data and fixtures. From here, you can find out what makes your checkout run slow.

 performance-testing

>>> A TROUBLE-FREE WAY TO GO: Consult this Magento 2 Checkout extensions category for a seamless checkout process.

If the result from the test is excellent, then it’s caused by your coding base. 

And if the performance score is still low on this demo site, you need to find a better hosting provider or upgrade your hosting bandwidth. 

Seven fixes for Magento slow checkout with best practices and optimizations

Simplify the checkout process

One-step checkout is superior for both page speed and maximum conversion power. The five most effective ways to the solution can be found here. However, we strongly recommend you conduct your own research and pick out the extension that fits your business like a glove.

Keep the static content low

Checkout page Magento hosts the biggest JS content on all of the site’s pages. Therefore, while installing Advanced JavaScript Bundling + Content Delivery Network, you should pay attention to the static content and keep them at a minimum. Noted, here are Google developer recommendations on photo preference to shorten the loading time.

Turn off unnecessary network code

In addition, activating JS bundling creates a huge file (5-10Mb) with Javascript code and affects page load time. 

Therefore, the wise move here is turning it off.

MORE COMPLEX CODE CAN BE DISCOVER WITH Magento 2 Code Audit.

From there, you can pin down what pieces hold your speed down and bend them into better shape.

Do review on extensions

Integration and extensions are all great, but you need to be mindful of them and turn off the excessive/unnecessary features to lighten your checkout page. 

Kill off unused active countries & unused active shipping methods

Erase the waiting time for loading API data of extra shipping methods by going to Stores > Configuration > Sales > Shipping Methods and tick on what your store provides only. 

Similarly, Stores > Configuration > General > General > Country Options and turn off countries you don’t ship to. This will make your checkout page load faster.

Run price rules smartly

Too many price rules also pull your checkout down because it’s extra time on calculation. Therefore, go to Marketing > Promotions > Cart Price Rules and Catalog Price Rule to pull out price rules you don’t run at the moment. 

Enable cache

Caching not only allows for faster server response time but also stabilize the page load time. That’s why you should enable cache by navigating to System > Cache Management and turning on the feature.

Now, let’s move on to other problems rather than loading speed.

#2 Infinite loading

If you run into the problem when you click checkout and receive an ungodly amount of spinning time, here is what caused it and how to fix it.

checkout-busy

This Magento 2 checkout loading issue emerges when an inappropriate token is utilized. In particular, the POST order made a truck with an administrator token. Visitor trucks are for mysterious clients, so thus, an inappropriate GET call presented itself for this situation. 

To comprehend the issue, utilize the POST order to make a visitor token.

Magento 2 Checkout Payment Malfunction

#3 Magento PayPal Integration Malfunction 

Numerous PayPal issues emerge in the wake of determining the installment card subtleties, and afterward, during the checkout procedure, the installment doesn’t process, causing a mistake. 

The outcome is an endless burden, a blunder message, or a clear page.

paypal-payment-methods

EASY TO LEARN SOLUTION: Magento Paypal Setting to faster your checkout process!

It’s mainly caused by unmatched information between your Paypal account and Magento backend. Always remember to submit the same setting between these platforms to ensure a smooth integration.

BONUS: How To Show Magento 2 PayPal checkout in-display currency

As we all know, Magento will show base currency on the checkout page. And since this works great with the overall Magento’s logic, it doesn’t support businesses with multiple store views.

variable-currency

“Operate globally, act locally” is the motto for such a business. You want to make customers feel at ease and welcomed when shopping on your site, showing them the appropriate currency is the 1st move.

Besides, there’re more to why you should set different prices for the same product in Magento. Check it out if you want to showcase checkout in the current store view base currency.

#4 Magento Braintree payment denied

This problem occurs when customers pick Braintree as their payment method and then continue to checkout; this message appears.

“An error occurred on the server. Please try to place the order again.” 

braintree-error

Currently, there are three instances of this and you can find a solution accordingly:

No region 

This Braintree malfunction happens due to the lack of region or preset region. In that case, you should install this expansion on Github. 

This a module to spare a different route to the Magento issue where checkout comes up short if there is no setting for that location, in general. Ideally, you want to see your case presented here as an example: https://github.com/magento/magento2/issues/7387

Soft decline due to customer banking detail

Sometimes the problem is how the message being presented. In this case, the denial of order gets triggered by a customer failing short on their own credit card (insufficient funds, limits reached, etc…)

credit-card-decline-codes

So, clearly, this is no “server error”. Therefore, you should change the message to direct customers to ask their bank to facilitate the order instead.

For example, you want the notification to say: The transaction was declined by your bank. Please contact your bank and try again.

Here is how you do it in your SQL database:

INSERT INTO `translation` (`string`, `store_id`, `translate`, `locale`) VALUES

(‘An error occurred on the server. Please try to place the order again.‘, 1, ‘The transaction was declined by your bank. Please contact your bank and try again.‘, ‘en_US’);

INSERT INTO `translation` (`string`, `store_id`, `translate`, `locale`) VALUES

With ‘1′ is the store_id, and ‘en_US’ is the locale.

Wrong conviction of Magento 2 Braintree Extension and Braintree Merchant account. 

The error is due to the AMEX payment method being enabled in Magento 2 Braintree but not enabled in the Braintree Merchant account. Hence, you need to match your Magento setting and Braintree Merchant account. 

First, in the Magento Backend admin panel, go to Configuration > Sales > Payment Methods > Braintree > Advanced settings > Credit Card Types and pick out the credit card you support on your store.

Braintree-magento-2-credit-cards

Then, go to your Braintree account and follow this path Settings > Processing > Merchant accounts. Make sure you match credit card types in the accepted payment methods

braintree-merchant-account-id

#5 Magento order with stripe payment get stuck at Pending status

At the point when a request happens, the order will have a status of Pending. This status demonstrates that the approval of the installment by the client’s bank is as yet pending. 

stripe

For all divert based installment techniques, when an approval happens, Stripe tells your site utilizing webhooks. 

If your requests don’t change from Pending to Processing, then webhooks should be designed for your site.

Additionally, you can find further Stripe integration on the Magento platform here.

Magento 2 Checkout Redirect Problem

#6 Magento 2 One Page Checkout keeps redirecting back to the shopping cart

The problem here is that after finishing enter all of their information, they get back to the Shopping Cart page.

circle-1

Here is how you fix it.

Replace:

if (Zend_Loader::isReadable($classFile)) { 

With:

if (file_exists($classFile) && Zend_Loader::isReadable($classFile)) { 

And your checkout will be back to normal!

You can read more about what causes this specific problem and other solutions you can implement to prevent this from happening here.

#7 Checkout place order redirect to the cart on success ordering

This issue is not an egregious problem in the checkout flow since the order is still processing in the system, and success email is sent. However, it’s a significant pullback from the UX standpoint.

modify-success-page-02

TAKE THE EASY ROAD: Celebrate customer order’s with a detailed and amazing Magento Checkout Success Page.

Put yourself in the customer’s shoes, how confused are you when clicking Proceed to Order, you get sent back to the Shopping Cart? And such confusion is a quiet flame that can burn off your sales that have already converted.

Thankfully, the Magento community works hard and creates anecdotes to this problem already. You can find them right here

And if you suffer from one/some of the problems below, installing the package also helps:

  • Fix InvalidPaymentMethod declined to handle
  • Validate Amazon shipping address on select
  • Add new MFTF test to trigger Magento’s shipping address validation 
  • Fix “Place Order” DepersonalizeChecker empty cart redirect issue #559
  • Provide divider and text around Amazon Pay buttons (PDP, mini cart, and checkout)
  • Include translations for the redirect page
  • Show notice message box to success when auth mode set to Automatic (“Your transaction with Amazon Pay is currently being validated. Please be aware that we will inform you shortly as needed.”)

#8 Magento 2 Checkout stuck on billing information

So the one-page checkout Magento contains typically four parts:

  • Billing Information
  • Shipping Information
  • Shipping Method
  • Payment Information

The problem arose when the customer got stuck in the first part. In this case, I highly recommend you switch PHP 5.4 to PHP 5.5. 

upgrage

Rather than that, you can try this route instead. Go to System > Configuration > Developer Tools and enable the error logs. After that, you create a checkout process yourself.

Then the problem will get recorded in var/logs/system.log. You can proceed to fix the problem accordingly.

#9 Checkout page get redirected to the homepage

This issue is most likely the direct result of problems with Magento SSL. In this case, replicate these steps:

  • Step 1: Install the SSL certificate on your website.
  • Step 2: Go to Admin > Stores > Configuration > General > Web.
  • Step 3: Extend the Base URL (Secure) settings. Alter the Base URL to HTTPS://. Don’t modify the Base Link, which is currently being set as {{secure_base_url}}. Also, don’t change Skin, Media and JavaScript settings, which is set as {{secure_base_url}}skin/etc.
check-out-page
  • Step 4: Select “Yes” for Use Secure URL for the frontend option.
  • Step 5: Save. You will see that the SSL checkout redirect issue is gone.

How To Detect Issues Early Before They Hurt Your Conversions? 

All of the issues with the checkout process related to functionality, usability, or interactive issues (caused by JS errors) can be noted through maintenance. If you haven’t maintained your website for a long time, there’re chances that your store might have lost a number of potential buyers due to unfound issues. 

If you’re ready to have your website maintained, our Magento 2 Maintenance team can help. Not only the Checkout page, but we can also handle full-site maintenance and ultimately give you a full report showing what areas are not working well or delivering bugs. 

This is an example of the result in the Checkout Page: 

checkout-page-check

Want a MAINTENANCE FULL-SITE CHECK TEMPLATE? Visit here and get it!

Wrap Up

So far, we’ve made strikes on Magento 2 checkout Troubleshooting process. As promised, I will continue to find and present other problems regarding this topic. 

You can also check related posts: 

BSS Commerce is one of the leading Multi-platform eCommerce solutions and web development services providers in the world. With experienced and certified developers, we commit to bringing high-quality products and services to optimize your business effectively. 


CONTACT NOW to let us know your problems. We are willing to support you every time.

Next Reading Suggestions

© 2019 BSS Commerce owned by THANH CONG INTER ., JSC. All Rights Reserved.
Business registration certificate no. 0106064469 issued by Hanoi Department of Planning and Investment on 19 December 2019.
Legal Representative: Mr. Nguyen Quang Trung.