Our Terms of Service has been updated to better reflect billing policies, and to provide additional notice on any potential price changes in the future.
v0.7.0 - v0.7.2Fixed some broken documentation links in admin.
All versions On Admin signup, password is validated through JavaScript but you get an error after submitting it. This issue has been resolved.
v0.6.0 - v0.7.2Updated admin button styles.
v0.6.0 - v0.7.2Fix to restrict card holder data access to the specific store the user was granted access to.
v0.7.0 - v0.7.2 Documentation links in admin will now open in new window.
v0.7.2 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.
v0.7.2 Fix for coupon price discounts not being constrained to the correct category.
v0.7.2 When customers were created via the API without specifying the customer_password_hash_type
and 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.
v0.7.2 Fix for future subscriptions and taxes.
All versionsFixed broken links in Welcome email.
v0.7.0 - v0.7.2cc_type
was not properly saving or being updated on the customer record after each transaction. This has been fixed now.
v0.6.0 - v0.7.2Updated the Admin forgot password process. User will now have to use a temporary forgot password access link sent via email, instead of actually changing the existing password. Also, if the forgot password link is not expired, the user does not have to enter their current password in order to change it.
All versionsAdmin interface is redesigned to match with new FoxyCart site.
v0.7.0 - v0.7.1Fixed "encode html" button's styling issue in admin.
All versionsroot@
is removed from SSL Order Form, because it is no longer supported by RapidSSL.
All versionsFixed 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.
v0.7.2 Fixed an error for Beanstream gateway that could error on when a state value was passed in on certain countries.
v0.7.2Added 3-D Secure Support for PayPal.
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.XX
instead of $X.X
.
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.
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.
v0.7.1SagePay 3D Secure Support is no longer available in v0.7.1. You can upgrade to v0.7.2
if you want to use it. (Impacted stores were emailed)
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.)
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.
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_referrer
node 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.
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_order
on 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_name
and custom_field_value
were 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.
The API and the XML Datafeed now include a store_version
node 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_filter
now works correctly for a subscription_list call. If you pass in a 1, it will be enabled, otherwise it will not.
New api_action
added store_template_cache
which requires a template_type
of cart, checkout, receipt, html_email or email and also accepts an optional template_url
for setting a new location to cache the template from. Additionally, you can pass in an email_subject
to set the subject of your receipt emails and send_html_email
as a 1 or 0 to determine if you want to send text or text and html emails. Documentation.
New api_action
added store_includes_get
which accepts javascript_library
as 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_action
added transaction_datafeed
which accepts a transaction_id
to refeed a transaction to your datafeed processor script.
New api_action
added attribute_save
which accepts a name
, value
, type
of transaction, subscription, or customer
and an identifier
representing 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 an attributes
XML value instead of a name
and value
. Both versions support an append
value set to 1 which will append attributes instead of overwiting ones with the same name.
New api_action
added attribute_list
which accepts a type
of transaction, subscription, or customer
and an identifier
representing the transaction_id, sub_token (can also contain the full sub token url), or customer_id.
New api_action
added attribute_delete
which accepts a name
, type
of transaction, subscription, or customer
and an identifier
representing the transaction_id, sub_token (can also contain the full sub token url), or customer_id. You can also pass in all
set to 1 instead of a name
to remove all attributes. If successful, it returns the list of attributes for that item.
New api_action
added category_list
which returns all categories configured for the given store.
New api_action
added downloadable_list
which returns all downloadables configured for the given store.
CSV new field is_anonymous
added to indicate if the customer checked out as a guest.
CSV new field discount_total
added to display the total discount amount for coupons used for this transaction.
CSV new fields cc_type
and cc_number_masked
which will be included if the store supports paying by plastic.
CSV new field paypal_payer_id
which will be included if the store supports paying by Paypal Express.
CSV new field process_response
to include the primary processor response.
CSV new field sub_token_url
will 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).
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")
cc_number
changed to cc_number_masked
in the customer XML from the API
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
cc_start_date_month
cc_start_date_year
cc_issue_number
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_number
field on the checkout to cc_issue_number
Changed start_month
field on the checkout to cc_start_date_month
Changed start_year
field on the checkout to cc_start_date_year
The API now checks for a valid customer_country
when doing a customer_save
API 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.orderShipmentWeight
and FC.checkout.config.orderFutureShipmentWeight
have been renamed to FC.checkout.config.orderLiveRateShipmentWeight
and FC.checkout.config.orderFutureLiveRateShipmentWeight
and now only include product weights for products with a delivery_type of 'shipped' (i.e., live shipping rates).
FC.checkout.config.multishipWeights
has been renamed to FC.checkout.config.multishipLiveRateShipmentWeights
and now only includes product weights for products with a delivery_type of 'shipped' (i.e., live shipping rates).
Added delivery_type
to the products json
Added FC.checkout.config.multishipDetails[].hasShippableProducts
and FC.checkout.config.multishipDetails[].hasLiveRateShippableProducts
to the checkout javascript
Fix for mulitship orders consisting of both live shipping rate and flat shipping rate products.
Added a resume()
method to the event
object in foxycart.js
, which allows for asynchronous preprocess
and process
functions to be executed.
Changed start_year
field on the checkout to cc_start_date_year
Changed total_weight
in the cart json to include the weight of all products in the cart while adding total_shippable_weight
to 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_min
and quantity_max
to 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 updateinfo
cart 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_empty
custom 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_PRODUCTID
Added a class of fc_cart_item_details
to the element wrapping the product name and attributes in the cart table
Added a span with a class of fc_cart_item_name
around the product name in the cart table
Added 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_cbox
to 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 in style1_fc/colorbox.css
to ensure the "continue shopping" styling only appears for a FoxyCart initiated Colorbox
Added a new config variable FC.checkout.config.isValid
to the checkout which when set to false prevents the checkout from submitting, allowing for custom validations to prevent the cart from validating
Adjusted 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_referrer
node 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_template
checkbox 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_type
and 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.
v0.7.2Fix for a SagePay issue.
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.
v0.7.2FC.checkout.config.multishipWeights
has been renamed to FC.checkout.config.multishipLiveRateShipmentWeights
and now only includes product weights for products with a delivery_type
of ‘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).
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_weight
in the cart json to include the weight of all products in the cart while adding total_shippable_weight
to 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_url
will contain a space separated list of sub_token_urls
for the subscriptions in this transaction (if it has any).
v0.7.2Fix for a fatal error with sagepay.
v0.7.2Spanish language file added.
v0.7.2Fix for standard style issue.