diff --git a/README.md b/README.md index cc31d9a..b3913b8 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Accept payments from visitors to your [Discourse](https://www.discourse.org/) application. Integrates with [Stripe](https://stripe.com). -This is a newer version of https://github.com/rimian/discourse-donations. Many thanks to Chris Beach and Angus McLeod who helped on that project. +This is a newer version of https://github.com/rimian/discourse-donations. ## Installation @@ -28,3 +28,7 @@ Test with these credit card numbers: ## Warranty This software comes without warranties or conditions of any kind. + +## Credits + +Many thanks to Chris Beach and Angus McLeod who helped on the previous version of this plugin. diff --git a/assets/javascripts/discourse/components/stripe-card.js.es6 b/assets/javascripts/discourse/components/stripe-card.js.es6 index 3f0688b..5b7a3ad 100644 --- a/assets/javascripts/discourse/components/stripe-card.js.es6 +++ b/assets/javascripts/discourse/components/stripe-card.js.es6 @@ -43,7 +43,9 @@ export default Ember.Component.extend({ actions: { submitStripeCard() { - this.stripe.createPaymentMethod("card", this.card).then( + const paymentOptions = { billing_details: this.get("billing") }; + + this.stripe.createPaymentMethod("card", this.card, paymentOptions).then( result => { if (result.error) { this.set("cardError", result.error.message); diff --git a/assets/javascripts/discourse/controllers/patrons-show.js.es6 b/assets/javascripts/discourse/controllers/patrons-show.js.es6 new file mode 100644 index 0000000..f75f4a7 --- /dev/null +++ b/assets/javascripts/discourse/controllers/patrons-show.js.es6 @@ -0,0 +1,9 @@ +import DiscourseURL from "discourse/lib/url"; + +export default Ember.Controller.extend({ + actions: { + goBack() { + return DiscourseURL.redirectTo("/patrons"); + } + } +}); diff --git a/assets/javascripts/discourse/routes/patrons.js.es6 b/assets/javascripts/discourse/routes/patrons.js.es6 index 55af882..0cf0836 100644 --- a/assets/javascripts/discourse/routes/patrons.js.es6 +++ b/assets/javascripts/discourse/routes/patrons.js.es6 @@ -1 +1,9 @@ -export default Discourse.Route.extend({}); +export default Discourse.Route.extend({ + model() { + return Ember.Object.create({ + name: "", + email: "", + phone: "" + }); + } +}); diff --git a/assets/javascripts/discourse/templates/components/donation-form.hbs b/assets/javascripts/discourse/templates/components/donation-form.hbs index 2f97341..871223a 100644 --- a/assets/javascripts/discourse/templates/components/donation-form.hbs +++ b/assets/javascripts/discourse/templates/components/donation-form.hbs @@ -44,13 +44,40 @@ {{combo-box valueAttribute="value" content=amounts value=amount}} + +
+
+ {{i18n 'discourse_patrons.billing.name'}} +
+
+ {{input value=billing.name}} +
+
+
+
+ {{i18n 'discourse_patrons.billing.email'}} +
+
+ {{input value=billing.email}} +
+
+
+
+ {{i18n 'discourse_patrons.billing.phone'}} +
+
+ {{input value=billing.phone}} +
+
+
{{stripe-card amount=amount currency=currency + billing=billing handleConfirmStripeCard=(action "handleConfirmStripeCard") }}
diff --git a/assets/javascripts/discourse/templates/patrons/index.hbs b/assets/javascripts/discourse/templates/patrons/index.hbs index d3796d7..329520a 100644 --- a/assets/javascripts/discourse/templates/patrons/index.hbs +++ b/assets/javascripts/discourse/templates/patrons/index.hbs @@ -7,6 +7,7 @@
{{donation-form + billing=model paymentSuccessHandler=(action "paymentSuccessHandler") stripePaymentHandler=(action "stripePaymentHandler") }} diff --git a/assets/javascripts/discourse/templates/patrons/show.hbs b/assets/javascripts/discourse/templates/patrons/show.hbs index b2192df..dad802b 100644 --- a/assets/javascripts/discourse/templates/patrons/show.hbs +++ b/assets/javascripts/discourse/templates/patrons/show.hbs @@ -5,3 +5,7 @@
{{cook-text siteSettings.discourse_patrons_success_page}}
+ +{{#d-button action="goBack" class="btn btn-primary"}} + {{i18n 'discourse_patrons.button.success'}} +{{/d-button}} diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml index 4132098..0351041 100644 --- a/config/locales/client.en.yml +++ b/config/locales/client.en.yml @@ -21,9 +21,11 @@ en: payment_information: Credit card information submit: Make payment $ confirm: Confirm payment $ - invoice: "invoice" - invoice_prefix: "You gave" - receipt: "Receipt sent to {{email}}." + billing: + name: Full name + email: Email confirmation: amount: Amount $ last4: Card number + buttons: + success: Go back