Javascript 条带连接费用-必须作为连接帐户进行身份验证才能使用客户参数

Javascript 条带连接费用-必须作为连接帐户进行身份验证才能使用客户参数,javascript,node.js,stripe-payments,payment,stripe-connect,Javascript,Node.js,Stripe Payments,Payment,Stripe Connect,我正在尝试设置条带连接,需要 通过先创建客户来向买方收费 然后生成一个令牌,最后 使用此代币向客户收费 只要买方和卖方不是Stripe Connect平台的所有者,这种方式就可以正常工作 也就是说,假设以下电子邮件对应于账户持有人: admin@admin.com 现在,我们有两个卖家: seller_1@sellers.com admin@admin.com 我们有一个买家: buyer_1@buyers.com 我的代码在buyer\u 1从seller\u 1购买时起作用。一切顺利,

我正在尝试设置条带连接,需要

  • 通过先创建客户来向买方收费
  • 然后生成一个令牌,最后
  • 使用此代币向客户收费
  • 只要买方和卖方不是Stripe Connect平台的所有者,这种方式就可以正常工作

    也就是说,假设以下电子邮件对应于账户持有人:

    admin@admin.com
    
    现在,我们有两个卖家:

    seller_1@sellers.com
    admin@admin.com
    
    我们有一个买家:

    buyer_1@buyers.com
    
    我的代码在
    buyer\u 1
    seller\u 1
    购买时起作用。一切顺利,并收取申请费

    但是,当
    买家1
    想从
    admin@admin.com
    。 Eventhough
    admin@admin.com
    已连接到帐户平台(我的过程与卖家1的过程相同),我不断收到错误:

    message: "Must authenticate as a connected account to be able to use customer parameter. See https://stripe.com/docs/api#create_card_token for more details."
    param: "customer"
    raw: Object
    rawType: "invalid_request_error"
    requestId: "req_8EtIue0F4JWFmQ"
    stack: 400
    type: "StripeInvalidRequestError"
    
    我使用以下教程来:


    同样的事情也发生在我身上。这有点欺骗性,因为Stripe让您直接将您的帐户连接到设置中的同一个帐户(其中显示“测试OAuth流”),就像单个帐户同时充当平台和连接的帐户一样。但是,当您试图在连接的帐户上实际创建费用或客户时,会出现上述错误。

    答案是只需将客户id更改为客户,将卡更改为来源即可

    您可以在此处找到Ionic Stripe Connect的工作示例:


    我知道这个问题不是最近才提出的,但我在开发测试中多次遇到过同样的问题。 当我执行db:reset或删除用户(客户帐户)并重新授权时,问题得到了修复

    事实证明,我为同一个用户拥有重复的connect帐户,用于旧计划,并且api_密钥是旧的

    由于我从事开发和测试工作,我还发现在仪表板>业务设置>数据>删除所有测试数据上清除条带中的测试数据非常有用


    希望能有所帮助。

    我在使用Stripe Connect测试电荷时遇到了这个问题。事实证明,当我完成将测试业务连接到我的应用程序的过程(通过他们提供的连接到条带测试页面)时,我也已经在另一个浏览器窗口中登录到我的应用程序的条带帐户。这最终将我的应用程序的帐户数据保存在新的“测试业务”的位置上,而新的“测试业务”不断导致收费失败


    当我通过同样的过程注销Stripe时,它工作正常,费用处理正常

    这就是您正在运行的代码吗?如果是这样的话,就会对javascript和node.js的工作方式产生一些误解,特别是在异步方法调用方面。只要卖家的目的地帐户ID不是预期的平台所有者,那么它就可以正常工作,目的地帐户ID不应该是平台所有者,如果是这种情况,您不需要制作新的代币只需向客户收费,您将客户ID作为客户传递,将卡ID作为sourceYes传递,这让我很沮丧。我遵循了Stripe connect共享客户流程,但无法使其正常工作,尽管我感觉自己已经理解了说明,但说明并不是特别有用。谢谢。这不应该是答案,因为它是一条评论。@lasec0203您的评论不应该是评论,因为它没有帮助。请共享有效的url,因为noodl.io已被google@sumitsharma它是两年前共享的。我也面临同样的问题。
    // store
    // Set your secret key: remember to change this to your live secret key in production
    // See your keys here https://dashboard.stripe.com/account/apikeys
    var stripe = require("stripe")("SECRETKEY");
    
    // (Assuming you're using express - expressjs.com)
    // Get the credit card details submitted by the form
    var tokenID = request.body.stripeToken;
    
    // Create a Customer
    stripe.customers.create({
      source: tokenID,
      description: "Example customer"
    }, function(err, customer) {
    
    });
    
    // Create token
    // Create a Token from the existing customer on the platform's account
    stripe.tokens.create(
      { customer: CUSTOMER_ID, card: CARD_ID },
      { stripe_account: CONNECTED_STRIPE_ACCOUNT_ID }, // id of the connected account
      function(err, token) {
        // callback
      }
    );