From 66b15be4d8124e1c38a815c79516cf458224d828 Mon Sep 17 00:00:00 2001 From: Rimian Perkins Date: Mon, 6 Mar 2017 11:25:09 +1100 Subject: [PATCH 1/2] add an error message --- assets/javascripts/discourse/components/stripe-card.js.es6 | 3 ++- .../discourse/templates/components/stripe-card.hbs | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/assets/javascripts/discourse/components/stripe-card.js.es6 b/assets/javascripts/discourse/components/stripe-card.js.es6 index 78a98b2..30192f6 100644 --- a/assets/javascripts/discourse/components/stripe-card.js.es6 +++ b/assets/javascripts/discourse/components/stripe-card.js.es6 @@ -3,6 +3,7 @@ import { getRegister } from 'discourse-common/lib/get-owner'; export default Ember.Component.extend({ donateAmounts: [1, 5, 10, 25], + error_message: null, result: null, amount: null, stripe: null, @@ -33,7 +34,7 @@ export default Ember.Component.extend({ self.set('result', null); if (result.error) { - console.log(result.error); + self.set('error_message', result.error.message); } else { self.set('transactionInProgress', true); diff --git a/assets/javascripts/discourse/templates/components/stripe-card.hbs b/assets/javascripts/discourse/templates/components/stripe-card.hbs index a982f1c..da73fe0 100644 --- a/assets/javascripts/discourse/templates/components/stripe-card.hbs +++ b/assets/javascripts/discourse/templates/components/stripe-card.hbs @@ -22,6 +22,10 @@ {{loading-spinner size="small"}} {{/if}} + {{#if error_message}} + {{error_message}} + {{/if}} + {{#if result}} {{i18n 'discourse_donations.success'}} {{/if}} From 736146854bc3b086fa06f7b70dffb73fbc5cfdeb Mon Sep 17 00:00:00 2001 From: Rimian Perkins Date: Mon, 6 Mar 2017 12:34:03 +1100 Subject: [PATCH 2/2] disable and use same result for error and success --- .../discourse/components/stripe-card.js.es6 | 13 +++++-------- .../discourse/templates/components/stripe-card.hbs | 8 ++------ plugin.rb | 2 +- 3 files changed, 8 insertions(+), 15 deletions(-) diff --git a/assets/javascripts/discourse/components/stripe-card.js.es6 b/assets/javascripts/discourse/components/stripe-card.js.es6 index 30192f6..a4d19c2 100644 --- a/assets/javascripts/discourse/components/stripe-card.js.es6 +++ b/assets/javascripts/discourse/components/stripe-card.js.es6 @@ -3,7 +3,6 @@ import { getRegister } from 'discourse-common/lib/get-owner'; export default Ember.Component.extend({ donateAmounts: [1, 5, 10, 25], - error_message: null, result: null, amount: null, stripe: null, @@ -29,26 +28,24 @@ export default Ember.Component.extend({ submitStripeCard() { var self = this; - this.get('stripe').createToken(this.get('card')).then(function(result) { + this.get('stripe').createToken(this.get('card')).then(data => { self.set('result', null); - if (result.error) { - self.set('error_message', result.error.message); + if (data.error) { + self.set('result', data.error.message); } else { self.set('transactionInProgress', true); var params = { - stripeToken: result.token.id, + stripeToken: data.token.id, amount: self.get('amount') * 100 }; ajax('/charges', { data: params, method: 'post' }).then(data => { self.set('transactionInProgress', false); - self.set('result', (data.status == 'succeeded' ? true : null)); - }).catch((data) => { - console.log('catch', data); + self.set('result', data.outcome.seller_message); }); } }); diff --git a/assets/javascripts/discourse/templates/components/stripe-card.hbs b/assets/javascripts/discourse/templates/components/stripe-card.hbs index da73fe0..6781ede 100644 --- a/assets/javascripts/discourse/templates/components/stripe-card.hbs +++ b/assets/javascripts/discourse/templates/components/stripe-card.hbs @@ -14,7 +14,7 @@
- {{#d-button action="submitStripeCard" class="btn btn-primary btn-payment"}} + {{#d-button action="submitStripeCard" disabled=transactionInProgress class="btn btn-primary btn-payment"}} {{i18n 'discourse_donations.submit'}} {{/d-button}} @@ -22,12 +22,8 @@ {{loading-spinner size="small"}} {{/if}} - {{#if error_message}} - {{error_message}} - {{/if}} - {{#if result}} - {{i18n 'discourse_donations.success'}} + {{result}} {{/if}}
diff --git a/plugin.rb b/plugin.rb index 4423d22..113b824 100644 --- a/plugin.rb +++ b/plugin.rb @@ -1,6 +1,6 @@ # name: discourse-donations # about: Integrating Discourse with Stripe for donations -# version: 1.7.2 +# version: 1.7.3 # url: https://github.com/choiceaustralia/discourse-donations # authors: Rimian Perkins