PayPal® Express Checkout Using NVP 84.0

Version 1.1.2 by lat9

Current Support Thread at Zen Cart Forums: http://www.zen-cart.com/showthread.php?211542-PayPal-Express-Checkout-Using-NVP-84-0-Support-Thread

Version History:


Operation

This Zen Cart payment method replaces the processing for the built-in PayPal Express Checkout (paypalwpp) module, using the more recent Name/Value Pair (NVP) interfaces introduced in NVP interface versions 63.0 to 84.0; refer to PayPal Name/Value Pair API Developer Guide for additional information. This payment method is, essentially, a building block for future payment methods that might choose to implement additional PayPal functionality.

If you have previously installed one of the other PayPal payment methods, that payment method must be removed before you can install the paypalwpp_v84 payment method.

Processing Differences

This payment module was created using the source code for the Zen Cart v1.5.2-RC2 paypalwpp payment method, so those PayPal changes and payment method improvements have been built in! That said, there are a couple of differences in the module's operation (besides the interface change):

  1. Unlike the built-in PayPal Express Checkout payment method, this plugin supports only the PayPal mode of operation. If your store requires either PayFlow-UK or PayFlow-US mode, you should continue to use the built-in version.
  2. This payment method introduces another selection for the Require Confirmed Address setting — Always. This setting's choices are now:
  3. The display of an order's PayPal history now includes the entire history as part of the Customers->Orders->Edit Order display. The following screenshot shows, for example, a transaction that was paid using the payment method, disputed and subsequently resolved. Order Information Screen

Installation

There are are two core-file overwrites in this plugin. The changes to ipn_main_handler.php are simply additional notification points to allow this and future modules to operate without additional changes to that module. The change to tpl_ec_button.php allows that module to properly display the "Express Checkout" button when this module is enabled.

  1. Make a backup of your Zen Cart's files and database.
  2. Copy the files to your cart, after renaming the YOUR_TEMPLATE folder to match your Zen Cart template's name:
    1. /ipn_main_handler.php
    2. /includes/auto_loaders/config.paypalwpp_v84.php
    3. /includes/classes/observers/class.paypalwpp_v84_observer.php
    4. /includes/languages/english/modules/payment/paypalwpp_v84.php
    5. /includes/modules/pages/login/header_php_paypalwpp_v84.php
    6. /includes/modules/payment/paypalwpp_v84.php
    7. /includes/modules/payment/paypal/paypal_curl_v84.php
    8. /includes/modules/payment/paypal/paypalwpp_v84_admin_notification.php
    9. /includes/modules/payment/paypal/tpl_ec_button.php
    10. /includes/templates/YOUR_TEMPLATE/templates/tpl_shopping_cart_default.php
  3. Remove any other Zen Cart PayPal payment modules
  4. Install the PayPal Express Checkout (NVP 84.0) payment method using your admin's Modules->Payment screen.

Un-install

Use your admin's Modules->Payment and remove the PayPal Express Checkout (NVP 84.0) module. You can restore the core file overwrites and the template file to the pre-installation version, but leaving them will not have any adverse affects on your store's operation. Finally, delete the new files provided by this plugin.