2017-02-10 4 views
0

Я новичок в среднем стеке и использую ver 0.4.2 of MeanJS (meanjs.org). Я застрял в интеграции Stripe на платформу. Для интеграции я использую Stripe Angular.Интеграция Stripe с шаблоном MeanJs

Итак, я создал новый контроллер. Я уже добавил необходимые файлы в заголовок. Контроллер выглядит так:

(function() { 
'use strict'; 
angular 
.module('availabilities') 
.controller('StripepayController', StripepayController); 

StripepayController.$inject = ['$scope', '$http']; 

function StripepayController($scope, $http) { 
    $scope.saveCustomer = function(status, response) { 
     //console.log('striped'); 
     $http.post('/stripecharge', { token: response.id }); 
    }; 
} 
})(); 

Я создал представление, как говорится в учебнике. Добавлен путь к странице сервера маршрутов моего модуля:

// routes for stripe 
app.route('/stripecharge') 
.all(availabilities.stripePay); 

контроллер Сервер имеет следующие промежуточное программное обеспечение:

exports.stripePay = function(req, res) { 
var stripe = require('stripe')('secret_key'); 
var token = req.body.stripeToken; 
var charge = stripe.charges.create({ 
    amount: 1000, 
    currency: 'usd', 
    description: 'Example charge', 
    source: token, 
}, function(err, charge) { 
    // asynchronously called 
}); 
}; 

Маркер становится создан, но я не могу зарядить карту. Любая помощь в том, как я продвигаюсь вперед, будет отличной.

Также, если кто-то может объяснить, как представление форм происходит в MEANjs из представления на сервер. Я не мог понять это хорошо.

Заранее спасибо.

ответ

1

Ну, после долгих исследований и возвращаясь к урокам, я, наконец, исправил проблему. Спасибо @floatingLomas за помощь.

На самом деле мне не хватало ссылки на модуль узла полосы в серверном контроллере. Вот как мой сервер выглядит сейчас -

exports.stripePay = function(req, res) { 
    var token = req.body.token; // Using Express 
    // Charge the user's card: 
    var charge = stripe.charges.create({ 
     amount: 1000, 
     currency: 'usd', 
     description: 'Example charge', 
     source: token, 
    }, function(err, charge) { 
     if (err) { 
      res.send(500, err); 
     } else { 
      res.send(204); 
     } 
    }); 
}; 

В верхней части экспресс-контроллера я добавил

var stripe = require('stripe')('My_Secret_key'); 

я получаю ошибку «полосы» не определен в консоли, как модуль узла отсутствовал , Добавлен модуль полосового узла с использованием

npm install --save stripe 

Теперь все работает как ветер.

0

Вам необходимо использовать либо Stripe.js, либо Checkout в вашем Угловом приложении, а затем POST, полученный токен, к конечной точке Node.js.

+0

Именно это я не могу понять. – Ajasra

+0

Как ваш угловой код работает с Stripe.js или Checkout? В вашем журнале журнала есть что-нибудь? – floatingLomas

+0

Нет, он не регистрируется, маркер создается. Я получаю, чтобы видеть токен, записывая его, но никаких других вызовов. Я не могу передать вызов серверу. – Ajasra

 Смежные вопросы

  • Нет связанных вопросов^_^