Changelogs
March 12, 2012
Changes for the week ending 2012-03-11:
v0.7.2Added 3-D Secure Support for PayPal.
March 5, 2012
Changes for the week ending 2012-03-04
v0.7.1System will now show the error message on checkout if there is no response from SagePay gateway.
v0.7.2Fix for a currency format issue in the cart. i.e Price for “each” product is now displaying as
$X.XXinstead of$X.X.
February 27, 2012
Changes for the week ending 2012-02-26
v0.6.0 – v0.7.2Fixed a localization issue for Gateway responses. Gateway responses were still showing in English even if you change the language.
v0.7.2Added custom error messages for SagePay Gateway.
February 21, 2012
Changes for the week ending 2012-02-20
v0.7.2Updated the help text for email DNS in admin to explain TTL delays.
v0.7.0 – v0.7.2Fix for invalid country codes that were returned via geoip.
v0.7.2Fix for style issue in admin, for “Encode HTML” button.
February 7, 2012
Changes for the week ending 2012-02-06
v0.7.1SagePay 3D Secure Support is no longer available in v0.7.1. You can upgrade to
v0.7.2if you want to use it. (Impacted stores were emailed)
January 30, 2012
Changes for the week ending 2012-01-29
v0.3.0 – v0.7.0Fix for subscription queries so they can run without blowing up.
v0.6.0 – v0.7.2Fix for an error:
"UPS Error: Customer Classification Code is required with the requested Pickup Type", that occurs when users select “Suggested Retail Rates” as a drop type.v0.7.2Fix for coupon summary display bug, where individual valid coupon categories were not listed.
v0.7.2Even if a coupon only applies to a select few categories, the overview details for it lists as being applying to all categories. Applied fix for this issue.
v0.7.0 – v0.7.1Fixing Quantum checkout issue.
v0.7.2Single Sign On tokens were being validated using a case-sensitive method. This has been fixed.
v0.7.0 – v0.7.2Set the help text for several advanced setting checkboxes to display whenever the checkbox is checked.
v0.7.1 – v0.7.2Fix for taxes when combined with coupon discounts.
v0.7.1 – v0.7.2Fix for a tax issue related to very specific configurations of discounts and certain product configurations. Tax is now correctly assessed for discounted products.
v0.7.0 – v0.7.1Fixed Quantum and Authorize checkout issue. (Impacted stores were emailed.)
January 23, 2012
Changes for the week ending 2012-01-22
v0.7.2When creating a new store in the admin, it no longer becomes your default store automatically.
v0.7.2When using handling fees and live rates together, cart display was funky. This has been fixed.
v0.7.1 – v0.7.2Fixed Merchant e-Solutions live server address.
v0.7.2Added PayLine gateway.
v0.7.0 – v0.7.2When returning to the checkout after a gateway error as a new customer, the first password field was not being displayed correctly. This has been fixed.
January 16, 2012
Changes for the week ending 2012-01-15
v0.6.0 – v0.7.2Fix for a “Mixed-content” warning on signup page in Chrome.
v0.7.2Fix for First Data error that occurs when you the product description is greater than 100 characters. Added 100 character limit.
v0.7.2You can no longer disable PayPal Express as a payment option if you still have active PayPal Subscriptions.
v0.7.2The cart json now includes a
page_referrernode you can use for creating your own “continue shopping” link if you have a full page cart design.v0.7.2Fix for: If you filter transactions for transactions where the datafeed is unfed, and then feed a transaction, the resulting page doesn’t show the same filter you had previously. Same thing for resending an email or clearing download counts.
v0.7.2Coupons can now be configured to exclude category or line item discounts. This means you can ensure multiple discounts are not applied if the coupon is used.
v0.7.2Added some security improvements.
v0.7.1 – v0.7.2Fixed some documentation links in the admin.
January 13, 2012
Upgrading
Please view the upgrade notes in the wiki. If you have any issues with v0.7.2 please let us know.
Features
System Wide
Accurate payment type history is now included with each transaction.
When paying by plastic (credit / debit card), the masked payment card number and type is now included on the web-based and email receipts (in the
fieldset#fc_receipt_orderon the web-based receipt).To increase security and limit your PCI burden, we've removed the ability to view customer card holder data from the admin. If you rely on this functionality, please do not upgrade to v0.7.2 until you have set up and connected a live payment gateway to your account.
If you enable Domain Keys/DKIM in your DNS settings, you can now enable "use email domain keys" under the advanced settings to remove the "Sender" header when sending email receipts. This gets rid of the "sent on behalf of" message seen by some (Microsoft) email clients (like Hotmail and Outlook).
When searching for transactions or subscriptions in the admin (and when filtering via the API), you can now do partial matches by using the
*as a wild card.custom_field_nameandcustom_field_valuewere added to the filtering system used by the admin for transactions and subscriptions as well as the API.Attributes (name / value pairs) can now be saved via the API for transactions, subscriptions and customers. The admin and the API can then filter based on these values.
Added
^^subscription_modification_begin^^and^^subscription_modification_end^^as receipt and email place holders for showing custom messaging when a subscription is modified via a sub_token.Coupons can now be configured to exclude category or line item discounts. This means you can ensure multiple discounts are not applied if the coupon is used.
New Gateways
ANZ eGate (MiGS)
Beanstream
CommWeb (MiGS)
Echo
Fat Zebra
First Data Global Connect Web Service
Helcim
Litle
PayGate
PayLeap
PayLine
PayPoint Gateway Freedom + IMA
RBS WorldPay (Business Account)
Samurai
Stripe
WestPac
API & XML Datafeed
The API and the XML Datafeed now include a
store_versionnode which includes the store version.Instead of returning empty shipping address nodes, we now return the billing address information if an alternate shipping address wasn't specified.
The
past_due_amount_filternow works correctly for a subscription_list call. If you pass in a 1, it will be enabled, otherwise it will not.New
api_actionaddedstore_template_cachewhich requires atemplate_typeof cart, checkout, receipt, html_email or email and also accepts an optionaltemplate_urlfor setting a new location to cache the template from. Additionally, you can pass in anemail_subjectto set the subject of your receipt emails andsend_html_emailas a 1 or 0 to determine if you want to send text or text and html emails. Documentation.New
api_actionaddedstore_includes_getwhich acceptsjavascript_libraryas an input and returns the html include block needed for your store. This should not be called with each page load, but should be used only by systems that need to obtain this information once and store it. The store's API Key is not requried for this call. Documentation.New
api_actionaddedtransaction_datafeedwhich accepts atransaction_idto refeed a transaction to your datafeed processor script.New
api_actionaddedattribute_savewhich accepts aname,value,typeoftransaction, subscription, or customerand anidentifierrepresenting the transaction_id, sub_token (can also contain the full sub token url), or customer_id. You can also save a group of attributes all at once by passing in anattributesXML value instead of anameandvalue. Both versions support anappendvalue set to 1 which will append attributes instead of overwiting ones with the same name.New
api_actionaddedattribute_listwhich accepts atypeoftransaction, subscription, or customerand anidentifierrepresenting the transaction_id, sub_token (can also contain the full sub token url), or customer_id.New
api_actionaddedattribute_deletewhich accepts aname,typeoftransaction, subscription, or customerand anidentifierrepresenting the transaction_id, sub_token (can also contain the full sub token url), or customer_id. You can also pass inallset to 1 instead of anameto remove all attributes. If successful, it returns the list of attributes for that item.New
api_actionaddedcategory_listwhich returns all categories configured for the given store.New
api_actionaddeddownloadable_listwhich returns all downloadables configured for the given store.
Admin
CSV new field
is_anonymousadded to indicate if the customer checked out as a guest.CSV new field
discount_totaladded to display the total discount amount for coupons used for this transaction.CSV new fields
cc_typeandcc_number_maskedwhich will be included if the store supports paying by plastic.CSV new field
paypal_payer_idwhich will be included if the store supports paying by Paypal Express.CSV new field
process_responseto include the primary processor response.CSV new field
sub_token_urlwill contain a space separated list of sub_token_urls for the subscriptions in this transaction (if it has any).When exporting transactions from the admin including details, we're no longer duplicating the transaction header information so you can easily sum off the order_total fields. We're still including the order_number so you can group the data if needed.
The coupon management screen has been redesigned so you can now import coupon codes directly. You can also generate thousands of coupons at a time if needed.
The locale and currency settings have been moved to the settings menu.
You can now include multiple email addresses (separated by commas) in both the store email and the admin email fields. This is helpful if you want multiple receipients to be notified when an order takes place.
Set the help text for several advanced setting checkboxes to display whenever the checkbox is checked (patched back to 070).
Language Additions
Spanish language file added
downloadables_can_not_read_file
downloadables_maximum_downloads_reached
downloadables_not_found
downloadables_store_not_found
cart_notice_quantity_max
cart_notice_quantity_min
checkout_error_password_expired
checkout_password_sent_check_spam
checkout_modify_subscription_notice
checkout_download_links_not_available
Note checkout_downloadable_products was combined with checkout_downloadables_message and removed.
SagePay error 3068 description added (default is "The card type is not supported")
Improvements, Notes, & Bug Fixes
XML Datafeed: Changed Fields
cc_numberchanged tocc_number_maskedin the customer XML from the API
XML Datafeed: New Fields
transaction
is_hidden (indicates if the transaction has been marked as hidden in the FoxyCart admin)
data_is_fed (indicates if the data was fed to the XML Datafeed processor)
cc_start_date_month
cc_start_date_year
cc_issue_number
processor_response_details
PaymentType (exists for PayPal Express Checkout transactions)
attributes
attribute
id
store_id
transaction_id
sub_token
customer_id
name
value
date_modified
date_created
subscription
attributes
attribute
id
store_id
transaction_id
sub_token
customer_id
name
value
date_modified
date_created
customer
attributes
attribute
id
store_id
transaction_id
sub_token
customer_id
name
value
date_modified
date_created
Customer API XML New Fields
cc_start_date_month
cc_start_date_year
cc_issue_number
Miscellaneous Changes
The default "sample code" has been upgraded to use jQuery 1.6.4 and Colorbox 1.3.18.
Duplicate coupon codes are no longer allowed. If you try to edit or create a coupon using a coupon code that is already in use for your store, you will see an error message in the admin.
Changed
issue_numberfield on the checkout tocc_issue_numberChanged
start_monthfield on the checkout tocc_start_date_monthChanged
start_yearfield on the checkout tocc_start_date_yearThe API now checks for a valid
customer_countrywhen doing acustomer_saveAPI action on an existing customer. If this value is not provided for new customers, it will be defaulted to the store country. We've had reports of the checkout page not functioning correctly and it's due to invalid data in the customer record.FC.checkout.config.orderShipmentWeightandFC.checkout.config.orderFutureShipmentWeighthave been renamed toFC.checkout.config.orderLiveRateShipmentWeightandFC.checkout.config.orderFutureLiveRateShipmentWeightand now only include product weights for products with a delivery_type of 'shipped' (i.e., live shipping rates).FC.checkout.config.multishipWeightshas been renamed toFC.checkout.config.multishipLiveRateShipmentWeightsand now only includes product weights for products with a delivery_type of 'shipped' (i.e., live shipping rates).Added
delivery_typeto the products jsonAdded
FC.checkout.config.multishipDetails[].hasShippableProductsandFC.checkout.config.multishipDetails[].hasLiveRateShippableProductsto the checkout javascriptFix for mulitship orders consisting of both live shipping rate and flat shipping rate products.
Added a
resume()method to theeventobject infoxycart.js, which allows for asynchronouspreprocessandprocessfunctions to be executed.Changed
start_yearfield on the checkout tocc_start_date_yearChanged
total_weightin the cart json to include the weight of all products in the cart while addingtotal_shippable_weightto include just the weight of the shippable items in the cart. Shippable items are items using a product delivery type of shipped or flat rate. All other internal order weight calculations related to shipping now only use shippable product weight.Added
quantity_minandquantity_maxto the cart json. If the value is 0, no value was specified.Fixed a bug which didn't include handling fees for flat rate shippable products unless the flat rate shipping amount was > 0.
Fixed a bug with store cache data when modifying a store domain
The payment card field wasn't properly validating on change in the checkout.
Downloadable file error messages are now customizable.
Fix in the checkout.js so that shipping and billing location objects are completely independent which allows for restricting states for shipping independently from billing.
Fix for the checkout error session language string which wasn't pulling correctly from the language customizations (patched back to 070).
The admin transaction display, CSV export and XML Datafeed now repeat the billing information as the shipping information when specific shipping information was not provided.
Fix for using SSO with an invalid customer_id. Also added some logging for SSO interactions.
Fix for custom checkout language strings with carriage returns causing the javascript to break. They are now replaced with break tags.
Fix for when a session identifier was not correclty passed to FoxyCart (patched back to 060)
Fix for an issue with the
updateinfocart action where the updateinfo item existed in the cart if you cancelled out of the process. Now, it will only persist as long as that action is the desired action, otherwise the cart will remain empty.Fix for the receipt not showing the Country Name but instead only showing the Country Code
Fix for the Subscription XML Datafeed not sending soon to expire card numbers unless that same store also had subscriptions that met the criteria for the sub datafeed.
Soon to expire card numbers now only include numbers that will expire this month, not next month. This change was requested because many banks do not issue a new card until the last month it is active.
Added the ability to resend the Subscription XML Datafeed directly via the admin under the advanced menu.
Added a check against the HTTP status code response when sending the Subscription XML Datafeed. Anything other than a 200 gets logged in the store's error logs.
Fix for
cart_emptycustom language string not being displayed properly with an empty cart and cart=view (patched back to 070).Fix for category discounts not properly respecting the "single" or "repeat" discount type (patched back to 071).
Fix for percentage based coupon discounts not working as expected in some situations.
Adding password hashing method for Webvanta (patched back to 071).
You can now reset the download count per downloadable product so your customers can re-download the file again.
You can now upload a new downloadable file without breaking download links for customers who bought a previous version of the file.
The admin will no longer let you add a downloadable with a product code that already exists in that category.
Downloadable product codes are limited to alpha numeric characters along with
.,_and-.You can now resend email receipts directly from the transaction history in the admin.
The transaction history end date filtering in the admin now defaults to tomorrow instead of the last completed transaction to avoid confusion.
When the cart quantity of an item is outside the range of the quantity_min or quantity_max, a note is displayed to the customer indicating the quantity was automatically adjusted.
When matching a city name it now trims the string and removes any non-alphanumeric characters before comparing against the values configured in the admin.
Fixed an admin display issue when first added a tax ending in "0"
When using multiship with only one shipto group, the shipping service wasn't being displayed (patched back to 070).
Updated the API *_list calls to be 1-based instead of 0-based for pagination_start values. This is more consistent with the messaging displayed and with how items are filtered in the admin.
When prepopulating customer_country or shipping_country on the checkout, you no longer need to include customer_country_name or shipping_country_name as well.
Checkout prepopulation values will now be cleared out whenever an empty cart is performed.
Fix for a missing
"in the checkout near the ajax loading image. (Patched back to 0.7.1.)Added the product id as a class to the surrounding element in the cart table, formatted as
product_PRODUCTIDAdded a class of
fc_cart_item_detailsto the element wrapping the product name and attributes in the cart tableAdded a span with a class of
fc_cart_item_namearound the product name in the cart tableAdded a check to prevent links to an orders receipt on a store website from opening in the colorbox
Updated the FoxyCart instance of Colorbox to add a class of
fc_cboxto the colorbox div to allow for unique styling of the Colorbox when using it for the cart. Accounted for the new class in the close button styling instyle1_fc/colorbox.cssto ensure the "continue shopping" styling only appears for a FoxyCart initiated ColorboxAdded a new config variable
FC.checkout.config.isValidto the checkout which when set to false prevents the checkout from submitting, allowing for custom validations to prevent the cart from validatingAdjusted the cart image size to be 100px instead of 150px and to be 50px on the checkout and receipt pagees.
When using the Purchase Order payment method, downloadable links will not be shown on the receipt or in the receipt email. They will have to be sent manually by the store administrator.
Updated all URL fields in the admin to be 300 characters in length.
Updating the temporary password to only be valid for 30 minutes.
When the order includes shippable products, the shipping address is now displayed in both the receipt and the receipt email even if it is the same as the billing address.
The PayPal Expresss image in the cart has been updated to use a static image which loads much faster than the dynamic images used previously.
When the order includes downloadable products and the payment method is eCheck via PayPal, download links are not shown to the customer and FoxyCart sends a special response details entry in the datafeed.
You can now specify up to 3 characters in the subscription frequency which allows you to set up a subscription to run ever 120 days, as an example.
Fixed the admin validation when creating a coupon that would not let you setup a coupon valid for only one day. Now the start date and end date can be the same date (patched back to 0.7.0)
Fixed an issue with multiship group totals are over $1,000 not displaying correctly in receipt emails (patched back to 071).
You can no longer disable PayPal Express as a payment option if you still have active PayPal Subscriptions.
The cart json now includes a
page_referrernode you can use for creating your own "continue shopping" link if you have a full page cart design.Change for the PayPal Profile ID filter to filter off the profile id displayed in the admin and not the third party id recurring payment ProfileID returned by PayPal.
Updated WorldPay gateway to support test firstnames and to use the correct shopper email address and ip (patched back to 071).
When creating a new store in the admin, it no longer becomes your default store automatically.
When updating the receipt template via the API, the
use_receipt_templatecheckbox in the admin will be turned on automatically.The payment card, type and expiration date is now shown in the admin for both the transaction history and the subscription page.
Because of a limitaton in PayPal's system, we're now including the product attributes as part of the product name and not just in the description field. The product name and the product attributes are separated by
--.When returning to the checkout after a gateway error as a new customer, the first password field was not being displayed correctly (Patched back to 0.7.0).
When using the "Suggested Retail Rates" drop type for UPS shipping, a " Customer Classification Code is required with the requested Pickup Type" error would result. We now default to a Retail (04) Customer Classification Code for this drop type (patched back to 0.6.0).
Single Sign On tokens were being validated using a case-sensitive method. This has been fixed.
Added the coupon code used to the admin's transaction history display.
Fixed a bug where multiple, non-combinable coupons could be applied to the same order if they are initially evaluated but don't yet apply.
Fix for an issue with specific gateway responses that were available only in English even though they were translated to other languages.
Fixed a currency format bug where the "price each" value could be missing a 0 on the end.
Fixed a bug in the admin when creating a store or deleting a store from an existing 071 or 072 store, the resulting admin interface would be the wrong version. This would cause (among other things) the sample code section to show the wrong include files. This has been patched back to all versions of the admin.
Adding the following User Agent header to the transaction and subscription datafeed requests from our system
FoxyCart Webhook v0.7.2 (http://wiki.foxycart.com/v/0.7.2/webhooks)Flat rate shipping amounts for subscriptions are now configurable per subscription (instead of using the amount configured on the category). This allows stores using custom checkout JavaScript snippets to run the same flat rate amount as the original transaction (or adjust it as needed). Subscriptions using live rate shipping amounts will still be recalculated.
When customers were created via the API without specifying the
customer_password_hash_typeand when the store used a non-default password hashing method, the customer would not be able to login correctly. We updated the login code to use the hash type and hash config from the store if the customer values were blank before checking the customer password.The admin was not properly clearing out the payment gateway key when switching gateways. This was particularly a problem for USAePay because it was sending along the previous value configured which was causing the transaction to fail (patched back to 0.7.0).
Fix for flat rate and future subscriptions where the shipping was being double charged.
Fix for multiship orders from multiple categories using flat rate shipping and one of those categores is configured for $0 flat rate shipping. The shipping amount was being doubled.
January 3, 2012
Changes for the week ending 2012-01-01
v0.7.2Fix for a SagePay issue.
December 27, 2011
Changes for the week ending 2011-12-25
v0.7.2Fixed the admin validation when creating a coupon that would not let you setup a coupon valid for only one day. Now the start date and end date can be the same date (patched back to 0.7.0)
v0.7.0 – v0.7.2Fix an issue with IE9 and the filter select boxes in the admin.
December 20, 2011
Changes for the week ending 2011-12-18
v0.7.2
FC.checkout.config.multishipWeightshas been renamed toFC.checkout.config.multishipLiveRateShipmentWeightsand now only includes product weights for products with adelivery_typeof ‘shipped’ (i.e., live shipping rates).v0.7.2Added MODX Revo Password hashing.
v0.7.2Duplicate coupon codes are no longer allowed. If you try to edit or create a coupon using a coupon code that is already in use for your store, you will see an error message in the admin.
v0.7.2Added PayLeap gateway.
v0.7.0 – v0.7.2Fix for the issue with subscriptions created the day before they run not being set as future subscriptions.
v0.7.2Fixed a bug related to currency format.
v0.7.2Fixed an issue with multiship group totals are over $1,000 not displaying correctly in receipt emails (patched back to 071).
December 13, 2011
Changes for the week ending 2011-12-11
v0.7.2Fix for an issue that occurs when you use the subscription API but there are no past due accounts, only about to expire cards.
v0.7.2Improvements in Helcim gateway implementation
v0.7.1Fix for a SagePay error.
v0.7.2Live shipping rates now only send the total weight of products configured for live shipping, not the weight of all products in the cart.
v0.7.2Changed
total_weightin the cart json to include the weight of all products in the cart while addingtotal_shippable_weightto include just the weight of the shippable items in the cart. Shippable items are items using a product delivery type of shipped or flat rate. All other internal order weight calculations related to shipping now only use shippable product weight.v0.7.2Fix for product validation problems on FoxyCart-cached product thumbnail images.
v0.7.2Added CSV new field:
sub_token_urlwill contain a space separated list ofsub_token_urlsfor the subscriptions in this transaction (if it has any).
December 5, 2011
Changes for the week ending 2011-12-04
v0.7.2Fix for a fatal error with sagepay.
v0.7.2Spanish language file added.
v0.7.2Fix for standard style issue.
November 28, 2011
Changes for the week ending 2011-11-27
v0.7.2Fix for downloadables list not showing up after uploading a new file.
November 22, 2011
Changes for the week ending 2011-11-20
v0.7.2Fix for error on canceling subscription.
v0.7.2Fix for First Data subscription issue.
v0.7.0 – v0.7.2Fix for an issue with exporting transactions.If you deleted a category that was used in a transaction, you could no longer export the transaction details.
v0.7.2Fix for error that occurs on checkout, when the shipping country is not entered.
v0.7.2Fix for the stores with special characters in the name were failing to send password reset emails.
v0.7.2Fix temporary passwords so they are valid for only 30 minutes.
v0.7.2Instead of returning empty shipping address nodes, we now return the billing address information if an alternate shipping address wasn’t specified.
v0.7.2The PayPal Express image in the cart has been updated to use a static image which loads much faster than the dynamic images used previously.
v0.7.2The locale and currency settings have been moved to the settings menu.
v0.7.2Showing PayPal EC PaymentType in the response details.
v0.7.2When the order includes downloadable products and the payment method is eCheck via PayPal, download links are not shown to the customer and FoxyCart sends a special response details entry in the datafeed.
November 14, 2011
Changes for the week ending 2011-11-13
v0.7.0 – v0.7.1Fixes cache errors related to store version switching.
v0.7.1Fix for a Quickbooks invalid XML response.
November 7, 2011
Changes for the week ending 2011-11-06
v0.3.0 – v0.7.1Fixed a bug that would prevent email from being sent for stores with special characters not valid for email headers in the name such as “.” or “,”.
v0.5.1 – v0.7.1Added error logging when emails are not sent correctly.
v0.6.0 – v0.7.1Added language explaining the difference between an admin login and a customer billing login.
v0.7.0 – v0.7.1Added request/response logging to PayPal.
v0.6.0 – v0.7.1Security improvements in the admin.
v0.6.0 – v0.7.1Build PayPal links with language specific locales to greatly improve PayPal button load times (versus their dynamic button).
v0.7.1Fix for Quickbooks locale-specific currency formatting.
October 31, 2011
Changes for the week ending 2011-10-30
v0.6.0 – v0.7.1Fix for captcha images.
v0.7.0 – v0.7.1Fix for “check all” box at the bottom of the transaction history page.
v0.7.0 – v0.7.1Added logging to all transaction email receipts.
October 24, 2011
Changes for the week ending 2011-10-23
All versionsFix for Google Analytics goal tracking on the admin.
All versionsUpdated FC Colorbox instance to add unique class to the Colorbox
divon open, to allow for using unique styling on the cart (most commonly the “continue shopping” link) while allowing for normal Colorbox operation.v0.7.1Fix for an error that occurs when someone tries to cancel a PayPal Express subscription.