From b0643e71770a657c3aceab1c099503e8524fbe7c Mon Sep 17 00:00:00 2001 From: Matteo Pagliazzi Date: Wed, 3 Jun 2015 22:05:55 +0200 Subject: [PATCH] WIP: start working on amazon payments --- config.json.example | 5 +++++ website/public/js/controllers/footerCtrl.js | 7 +++++++ website/src/middleware.js | 6 +++++- website/views/shared/modals/buy-gems.jade | 18 ++++++++++++++++++ 4 files changed, 35 insertions(+), 1 deletion(-) diff --git a/config.json.example b/config.json.example index 7af203a71e..92ef165c17 100644 --- a/config.json.example +++ b/config.json.example @@ -23,6 +23,11 @@ "GA_ID": "GA_ID", "MIXPANEL_TOKEN": "MIXPANEL_TOKEN", "AMPLITUDE_KEY": "AMPLITUDE_KEY", + "AMAZON_PAYMENTS_CLIENT_ID": "AMAZON_PAYMENTS_CLIENT_ID", + "AMAZON_PAYMENTS": { + "SELLER_ID": "SELLER_ID", + "CLIENT_ID": "CLIENT_ID" + }, "FLAG_REPORT_EMAIL": ["email@mod.com"], "EMAIL_SERVER": { "url": "http://example.com", diff --git a/website/public/js/controllers/footerCtrl.js b/website/public/js/controllers/footerCtrl.js index 32c3055e6c..a44216f114 100644 --- a/website/public/js/controllers/footerCtrl.js +++ b/website/public/js/controllers/footerCtrl.js @@ -22,6 +22,13 @@ function($scope, $rootScope, User, $http, Notification, ApiUrl) { */ $scope.deferredScripts = function(){ + // Amazon Payments + $.getScript('https://static-na.payments-amazon.com/OffAmazonPayments/us/sandbox/js/Widgets.js?sellerId=' + window.env.AMAZON_PAYMENTS.SELLER_ID, function(){ + window.onAmazonLoginReady = function() { + amazon.Login.setClientId(window.env.AMAZON_PAYMENTS.CLIENT_ID); + }; + }); + // Stripe $.getScript('//checkout.stripe.com/v2/checkout.js'); diff --git a/website/src/middleware.js b/website/src/middleware.js index 05e755e77f..b34789f60b 100644 --- a/website/src/middleware.js +++ b/website/src/middleware.js @@ -200,7 +200,11 @@ module.exports.locals = function(req, res, next) { tavern: tavern, // for world boss worldDmg: (tavern && tavern.quest && tavern.quest.extra && tavern.quest.extra.worldDmg) || {}, _: _, - MP_ID: nconf.get('MP_ID') + MP_ID: nconf.get('MP_ID'), + AMAZON_PAYMENTS: { + SELLER_ID: nconf.get('AMAZON_PAYMENTS:SELLER_ID'), + CLIENT_ID: nconf.get('AMAZON_PAYMENTS:CLIENT_ID') + } }); // Put query-string party (& guild but use partyInvite for backward compatibility) diff --git a/website/views/shared/modals/buy-gems.jade b/website/views/shared/modals/buy-gems.jade index 33862575ab..f86cb199e8 100644 --- a/website/views/shared/modals/buy-gems.jade +++ b/website/views/shared/modals/buy-gems.jade @@ -22,6 +22,24 @@ script(id='modals/buyGems.html', type='text/ng-template') small.muted=env.t('paymentMethods') .btn.btn-primary(ng-click='Payments.showStripe({})')=env.t('card') a.btn.btn-warning(href='/paypal/checkout?_id={{user._id}}&apiToken={{user.apiToken}}') PayPal + div#AmazonPayButton + script(type='text/javascript'). + var authRequest; + OffAmazonPayments.Button('AmazonPayButton', window.env.AMAZON_PAYMENTS.SELLER_ID, { + type: 'PwA', + color: 'Gold', + size: 'small', + + authorization: function() { + loginOptions = + {scope: 'payments:widget', popup: true}; + authRequest = amazon.Login.authorize (loginOptions, + 'https://habitrpg.com'); + }, + onError: function(error) { + console.error('amazon payments error ', error) + } + }); div(ng-include="'partials/options.settings.subscription.html'")