node.js - 未找到 id 的 Stripe token

标签 node.js stripe-payments stripe-connect

我正在尝试设置 strip 连接,但在创建费用时遇到错误。知道我做错了什么吗?

客户端

Stripe.setPublishableKey([CUSTOMERS_PUBLISHABLE_KEY]);
Stripe.card.createToken({
    number: card.number,
    cvc: card.cvc,
    exp_month: card.exp.month,
    exp_year: card.exp.year
}, stripeResponseHandler);

对此调用的响应如下所示:

{
  "id": "tok_169ZyxF6SmAjeAPKC9YF7YAi",
  "livemode": false,
  "created": 1433330667,
  "used": false,
  "object": "token",
  "type": "card",
  "card": {...}
  },
  "client_ip": "..."
}

服务器

var stripe = require('stripe')(config.stripeSecretKey);

stripe.charges.create({
    amount: totalPrice,
    application_fee: appFee,
    currency: 'usd',
    source: paymentToken,   // from above: tok_169ZyxF6SmAjeAPKC9YF7YAi
    destination: [CUSTOMERS_STRIPE_USERID]
}, function(err, charge){
    if (err)
        // Error: There is no token with ID tok_169ZyxF6SmAjeAPKC9YF7YAi.
            // at Error._Error (c:\dev\leaguespeed-node\node_modules\stripe\lib\Error.js:12:17)
            // at Error.module.exports.protoExtend.Constructor (c:\dev\leaguespeed-node\node_modules\stripe\lib\utils.js:113:13)
            // at Error.module.exports.protoExtend.Constructor (c:\dev\leaguespeed-node\node_modules\stripe\lib\utils.js:113:13)
            // at Function.StripeError.generate (c:\dev\leaguespeed-node\node_modules\stripe\lib\Error.js:56:14)
            // at IncomingMessage.StripeResource._responseHandler (c:\dev\leaguespeed-node\node_modules\stripe\lib\StripeResource.js:133:39)
            // at IncomingMessage.emit (events.js:117:20)
            // at _stream_readable.js:938:16
            // at process._tickCallback (node.js:419:13)

        return defer.reject(err);
    else
    {
        defer.resolve(charge);
    }
});

最佳答案

这里的问题是您正在使用连接的用户的可发布 key 创建卡 token 。然后,您尝试使用 destination 参数在平台上对该 token 进行收费。这不起作用,因为该 token 不被平台识别,仅被连接的帐户识别。

如果您想在平台上充值,则需要在创建代币时使用平台的可发布 key 。

此外,Stripe 最近修改了流程,使用平台的可发布 key 创建的任何卡 token 也可以在您的任何连接帐户上使用。这意味着您不再需要使用连接帐户的可发布 key ,您可以在任何地方使用平台。

关于node.js - 未找到 id 的 Stripe token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30619065/

相关文章:

php - Stripe API 列出发票的速度非常慢

javascript - 函数的返回值总是未定义且顺序

javascript - 如何覆盖 JS 库中的变量

javascript - d3 v4 中的二维画笔

Angular Ngx Stripe 错误 : Property 'id' does not exist on type 'Object'

javascript - Stripe 动态支付

java - java Stripe api 调用什么函数来完成快速帐户连接?

stripe-payments - 可以查询Stripe管理帐户的余额吗?

android - appfog 上的 Node.js Express 服务器 : sessions lost on page refresh when using chrome on android

android - 使用Stripe Connect的步骤