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

时间:2016-04-09 17:15:46

标签: javascript node.js stripe-payments payment stripe-connect

我正在尝试设置Stripe Connect并需要

  1. 首先创建客户,向买方收取费用
  2. 然后生成一个令牌,最后
  3. 使用此令牌向客户收费。
  4. 只要买方和卖方不是Stripe Connect平台的所有者,这种方法就可以正常使用。

    即。我们假设以下电子邮件对应帐户持有人:

    admin@admin.com
    

    现在,我们有两个卖家:

    seller_1@sellers.com
    admin@admin.com
    

    我们有一位买家:

    buyer_1@buyers.com
    

    buyer_1seller_1购买时,我的代码有效。一切顺利,并收取申请费。

    buyer_1想要从admin@admin.com购买时出现问题。 虽然admin@admin.com已连接到帐户平台(我经历了与seller_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"
    

    我使用以下教程来save a customer and charge customers

    // 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
      }
    );
    

3 个答案:

答案 0 :(得分:3)

我知道这个问题不是最新的,但我在开发测试中多次遇到同样的问题。 当我执行db时,问题得到解决:重置或删除用户(客户帐户)并重新授权。

事实证明,我为同一个用户提供了重复的连接帐户,旧计划和api_key已经过时了。

由于我在开发和测试中,我还发现在仪表板>业务设置>数据>上清除Stripe的测试数据很有用。删除所有测试数据

希望有所帮助。

答案 1 :(得分:2)

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

答案 2 :(得分:0)

答案是简单地将客户ID更改为客户,并将卡作为来源。

您可以在此处找到Stripe Connect with Ionic的工作示例的complete source code

https://www.noodl.io/market/product/P201601151251248/stripe-connect-guide-with-complete-source-code-all-you-need-to-start-accepting-money-on-behalf-of-others