Updating Stripe accounts returns "Error: Stripe: "id" must be a string, but got: object"

Updating Stripe accounts returns "Error: Stripe: "id" must be a string, but got: object"

我正在尝试更新一个 Stripe 帐户以添加一个外部帐户令牌,以便稍后收费,如示例中所示 here.

var stripe = require("stripe")("sk_test_xxxxxxxxxxxxx"),    
    knex   = require("knex")(config);

router.post("/paymentcardinfo",middleware.isLoggedIn,function(req,res){
      knex("users.stripe").select("stripe_id_key")
      .then((stripeID) => {
          stripeID = stripeID[0].stripe_id_key;
          console.log("My Stripe ID: "stripeID);
          console.log("stripeID var type:", typeof stripeID);
          stripe.accounts.update({
            stripeID,
            external_account: req.body.stripeToken,
        }, function(err,acct) {
          if(err){
            console.log(err);
          } else {
          console.log("SUCCESS ********",acct);
      // asynchronously called
        }})
      })
      .catch((e) => {
          console.log(e);
          res.redirect("/paymentcardinfo")
      });
    });

其中returns以下

     My Stripe ID:  acct_xxxxxxxxxxxxx
     stripeID var type:  string
    [Error: Stripe: "id" must be a string, but got: object (on API request to `POST /accounts/{id}`)]

其中 acct_xxxxxxxxxxx 是用户存储的帐户 ID。根据第一个 console.log 值,stripeID 似乎是一个字符串而不是一个对象,这让我不确定如何处理这个错误。

尽管文档指定

 stripe.accounts.update({
  {CONNECTED_STRIPE_ACCOUNT_ID},
  metadata: {internal_id: 42},
}).then(function(acct) {
  // asynchronously called
});`

以下对我有用

stripe.accounts.update(
           CONNECTED_STRIPE_ACCOUNT_ID,
           {
            metadata: {internal_id:42},
          }
          ).then((account) => {
         // response to successful action