Payola adheres to Semantic Versioning.
All notable changes to Payola will be documented in this file.
- Change
Payola.reset!
to useStripeEvent.event_filter
rather thanevent_retriever
. #335
- Support Turbolinks & non-Turbolinks apps reliably. #254
- Added support to
ChangeSubscriptionPlan
fortrial_end
andcoupon
- Reset subscription
cancel_at_period_end
inChangeSubscriptionPlan
- Remove
spec/
and.gitignored
files fromgemspec.files
. #293 - Allow checkout form to override currency. #296
- Add support for single exp field
- Support Rails 5.1
- Allow for non-card payment types in Subscription Create #327
PayolaPaymentForm.poll()
handles HTTP error responses. #310
- Raise error if
payola_can_modify_customer/subscription?
unimplemented. #246
- Unpegged Stripe gem and stripe-ruby-mock. #255
- Take optional
stripe_customer_id
when creating a sale. #183 - Clean up error target HTML attributes. #198
- Update
cancel_at_period_end
inCancelSubscription
service. #200 - Synchronize subscription amount and currency fields with Stripe. #202
- Send the
plan_id
along with the form submission. #206 - Set a customer's payment source if nil. #210
- Maintain the active coupon code on a subscription. #211
- Disallow deleting a plan if it has any related subscriptions. #221
- Flash message i18n. #229
- Rails 5.0 support. #232
- Add client side validation to subscription_form_onestep.js. #262
- Stop setting
Stripe.api_key
directly inCancelSubscription
service. #201 - Convert tax_percent from integer to decimal (at most two decimal places). #189
- Submit all subscription options for existing stripe customers. #207
- Update subscription quantity when a subscription is changed. #218
- Fix flash message typo 'Successfully'. #228
- Make tax percentage migration reversible. #242
- Call
instrument_quantity_changed
fromChangeSubscriptionQuantity
. #250 - Fix api_key String spec errors with stripe-ruby-mock 2.3.1. #261
- Ensure ENV keys are seen as Strings by recent stripe-ruby versions. #265
- Add a wrapper for the error function to pass xhr.responseJSON to checkout buttons.
- Support free trials and plans by allowing subscription creation without credit card. #144, #145
- Support cancelling subscription at period end. #146
- Trigger
error
event on Payola HTML elements when an error occurs. #147 - Allows coupon to be applied to changing subscription, and turns off prorating in that scenario per Stripe instructions. #150
- Support for subscription creation with trial_end and optional stripeToken. #151
- Add config option to determine whether to create plans in Stripe. #156
- Allow
Plan#trial_period_days
attribute to remain optional. #160 - Accept tax percentage for subscriptions. #167
- Functionality to manage multiple cards and update customer attributes. Includes optional authorization check
payola_can_modify_customer?
. #168 - Optionally include checkout.stripe.com assets with
include_stripe_checkout_assets
. #169 - Improve support for subscription
at_period_end
. #165 - Support reusing existing Stripe customer for subscriptions. #170
- Listen for customer.subscription.deleted webhooks and cancel the associated subscription. #172
- Show plan interval in description instead of hardcoding to 'month'. #176
- Support coupons in
subscriptions/_checkout
partial. #179 - Allow sales to be refunded on the client side. #181
- Introduce
return_to
to support custom return paths after customer/card actions. #180 StartSubscription
no longer requires Stripe token for free plans. #190- Turbolinks compatibility. #191
- Disable only Payola-related submit button(s) on page. #113
- Fix jQuery XHR JSON error handling. #159
- Ensure Payola.create_stripe_plans global gets set back to true. #164
- Registration form no longer uses hardcoded
/users
path. #171 - Remove debugging output in javascripts. #177
- Remove weird copy of StartSubscription service specs. #178
- Only cancel subscription in
SubscriptionDeleted
if it can be canceled. #186
- Lock stripe-ruby-mock to v2.1.0 to work around test issues
- Properly bubble subscription errors up to the user
- Handle card declines
- Add bitcoin option to checkout button
- Move the Payola Pro message out of initializers
- Fix a problem when creating subscription invoice payments
- Peg Stripe gem at 1.20.1 pending a fix to stripe-ruby-mock/stripe-ruby-mock#203
- Support Stripe API version 2015-02-18
- Fix Javascript error handling for one-step subscriptions
- Add some docs about events and turbolinks incompatibility
- Support namespaced models for plans
- Fix Javascript error handling for subscriptions
- Capure all attributes from Stripe when starting a subscription
- Allow for use of Checkout for Subscriptions
- Only re-use active or canceled subscriptions
- Make plan creation idempotent
- Fix regressions in v1.2.3
- Add support for Rails 4.2
- Re-use customers and create invoice items for setup fees
- Add an active flag on
Payola::Coupon
- Fix load-order problems
- Add support for subscription quantities
- Properly handle form errors
- Optionally invert subscription controller flow
- Fix the CSRF token behavior
- Make guid generator overrideable
- Bumped minimum version of AASM to 4.0
- Fixed a bug with the auto emails not working for webhook events
- Code cleanup
- Test coverage improvements
- Subscriptions
- Pass the created customer to
additional_charge_attributes
- Add Payola Pro license
- Add options for requesting billing and shipping addresses via Checkout
- Add a callable to add additional attributes to a Stripe::Charge
- Only talk about PDFs if PDFs are enabled
- Default the
From
address on receipt emails toPayola.support_email
- ActiveJob can't serialize a class or a symbol so we have to
to_s
them
- Add customizable mailers
- Pass currency through properly and add a
default_currency
config option - Use data attributes to set up the checkout button instead of a JS snippet
- Add a polymorphic
owner
association onPayola::Sale
. - Allow the price to be overridden on the Checkout form
- Add basic support for custom forms
- Allow passing signed data from checkout button into the charge verifier
- Correctly pass the price into the Checkout button, which allows the
{{amount}}
macro to work properly - I18n the formatted_price helper
- Add support for ActiveJob workers
- Document how to set Stripe keys
- Add a callback to fetch the publishable key
- Unpin the Rails version to allow anything >= 4.1
- Allow Payola to be mounted anywhere, as long as it has 'as: :payola' in the mount spec
- First public release