【问题标题】:what am I missing? node.js stripe connect integration我错过了什么? node.js 条带连接集成
【发布时间】:2016-08-22 02:03:32
【问题描述】:

一直在努力尝试完成与独立帐户的条带连接集成。

开始 注册您的平台。 (您只需执行一次。) 为您的用户(例如卖家或服务提供商)创建或连接帐户。

所以我已经注册了我的平台,获得了我的 API 密钥。我在我的网站上添加了一个“连接到条带”按钮。

哪些链接指向用户的登录或注册页面

编辑: 我现在正在尝试设置护照条纹策略,但是我真的不明白我想要实现的目标。

Stripe 提供了指向此文档 github gist 的链接,但建议您不要使用它 (?!),而应使用 oauth 文档。

所以,请记住我的所有其他身份验证都是使用护照设置的,我使用了https://github.com/passport/passport-stripe#usage

在 /server/config/strategies/ 下我为 stripe.js 添加了一个文件

'use strict';
/**
 * Module dependencies.
 */
var path = require('path');
var passport = require('passport'),
  StripeStrategy = require('passport-stripe').Strategy,
  User = require('mongoose').model('User'),
  errorHandler = require(path.resolve('./modules/core/server/controllers/errors.server.controller'));

module.exports = function(config) {
  passport.use(new StripeStrategy({
    clientID: '',
    clientSecret: '',
    callbackURL: "http://localhost:3000/api/auth/stripe/callback"
  }, function(accessToken, refreshToken, stripe_properties, done) {
//    User.findOrCreate({
//      stripeId: stripe_properties.stripe_user_id
//    }, function(err, user) {
//      return done(err, user);
//    });
      exports.update = function (req, res) {
  var user = req.model;

  //For security purposes only merge these parameters
  user.firstName = req.body.firstName;
  user.lastName = req.body.lastName;
  user.displayName = user.firstName + ' ' + user.lastName;
  user.roles = req.body.roles;
  user.stripeId = stripe_properties.stripe_user_id;       

  user.save(function (err) {
    if (err) {
      return res.status(400).send({
        message: errorHandler.getErrorMessage(err)
      });
    }

    res.json(user);
  });
};
  }));
};

并添加到我的 auth.server.routes.js:

app.get('/api/auth/stripe',
  passport.authenticate('stripe', { scope: 'read_write' }));

app.get('/api/auth/stripe/callback',
  passport.authenticate('stripe', { failureRedirect: '/login' }),
  function(req, res) {
    // Successful authentication, redirect home.
    res.redirect('/');
  });

编辑:'/api/auth/stripe' 指向 https://connect.stripe.com/oauth/authorize?response_type=code&client_id=&scope=read_write ,图像中的登录/注册表单。但是在尝试重定向到“/api/auth/stripe/callback”时,它只会给我“服务器错误”

我什至不知道我是否朝着正确的方向前进。我不明白这一切是如何联系在一起的。我曾尝试向条纹支持寻求一些方向,但是那个人告诉我他不知道如何使用护照。

我们将不胜感激任何方向

提前致谢

【问题讨论】:

  • 离题,但您可能希望删除您的实际 API 密钥以及应用程序机密。恶意用户可以对他们造成很多伤害......
  • 谢谢,我错过了其中一个! >.

标签: angularjs node.js oauth passport.js stripe-payments


【解决方案1】:

由于您使用的是 Passport,因此您应该使用 passport-stripe 模块。

您可以在此处找到使用说明:https://github.com/passport/passport-stripe#usage

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-19
    • 1970-01-01
    • 2013-12-23
    • 2014-07-07
    • 2020-02-05
    • 2023-03-09
    • 1970-01-01
    • 2017-03-20
    相关资源
    最近更新 更多