They changed over this week to the new API announced in January, so if you haven’t done your updates, credit card processing using Authorize.Net (SIM or AIM) will fail.
Fortunately, the fix is easy:
AIM users: You need to blank out the MD5 Hash field in Admin->Modules->Payment->Authorize.net (AIM). This is sufficient for now, but you’ll also want to plan to get the new copy of authorize_aim.php from Zen Cart 1.5.6b.
SIM users: You’ll need to get the new copy of authorize.php from Zen Cart 1.5.6b, and then create a Signature Key within Authorize. Enter the key in Admin->Modules->Payment->Authorize.net (SIM).
For reference, here is the error message you’ll see for an AIM failure:
Fortunately, WordPress is very easy to update, and there’s really no reason not to be running PHP 7 if this is your main web application. Other applications are more work to upgrade. If you need to upgrade a Zen Cart, for example, please contact me and I’ll help. You can run Zen Cart 1.5.5 under PHP 7.1 with a small number of modifications for most carts.
I have seen several successful attacks in the last month on Zen Cart which have used the Minimum Values fields. (osCommerce has a similar vulnerability.) The attack works as follows:
Inject a script into one of the CC min length fields (in this case, CC_NUMBER_MIN_LENGTH).
This script will fire when the payment page is loaded if onsite card number capture is being used.
The script does an AJAX POST to a remote server.
Here’s a screenshot of the Admin->Configuration->Minimum Values field:
A proposed defense against this attack is to cast integer values from the configuration table as integers, thereby ensuring the script does not get echo’ed on the page. You can see my implementation in Zen Cart 1.5.7 Pull Request #2471.
*** Update: This PR was accepted into the Zen Cart core on 06/25/2019. It will be part of Zen Cart 1.5.7 (and may be backported to Zen Cart 1.5.6c, if there is an additional patch to that stream).
I heartily recommend the mod zenNonCAPTCHA. Instead of the clunky usual CAPTCHA technique of forcing a user to type a string or identify images (which is often quite difficult for older users), zenNonCAPTCHA is done with a slider test. Moving the slider until the value “Human” is shown is how you pass the CAPTCHA test. Here’s a screenshot of how the slider looks when it is first presented:
And here’s how the slider looks when you have successfully moved it to Human:
Zen Cart Structured Data has been updated to support the new fields required by Google in JSON-LD for products: url, MPN, SKU, and priceValidUntil, as well as the new format for itemCondition and availability.
The wait is over – we now have a Zen Cart version which runs on PHP 7.3. This upgrade is recommended for all users; older versions will not run on PHP 7.2+ and will stop working as hosters deprecate PHP 5.6. Read the Zen Cart 1.5.6b release announcement get started!
Like many people, I got out of the blog habit when Google killed Google Reader, but I recently started using Reader (with Feedbin) so that I could enjoy blogs once again. Here’s what I’m reading these days:
One of my customers wanted to use Valid Cart for Zen Cart to apply the rules shown in the matrix below. If one of the products in the first column was in the cart, the customer also had to buy one of the products in columns 3-6, otherwise they would not be permitted to check out.
This is easily done with Valid Cart, which will block checkout unless the rule is passed. So trying to checkout with just product 489, for example (which is an add-on product) would not be permitted; the customer would need to add product 334, 385, 361 or 397 to the cart.
Sometimes you just need to change the line items on an order- increase a discount, reduce a shipping cost, or whatever, to keep a client happy.
You may or may not be able to do this with Edit Orders, but even if you can, this mod removes and replaces the records in the orders_products table, which may not be desirable (if you have additional fields in that table which are set using custom logic, as is the case for dropshippers).
I just did another install of Kitbuilder for Zen Cart, which allowed a religious products store to build a Mother’s Day bundle. They also used the Centerbox for Kitbuilder, which puts their bundled products front and center on the home page. Take a look: