From 904cd4d1d9482bcce09c815bff3d338d670da983 Mon Sep 17 00:00:00 2001 From: Rimian Perkins Date: Tue, 23 May 2017 20:14:28 +1000 Subject: [PATCH] check subscription response --- .../discourse_donations/charges_controller.rb | 2 +- app/services/discourse_donations/stripe.rb | 10 ++-------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/app/controllers/discourse_donations/charges_controller.rb b/app/controllers/discourse_donations/charges_controller.rb index b7886a4..0bc1a64 100644 --- a/app/controllers/discourse_donations/charges_controller.rb +++ b/app/controllers/discourse_donations/charges_controller.rb @@ -35,7 +35,7 @@ module DiscourseDonations charge = payment.subscribe(email, params) end - if charge['paid'] == true + if (params['amount'].present? && charge['paid'] == true) || charge['status'] == 'active' output['messages'] << I18n.t('donations.payment.success') output['rewards'] << { type: :group, name: group_name } if group_name diff --git a/app/services/discourse_donations/stripe.rb b/app/services/discourse_donations/stripe.rb index c93fffd..4e0d5b0 100644 --- a/app/services/discourse_donations/stripe.rb +++ b/app/services/discourse_donations/stripe.rb @@ -24,14 +24,8 @@ module DiscourseDonations end def subscribe(email, opts) - customer = ::Stripe::Customer.create( - email: email, - source: opts[:stripeToken] - ) - @subscription = ::Stripe::Subscription.create( - customer: customer.id, - plan: opts[:plan] - ) + customer = ::Stripe::Customer.create(email: email, source: opts[:stripeToken]) + @subscription = ::Stripe::Subscription.create(customer: customer.id, plan: opts[:plan]) @subscription end