2 Attachment(s)
Patched PayPal Express Checkout and IPN module ... for v1.3.7
Attached is the latest patched code to address reported bugs in the v1.3.7 PayPal Express Checkout module.
Attachment is current as of Jan 20, 2007 - Updated to handle " marks in product names.
NOTE: A NEWER patch has been posted . Use the new one instead. These are left here for reference only.
Feb 8
NEW patch.
The following patch SUPERCEDES the patch posted above.
If you have applied the previous patch, you should still apply this patch over it. See list of changed files below for easy installation if you've already installed the previous patch.
Fixes:
- some table structure repairs
- IPN refunds weren't setting order status properly
- authcode and transaction-id comments are now "separate" instead of merged with existing order comments
- protections in place to prevent empty address details from being mistakenly sent to PayPal and throwing errors
- customer_notified = false is now = 0 instead (corrected syntax)
- adjustment to prevent "-0.00" values being sent to PayPal mistakenly
- other smaller tidying
Changed files since Jan 20 patch:
- ipn_main_handler.php
- includes/modules/payment/paypalwpp.php
- includes/modules/payment/paypal/paypal_curl.php
- includes/modules/payment/paypal/paypalwpp_admin_notification.php
The above files can simply replace existing files.
All the other files in this zip are from the Jan 20 patch, and are included for convenience ... no need to install the Jan 20 patch if you install this one in its entirety.
1 Attachment(s)
Re: Patched PayPal Express Checkout module
UPDATE - FEB 15, 2007
PayPal made a system change which has caused some confusion for some shops, whereby an invalid (blank) country code was detected and submitted back to PayPal, but rejected.
The symptoms and specific fix are documented in this thread:
http://www.zen-cart.com/forum/showthread.php?t=58364
The updated files are included here. The only "actual" update since the Feb 8 patch is the /includes/modules/payment/paypalwpp.php file.
1 Attachment(s)
Re: Patched PayPal Express Checkout module
Update Feb 19, 2007
This patch includes three updates:
- allows alert emails to be sent instead of full debug logs for errors that occur when attempting to start Express Checkout
- a small fix to deal with occasional ship-to "name" problems
- LOCALECODE support now defaults to store's country code first. If that's not valid, it then attempts to set it based on selected language. Finally, if none of those work, US is selected.
Changed files (since Feb 15 update above):
/includes/languages/english/modules/payment/paypalwpp.php
/includes/modules/payment/paypalwpp.php
/includes/modules/payment/paypal/paypal_curl.php
Other files in this zip are the cumulative updates from other patches in this same discussion thread. As such, there is no need to apply previous patches listed above if applying this one.
NOTE: To benefit from the new "Alert Only" debug support, you'll need to write down your current PayPal settings, then remove the module, and then re-install it. Remember that your PayPal API signature information is confidential. You may need to re-copy+paste it from your PayPal account profile. Be sure not to include trailing spaces when entering this information.
1 Attachment(s)
Re: Patched PayPal Express Checkout module
Patch Issued Feb 20, 2007
A MySQL 5 compatibility problem was discovered. This patch contains the fix.
Also discovered a small problem introduced in the Feb 19 patch with the paypal_curl.php file. It should be replaced with the one in this patch.
The only files touched since the Feb 19 patch are:
/includes/modules/payment/paypalwpp.php
/includes/modules/payment/paypal/paypal_curl.php
Repeating the note from the Feb 19 patch. If you haven't already done this, be sure to do it after installing this patch: NOTE: To benefit from the new "Alert Only" debug support, you'll need to write down your current PayPal settings, then remove the module, and then re-install it. Remember that your PayPal API signature information is confidential. You may need to re-copy+paste it from your PayPal account profile. Be sure not to include trailing spaces when entering this information.
1 Attachment(s)
Re: Patched PayPal Express Checkout module
Patch Issued Feb 28 2007
This patch attempts to fix non-American customer address submission issues which were resulting in 81108-ShipToState errors.
Also improves upon the Alerts Only debug option in some cases.
Also now handles & and = symbols more effectively so as to prevent PayPal from croaking if they are found in address or product-name details.
If you have already applied the Feb 19 patch, then there is no need to "remove" and "install" the module in the Admin to activate this patch. (ie: if you have the "Alerts Only" option available under Debug Settings, then you don't need to remove and re-install. Just update the files: )
Changed files since Feb 20 patch include:
- /includes/modules/payment/paypal/paypal_functions.php
- /includes/modules/payment/paypal/paypal_curl.php
- /includes/modules/payment/paypal.wpp
(Yes, for those of you wondering, this patch is cumulative of all patches in this thread. You do not need to install each one individually ... just the most recent. That includes remove+re-install of the module in the Admin, as indicated).
1 Attachment(s)
Re: Patched PayPal Express Checkout module
Patch issued March 2 2007
This patch includes fixes to handle blank state fields more intelligently. An error was identified which, while intended to prevent submission of blank data, was in fact not doing anything at all. This has been fixed.
Updated files since 02/28 patch release are:
- /includes/modules/payment/paypal/paypal_curl.php
- /includes/modules/payment/paypal.wpp
(Yes, for those of you wondering, this patch is cumulative of all patches in this thread. You do not need to install each one individually ... just the most recent. That includes remove+re-install of the module in the Admin, as indicated).
1 Attachment(s)
Re: Patched PayPal Express Checkout module
Patch issued March 3 2007
Significant updates to fix problems with echecks and PayPal IPN module.
This is a "must have" upgrade if you're using PayPal IPN for payment.
If using Express Checkout only, this update isn't crucial, but will tidy debug output somewhat if you do apply it.
Files affected in this patch since the March 2 patch are:
/includes/modules/payment/paypal.php
/includes/modules/payment/paypalwpp.php
/includes/modules/payment/paypal/ipn_application-top.php
/includes/modules/payment/paypal/paypal_functions.php
/includes/modules/payment/paypal/paypal_curl.php
(Yes, for those of you wondering, this patch is cumulative of all patches in this thread. You do not need to install each one individually ... just the most recent. That includes remove+re-install of the module in the Admin, as indicated).
1 Attachment(s)
Re: Patched PayPal Express Checkout module
Patch Issued March 15, 2007
This fix includes:
- correct shipping selection if "auto-select cheapest" is enabled
- IPN echeck and some multi-currency fixes
- orders over $999.99 now process properly
This is a must-have patch.
If you have not previously installed the Feb 19 patch, then please remove and re-install the PayPal Express Checkout module (after recording your settings) in order to benefit from the enclosed fixes.
Files affected in this patch since the March 3 patch are:
/includes/modules/payment/paypalwpp.php
/includes/modules/payment/paypal/ipn_application_top.php
/includes/modules/payment/paypal/paypal_functions.php
/ipn_main_handler.php
(Yes, for those of you wondering, this patch is cumulative of all patches in this thread. You do not need to install each one individually ... just the most recent. That includes remove+re-install of the module in the Admin, as indicated).
1 Attachment(s)
Re: Patched PayPal Express Checkout and IPN module
Patch Issued March 21, 2007
This fix includes:
- workaround for 81108 errors where PayPal sends back empty State/Prov information
- line-item "ITEM #XX" now shows product model number instead of 0,1,2,3, etc
- fixes to IPN processing where SSL not supported on host or other errors have been encountered
If you have not previously installed the Feb 19 patch, then please remove and re-install the PayPal Express Checkout module (after recording your settings) in order to benefit from the enclosed fixes.
Files affected in this patch since the March 15 patch are:
/includes/modules/payment/paypalwpp.php
/includes/modules/payment/paypal/ipn_application_top.php
/includes/modules/payment/paypal/paypal_curl.php
/includes/modules/payment/paypal/paypal_functions.php
(Yes, if you are wondering, this patch is cumulative of all patches in this thread. You do not need to install each one individually ... just the most recent. That includes remove+re-install of the module in the Admin, as indicated).
NOTE: There is a NEWER version of this patch ... posted here:
http://www.zen-cart.com/forum/showth...6&goto=newpost
Re: Patched PayPal Express Checkout and IPN module
How To Apply The Patch
1. Download the latest file attachment from this discussion thread.
2. Unzip it on your PC, retaining the folder structure.
3. Using your FTP program (filezilla recommended), upload all these files to your website, replacing the existing files of the same name in the same folders.
Take a careful look at the folders contained in the zip file. There are approx 12 files, and each of them belongs in a specific folder.
Remember that some of the files have the same "name", but are for different folders.
You need to keep the entire structure intact.
4. Log into your Zen Cart admin.
a) Go to Modules->Payment, and choose your PayPal Express Checkout module.
b) Write down ALL your settings, as you'll need to re-set them in a moment.
c) Click "Remove"
d) Click "Install"
e) Re-enter all your settings again.
5. Repeat step 4 for the "PayPal IPN" module as well if it's turned on.
6. If you're using the IPN module, BE SURE TO SETUP PDT:
Configuring PayPal IPN module to use PDT
PDT (Payment Data Transfer) is used by Website Payments Standard IPN transactions to do an instant validation of payment, resulting in quicker order activation in your store.
It does not affect Express Checkout or Website Payments Pro transactions.
1. Log into your PayPal account
2. Click on Profile
3. Click on Website Payment Preferences
4. Make sure Auto Return is turned On. The URL should point to your site's checkout_process page: https://my_store/index.php?main_page=checkout_process
5. Turn on Payment Data Transfer.
6. Click Save
7. On the next screen, Copy and Paste the supplied Identity Token from the PayPal screen into your Zen Cart PayPal IPN module's PDT Identity Token field, and save the settings.
.