2017-09-24 1 views
0

J'ai essayé de comprendre comment configurer Stripe pour mon application, mais j'ai des problèmes avec l'implémentation du module. Normalement, lorsque j'utilise un module, je voudrais l'utiliser en haut du fichier pour pouvoir l'utiliser mais je ne suis pas sûr de savoir comment le faire ici dans le fichier paymentController ou si j'en ai besoin. J'ai importé le npm Stripe, donc est-ce que je veux dire que je peux y accéder globalement? Eh bien, comme vous le voyez, je suis assez nouveau à ce sujet et voudrais comprendre comment structurer cela afin que les paiements fonctionnent.Noeud, structure d'utilisation du module

fichier app.js:

angular.module('userApp', ['appRoutes', 'userControllers', 'userServices', 'ngAnimate', 'mainController', 'authServices', 'managementController', 'paymentController']) 

.config(function($httpProvider) { 
    $httpProvider.interceptors.push('AuthInterceptors'); 
}); 

fichier paymentController:

angular.module('paymentController', []) 

.controller('paymentCtrl', function($scope) { 

    var app = this; 


}); 

fichier Server.js:

var express = require('express'); // ExperssJS Framework 
var app = express(); // Invoke express to variable for use in application 
var port = process.env.PORT || 8080; // Set default port or assign a port in enviornment 
var morgan = require('morgan'); // Import Morgan Package 
var mongoose = require('mongoose'); // HTTP request logger middleware for Node.js 
var bodyParser = require('body-parser'); // Node.js body parsing middleware. Parses incoming request bodies in a middleware before your handlers, available under req.body. 
var router = express.Router(); // Invoke the Express Router 
var appRoutes = require('./app/routes/api')(router); // Import the application end points/API 
var path = require('path'); // Import path module 
var passport = require('passport'); // Express-compatible authentication middleware for Node.js. 
var social = require('./app/passport/passport')(app, passport); // Import passport.js End Points/API 

app.use(morgan('dev')); // Morgan Middleware 
app.use(bodyParser.json()); // Body-parser middleware 
app.use(bodyParser.urlencoded({ extended: true })); // For parsing application/x-www-form-urlencoded 
app.use(express.static(__dirname + '/public')); // Allow front end to access public folder 
app.use('/api', appRoutes); // Assign name to end points (e.g., '/api/management/', '/api/users' ,etc.) 


mongoose.connect('mongodb://localhost:27017/tutorial', function(err) { 
    if (err) { 
    console.log('Not connected to the database: ' + err); 
    } else { 
    console.log('Successfully connected to MongoDB'); 
    } 
}); 

// Set Application Static Layout 
app.get('*', function(req, res) { 
    res.sendFile(path.join(__dirname + '/public/app/views/index.html')); // Set index.html as layout 
}); 

// Start Server 
app.listen(port, function() { 
    console.log('Running the server on port ' + port); // Listen on configured port 
}); 

Répondre

0

je recommande la suite de ce qui est montré pour le nœud dans ce Stripe tutoriel:

https://stripe.com/docs/charges

Tout comme l'autre comprend, vous voulez quelque chose comme ça en haut d'un fichier JS qui utilisera la bibliothèque de bande:

var stripe = require('stripe')('sk_my_secret_key') 

Puis, ailleurs dans le même fichier, vous pouvez appeler tout méthodes de bibliothèque Stripe vous avez besoin:

stripe.charges.create(…) 

Bien sûr, dans la production, vous voulez construire une application appropriée de 12 facteur [1] et de mettre vos secrets dans les variables d'environnement ou fichiers de configuration.

[1] https://12factor.net/config