Charge is on version 2.2.2, released on Jan 26, 2018, and has had 32 public releases.

Charge 2.2.2 – Jan 26, 2018

  • Added getPaymentById, getChargeById, getSubscriberByChargeId methods to the craft.charge variable.

  • Fixed an issue where the default value of the to field in emails might not be populated. (h/t Benoît Rouleau)

  • Fixed a bug that caused a PHP error when sending recurring emails. (h/t Benoît Rouleau)

  • Added logic to update a user's membership subscription and user group when changing their plan with the charge/updateSubscription self-service endpoint. (h/t Benoît Rouleau)

  • Updated for Top Shelf Craft transition.

Charge 2.2.1 – Apr 11, 2017

  • Fixed an issue with checking the state of Connect on some setups

  • Fixed an issue that would cause emails to fail to send for subscriptions when setup via the CP caused by a bad handle/name combo on the email trigger

Charge 2.2.0 – Apr 9, 2017

  • Added full support for Stripe Connect. You can use Connect to build marketplaces, multi-vendor setups and more. Connect sub-accounts and collect application fees for payments with minimal extra setup. All Connect related features are handled via a new Connect fieldtype.

  • Added the ability to Update and move active subscriptions from the front-end. You can now let customers self-service and modify their active subscriptions. When changing their plan, all pricing and period differences will be automatically pro-rated, and updated dynamically.

  • Added a new onChang` trigger type. Triggered when a customer changes their subscription via the new self service updateSubscription options.

  • Added support for custom error message translations on the front-end, just pass a config object with translations into the charge jquery helper

  • Updated handling of subscription checks, and internal api checks to maintain better consistency through out our local records.

  • Updated bundled stripe libraries to take advantage of new api options.

  • Updated logging to better handle rare edge case errors and fallbacks

  • Updated compatibility checks for new cases and fixes

  • Updated demo templates new improved starter account area templates.

  • Fixed too many bugs to list.

Charge 2.1.8 – Nov 29, 2016

  • Fixed a bug in the upgrade migration that would throw an error on some setups, causing the previous migration to fail.

  • Fixed a bug in the jquery.charge.js that would cause an error when used along side jQuery 3.x

  • Added support for supplying translated error messages as part of the charge js init

Charge 2.1.7 – Nov 22, 2016

  • Added a new compatibility check within the settings area, with direct checks for most common causes of server issues (ie. TLS < 1.2), along with steps to help fix.

  • Added New Zealand Dollar (nzd) as a supported currency.

  • Added new currency and plan amount direct options for displaying info in the charge overview table.

  • Fixed a compatibility issue for the latest version of Craft, removing usage of CRAFT_BUILD, VERSION and TRACK.

  • Fixed an issue that stopped ordering of charges based on payment amount.

  • Fixed a bug where the payments currency symbol in the charge element table would incorrectly show as USD, regardless of the actual currency.

Charge 2.1.5 – Oct 20, 2016

  • Updated how the payments are retrieved for the main element view to massively improve performance on installs with a large number of payments.

  • Updated how Charge stores it's license state to fix an intermittent bug on some Craft installs where the Pro edition state could be temporarily lost until the license was rechecked.

  • Updated the logging output help debug situation where the Stripe API rejects api calls due to installs having lower than TLS 1.2

  • Fixed a bug where a charge with a subscription could return a null subscription.

  • Fixed a bug in the CP where some filters wouldn't update the main element view.

Charge 2.1.3 – Aug 30, 2016

  • Fixed a bug where payments in live mode were mistakenly marked as paid in test mode.

  • Fixed a bug in the included demo templates that was causing triggered actions on multiple choice plans to be silently ignored due to a bad naming error.

  • Fixed a bug in the way the email error conditions were logged.

  • Cleaned up various legacy code references.

  • Fixed a bug where guest registration would fail silently instead of returning a user side error.

  • Fixed up some left over debugging from guest registration setup.

  • Updated the way guest registration post-activation behaves for some setups with non-standard site and user configurations.

  • Updated the handling of guest registration logging to make it clearer in the Logs what's going on, and where any errors might be occurring.

  • Updated how invalid customer details are handled at the service level. Now creates customers that we were meant to have, but failed to find as needed.

  • Updated the handling of an edge case where customers that have been removed from the Stripe api, but we still have recorded locally. Now we will catch the issue internally and create a new customer as required instead of returning a user visible "No customer .." error.

Charge 2.1.2 – Aug 1, 2016

  • Fixed a bug in the guest registration service caused by left over debugging.

Charge 2.1.1 – Jul 29, 2016

  • Fixed a php error that would be thrown within the CP for some charges without subscriptions.

Charge 2.1.0 – Jul 6, 2016

  • New Guest Registrations! Guest registrations let you register users directly as part of your payment forms, including all their user fields. Also Charge will keep track of the user and automatically suspend or remove their account at the end of their charge's life. Pair with user subscriptions for really powerful membership sites.

  • New Self Service! With just a few simple tags your users can now self-service their recurring payment subscriptions. Give them new options to self-cancel their payments.

  • New - Admins can now refund payments direct from the Charge admin area.

  • New - Admins can now cancel recurring subscriptions from the Charge admin area.

  • New - specify your Stripe public key directly on your form markup via data-stripeKey attributes, instead of just in your init js.

  • Updated demo templates to use cleaner javascript options.

  • Updated the included javascript library for much cleaner setup to allow passing a config array.

  • Updated the wording of webhook setup in the CP

  • Updated the Charge Settings overview to include a more specific element setup reference.

  • Updated the Charge element setting handling to be more explicit in the required settings.

  • Updated the exception handling when dealing with action triggers to more cleanly fallback in error states.

  • Updated the self-truncation of charge logs to be much smoother.

  • Updated the default charge element view sort order so new Charges are at the top of the view.

  • Updated the Charge element view to with a new Status indicator, with appropriate dynamic language if the charge was one-off, recurring, refunded, cancelled, expired and more.

  • Updated various language and layout issues on the charge detail views.

  • Added a user model to the Charge model to allow neat validation and user attachments.

  • Added a Charge payment status enum.

  • Added support for Payment states.

  • Added new debug error log levels. Only logged when the site is in devMode.

  • Fixed a bug on the license check handling, and reverted an earlier regression.

  • Fixed the some situations that would cause issues with the Charge logs when running with a non default database table prefix.

  • Removed some unneeded element settings on the charge view for better consistency with Craft's default views.

Charge 2.0.4 – Jun 1, 2016

  • Added a new example trigger to demo and test actions.

  • Added a new test log state

  • Updated logging on membership subscription actions to be more helpful.

  • Cleaned up some legacy functions in the webhook service.

  • Updated various CP template titles for better consistency.

  • Renamed success template to thanks to match the demo templates.

  • Fixed a bug that would cause recurring actions to fail to fire

  • Fixed a bug that would stop recurring emails on membership subscriptions from always triggering correctly.

  • Fixed a meta data issue on recurring payments. Meta data now is included on customers, as well as payments.

  • Fixed the color of the payment mode badge on the payment table in the Charge detail view.

Charge 2.0.3 – May 23, 2016

  • Added support for event->performAction = false to prevent any of the event hooks - onCharge, onBeforeCharge and onValidate from continuing

  • Added more useful error language and logging when the security event stops a payment submission. You'll now see a "Charge 403 PCI Keys" error for guests, and a more detailed explanation for admins.

  • Added support for third parties to specify a specific Stripe customer on a payment, in extension to how Charge detects a returning customer.

  • Updated the security event to also trigger a detailed log item.

  • Renamed the success demo template to thanks to match the default path setting

  • Updated some event log locations for better consistency.

  • Tweaks on some CP log styles.

  • Updated the bundled vendor package versions.

  • Fixed and reintroduced the onValidate event

  • Fixed a bug in how saved payment cards are handled and reused.

  • Fixed a possible conflict with a legacy guzzle library in one of the vendor packages

  • Fixed a bug in a legacy migration that would cause an update to fail.

Charge 2.0.2 – May 17, 2016

  • Added a safety trim on the Stripe keys. Charge will now try to tidy up your api keys before assignment if you include whitespace.

  • Updated the log table views with some visual tweaks and cleanup

  • Updated the handling of Connection validation calls to better work for test + live checks in the same call.

  • Updated the bundled demo templates to use the combined card expiry field vs. separate month and year inputs.

  • Fixed a bug in the migration for upgrades from early 2.0 beta versions

  • Fixed a bug in the available mode connection validation caching.

Charge 2.0.1 – May 13, 2016

  • Added support for custom fields to be added to the table view on Charges

  • Added support for planCoupon as a legacy alias for the coupon, also for all errors and validation logic

  • Fixed an error in the migration that'd cause some upgrades from some versions of 1.x to fail

  • Fixed the missing sub-nav sidebar when viewing the Charge settings page

  • Fixed an error on the charge model validation that would be thrown when used with custom validators

  • Fixed a missing onValidate event

Charge 2.0.0 – May 11, 2016

  • Charge 2 is here! 2.0 brings massively powerful new features, along with a completely rewritten core.

  • New License model - now available in Free and Pro versions

  • Emails - Charge can now send emails against charge events, recurring, failure, subscription start, end and more

  • Membership Subscription - build out membership sites with ease

  • Action Triggers - you can now specify extra actions to trigger after events, both immediately on success and against later events!

  • Secured Payment Options - specify all your payment options with fully secure and lock down your payment forms

  • Payment records - now Charge will keep track of all future payments against a Charge

  • Field Support on Charges - you can now add fields and unlimited content to Charges

  • Saved Cards support for all logged in users. Let your customers reuse their payment info with a single line in your templates

  • More Currencies - take payments in over 160 currencies, all on the same site

  • Stripe Checkout Support - get a payment page going in seconds with new Checkout support

  • Activity Logs - keep track of every actions and reaction on your site

  • Multi-Environment Config support - specify all your config keys in your config files for simple multi-enviroment support

Charge 1.5.1 – Jan 29, 2016

  • Added the ability to delete Charges in the CP.

  • Added the ability to filter charges in the CP by mode and type

  • Updated meta data handling. Now meta data will apply both to the customer and child charges if they exist for the request that spawned them.

  • Fixed some styling issues when running on Craft 2.5

  • Fixed an issue on installs with mysql strict affecting coupon creation

  • Fixed an issue where Stripe now refers to a card type as card brand. Actual tags implementation is unchanged, but we now properly retain the data through from token creation

  • Fixed an issue where ajax triggered calls weren't always returning with enough error data to fully populate the form again if there were meta data errors attached.

Charge 1.5.0 – Nov 26, 2015

  • Added support for Craft 2.5 with new release feed, documentation url and icon sets.

  • Added full ajax return handling for the primary payment controller. Now you can submit your payments fully via ajax and get all the details back and ready to use.

  • Fixed a number of bugs related to card type handling not being recorded properly in the CP

  • Fixed a php error related to php 5.3 strict conditions

  • Updated the built in demo templates for better portability

Charge 1.4.5 – Sep 4, 2015

  • A permissions error when creating and validating Coupons where the user wasn't an admin, but had been granted permissions to access the Charge CP

  • Some minor inconsistencies in variable formatting

Charge 1.4.4 – Jul 17, 2015

  • A missing CSRF input on the backend coupon form that would prevent coupons from being created when csrf protection was enabled site wide.

Charge 1.4.2 – May 19, 2015

  • New coupon validation endpoint 'charge/coupon/validate' for out of flow coupon validation. Details (here)[http://squarebit.co.uk/software/craft/charge/docs/coupon--validation]

  • Handling of member edge cases

  • Static helper usage for some php enviroments

Charge 1.4.0 – Mar 13, 2015

  • Charge now will attempt to find an existing customer record on Stripe for logged in users. If found it will reuse that record rather than creating a new customer and update all the values of that customer at the same time

  • Support for meta[] fields in the payment form. All values are stored both locally and passed to Stripe attached to the customer record.

  • Charge now records the stripe customer id for all purchases, available as {{ charge.stripeCustomerId }}

  • Charge now records the stripe payment id for one-time payments, available as {{ charge.stripePaymentId }}

  • CP views to expose new links direct to the Stripe dashboard for customers and payments, as well as exposing any recorded meta data

Charge 1.3.9 – Mar 6, 2015

  • Additional details are now stored against each payment event for later identification

  • CP views to expose more stripe information and link directly to the appropriate stripe customer and transaction where available

  • A possible error condition when hitting the payment controller with invalid data from an valid source

  • An unclear error message to help debugging situations

Charge 1.3.7 – Jan 9, 2015

  • A bug that'd throw an error on php 5.6.x where we were using a static method incorrectly

  • A bug that'd sometimes prevent the CP payment views from fully loading

  • The hash() variable function which wasn't returning the correct criteria as documented

  • The readme and licenses with updated links

Charge 1.3.5 – Jul 24, 2014

  • A minor record attribute type inconsistencies that would truncate our stored Stripe return records

  • A bug in the currency detection that would sometimes default the display currency to USD

  • A library issue that would throw an issue on some php environments

Charge 1.3.4 – May 30, 2014

  • A left over debug message

Charge 1.3.3 – May 8, 2014

  • Stripe api usage for new subscription api setup

  • A bug when creating a new non-recurring coupon in the CP

  • How coupon values are calculated for better consistency

  • A message error where some error messages would be ignored when returning from the Stripe api, and a generic error would be shown in their place

  • A style inconsistency introduced in Craft 2.0

Charge 1.3.2 – Apr 21, 2014

  • Added small fix for a breaking change in Craft 2.0 in the Element model

Charge 1.3.1 – Apr 7, 2014

  • A bug affecting coupon value calculation where we were being overly protective on minimum values

Charge 1.3.0 – Feb 24, 2014

  • Added Coupons to Charge. You can now set one-off and recurring discounts using coupons

  • Charge now locks into a specific Stripe API version. No need to worry about any breaking api changes!

  • New attributes on the charge model for cleaner templating

  • The bundled javascript library for nicer fallbacks

  • The Stripe api library to the latest version to use the new api options

  • Added a progress indicator option to the built in charge.js library. If you don't specify any value, the charge.js will look for an element with the class 'charge-indicator'

  • A bug in the record logic that'd sometimes get confused by character encodings

  • A migration bug that would fail to create some foriegn keys on some mysql setups

  • A migration bug that would leave a version with some orphaned data

Charge 1.2.0 – Dec 12, 2013

  • Added descriptions to the Charge model. You can now set a description simply for any payment. That value will be passed over to Stripe and is used there as the email receipt subject

  • Under the hood reworking of model handling for better consistency

  • Improved card address handling. Now all possible data is passed and recorded

  • Removed some redundant record calls to better support developers overloading the logic routines

  • The CP detail view is slightly tweaked and now displays description details

  • Added key indexes to searchable indexes in the Charge record

  • Card expiry details are now recorded locally

  • Better handling for User based transactions in our records. Useful if you need to tie Charges against users later

  • A minor formatting bug on some calls to the Stripe api

Charge 1.1.0 – Nov 26, 2013

  • Added a spiffy full detail view for each charge in the CP

  • A new Notes field for admin use per transaction

  • Full handling and fallbacks to save all the information we can that comes back from Stripe. (update your front-end forms to get all the data)

  • Now supports all possible Stripe currencies, including all beta currencies. Covering : usd, gbp, eur, cad, aud, hkd, sek, dkk, pen and jpy. Check your Stripe account to see what's available for your account.

  • Improved wording in the CP table view for recurring transactions

  • Tightened up the CP settings form

  • Re-factored internal models for consistency

  • Updated bundled charge.js for better error handling

  • Added new default fallbacks for various simple uses

  • formatCard and formatPlanAmount now accept extra arguments to tweak the return form

  • A bug that would stop the internal search service picking up new transactions without a forced clear

  • A bug that would stop the live private key from saving properly

  • A bug that would stop planInterval being properly stored in some cases

  • An issue for some migrations for users on older test versions (<1.0 versions)

Charge 1.0.0 – Nov 13, 2013

  • First Public Release