PayPal v2 Checkout

Around late Nov 2023, X-Cart provided a new module for PayPal Checkout v2, which supports 3D Secure also known as Strong Customer Authentication (SCA)

For reference, the files for v4.7.12 are available here. While this may work for fresh installations of X-Cart Classic v4.7.12, it won't work with the X-Cart reBOOT template.


If you wish to try our patch, we strongly recommend trying it out on a backup or test store before putting it into production.

Only apply the patch files if you know what you're doing! We can't be held responsible if something goes wrong.

We cannot provide DIFF files for this patch. No warranty is given for this patch.


We have tested with reBOOT reDUX v4.7.12.9 . So far, we only have it working with the One Page Checkout (not Fastlane, which doesn't seem to work on a fresh X-Cart install either).


Files: X-Cart_reBOOT_reDUX_4.7.12_PayPal_v2___160124.zip


Step 1

Make a full backup of your store files and database. Download the zip file above.

Step 2

In Admin > Tools > Patch/Upgrade, apply the SQL patch, patch.sql

Step 3

Upload the files from /upload to your store root.

To be on the safe side, you may wish to manually backup the affected files via FTP, especially if you've previously tweaked them.

Step 4

In Admin > Tools > Maintenance clear the X-Cart template cache.

Step 5

Enable the new 'PayPal Checkout' module in Admin > Modules.

Step 6

If applicable, disable any prior PayPal payment methods in Admin > Settings > Payment Methods (uncheck and apply).

Step 7

Enable the new 'PayPal Checkout' in Admin > Settings > Payment Methods.

Step 8

Configure the new PayPal checkout settings with your PayPal credentials (/admin/configuration.php?option=Paypal_Checkout).

Ensure 'Log requests' is checked while testing (uncheck when testing is successful).

Step 9

Try placing a test order. After selecting PayPal as the payment method, you should see this at the bottom of the checkout page...

PayPal v2


Possible Issues

If electing to pay by PayPal (the big orange button) and the PayPal login popup does not appear, the following PayPal error may be occuring...

"UNPROCESSABLE_ENTITY" / "ITEM_TOTAL_MISMATCH" : Should equal sum of unit_amount * quantity across all items for a given purchase_unit. Info

If so, you may need to adjust your tax display settings in /admin/taxes.php so that the checkout total matches correctly. So far, that's the only method we found to solve the issue.

You can check for other possible errors in your /var/log/ folder. A file like x-errors_paypal_checkout-xxxxxx.php should be available to view.


Files Affected

If you need a tool for comparing files, there's some popular ones listed in the links page.


/admin/cc_processing.php

/include/func/func.ajax.php
/include/func/func.cart.php
/include/func/func.core.php
/include/payment/func.cc_paypal_checkout.php

/modules/Fast_Lane_Checkout/checkout.php
/modules/Paypal_Checkout/admin_config.php
/modules/Paypal_Checkout/admin_func.php
/modules/Paypal_Checkout/class.RestAPI.php
/modules/Paypal_Checkout/config.php
/modules/Paypal_Checkout/func.php
/modules/Paypal_Checkout/init.php

/payment/cc_paypal_checkout.php

/skin/common_files/css/main.css
/skin/common_files/customer/service_head.tpl
/skin/common_files/customer/service_js.tpl

/skin/common_files/modules/Fast_Lane_Checkout/payment_methods.tpl
/skin/common_files/modules/One_Page_Checkout/ajax.checkout.js
/skin/common_files/modules/One_Page_Checkout/opc_payment.tpl
/skin/common_files/modules/One_Page_Checkout/payment_methods.tpl
/skin/common_files/modules/Paypal_Checkout/backend
/skin/common_files/modules/Paypal_Checkout/cc_fields.tpl
/skin/common_files/modules/Paypal_Checkout/customer
/skin/common_files/modules/Paypal_Checkout/main.css
/skin/common_files/modules/Paypal_Checkout/payment.tpl
/skin/common_files/modules/Paypal_Checkout/service_head.tpl
/skin/common_files/modules/Paypal_Checkout/backend/configuration.tpl
/skin/common_files/modules/Paypal_Checkout/backend/consents_tab.tpl
/skin/common_files/modules/Paypal_Checkout/backend/getstarted.tpl
/skin/common_files/modules/Paypal_Checkout/backend/help_tab.tpl
/skin/common_files/modules/Paypal_Checkout/backend/manage_campaigns.tpl
/skin/common_files/modules/Paypal_Checkout/backend/paypal_checkout_credit_messaging_tab.tpl
/skin/common_files/modules/Paypal_Checkout/backend/paypal_checkout_customize_tab.tpl
/skin/common_files/modules/Paypal_Checkout/backend/setting_tab.tpl
/skin/common_files/modules/Paypal_Checkout/customer/load_express_checkout_js.tpl
/skin/common_files/modules/Paypal_Checkout/customer/main.js
/skin/common_files/modules/Paypal_Checkout/customer/paypal_express_incontext.js

/skin/common_files/payments/ps_paypal_pro_express_checkout.tpl

reBOOT Template Files...

/skin/reboot/css/main.css
/skin/reboot/customer/minicart.tpl
/skin/reboot/customer/reboot_css.tpl
/skin/reboot/customer/service_head.tpl
/skin/reboot/customer/service_js.tpl
/skin/reboot/customer/main/cart.tpl
/skin/reboot/modules/Fast_Lane_Checkout/payment_methods.tpl
/skin/reboot/modules/One_Page_Checkout/ajax.checkout.js
/skin/reboot/modules/One_Page_Checkout/payment_methods.tpl
/skin/reboot/payments/ps_paypal_pro_express_checkout.tpl

© 2013-2024 xcartmods.co.uk