2

我正在使用 Stripe Connect 并在文档中使用他们的示例代码。您将用户重定向到 Stripe 页面,他们注册并重定向回您的网站。然后,Stripe 在 URL 中发送一个代码,以便您能够访问用户帐户并对其收费。

var CLIENT_ID = 'clientID';
var API_KEY = 'API Key';

var TOKEN_URI = 'https://connect.stripe.com/oauth/token';
var AUTHORIZE_URI = 'https://connect.stripe.com/oauth/authorize';

var qs = require('querystring');
var request = require('request');
var express = require('express');

var app = express();

app.get('/authorize', function(req,res){
    res.redirect(AUTHORIZE_URI + '?' + qs.stringify({
      response_type: 'code',
      scope: 'read_write',
      client_id: CLIENT_ID
    }));
  })

重定向后,此代码就是示例中的代码:

app.get('/oauth/callback', function(req, res) {

    var code = req.query.code;
    console.log('code: ', code)
    // Make /oauth/token endpoint POST request
    request.post({
      url: TOKEN_URI,
      form: {
        grant_type: 'authorization_code',
        client_id: CLIENT_ID,
        code: code,
        client_secret: API_KEY
      }
    }, function(err, r, body) {

      var accessToken = JSON.parse(body).access_token;
      console.log('access: ', accessToken)
      // Do something with your accessToken

      // For demo's sake, output in response:
      res.send({ 'Your Token': accessToken });

    });
  });

重定向 URL 是https://connect.stripe.com/oauth/authorize?response_type=code&CLIENT_ID=blahblahblah。当它重定向到我的站点时,URL 是 localhost:9000/?scope=read_write&code=blahblahblah。如何访问此 URL?谢谢!

4

2 回答 2

1

我想到了。在帐户设置中的 Connect 下,您必须将重定向 URI 更改为 yourURL.com/oauth/callback 才能使其正常工作。我只让它重定向到 yourURL.com

于 2015-12-24T00:06:56.093 回答
0
  1. 将 redirect_uri 添加到重定向 URL https://connect.stripe.com/oauth/authorize?response_type=code&CLIENT_ID=blahblahblah&redirect_uri=localhost:9000/stripe-callback
  2. 从 redirect_uri 的参数“code”获取授权码
  3. 然后,您的站点向我们的 OAuth 令牌端点发出请求,以获取用户的授权凭据,并将其存储在您的站点上。

注意:在https://dashboard.stripe.com/account/applications/settings中的条带仪表板设置中输入您的 redirect_uri

或仪表板 -> 帐户设置 -> 连接 -> 平台设置 -> 重定向 URI

于 2016-10-28T11:22:24.733 回答