服务条带连接条款

terms of service stripe connect

我已经创建了一个功能来为我的用户创建条带自定义公司帐户,并且一切正常,但是当我尝试更新 node.js 中的服务条款数据时,它出现了没有错误,但是当我转到 Stripe 仪表板时,它说该帐户仍然需要接受服务条款。我该怎么办?

创建账户的函数如下:

export const createStripeMerchant = async(connectId: any, line1: any, line2: any, city: any, country: any, postCode: any,
  day: any, month: any, year: any, uid: any, email: any, firstName: any, lastName: any, phoneNumber: any) => {

  const account = await stripe.accounts.createPerson(
    connectId, {
      address: {
        line1: line1,
        line2: line2,
        city: city,
        country: country,
        postal_code: postCode,
      },
      dob: {
        day: day,
        month: month,
        year: year,
      },
      first_name: firstName,
      last_name: lastName,
      email: email,
      relationship: {
        executive: true,
        director: true,
        representative: true,
        title: 'Director',
      },
      phone: phoneNumber,
      metadata: {
        firebaseUID: uid
      },
    });

  await updateMerchantId(uid, {
    personAccountId: account.id
  });

  return account;
}

这里是在接受服务条款上增加的功能:

export const updateStripeConnect = async(connectId: any, uid: any, date: any, ip: any, userName: any) => {

  const account = await stripe.accounts.update(
    connectId, {
      tos_acceptance: {
        date: date,
        ip: ip,
        service_agreement: 'full',
        user_agent: userName,
      },
    }
  );
  return account;
}

我是这样称呼它的:

createStripePerson({
  connectId: connectId,
  line1: address1.val(),
  line2: address2.val(),
  city: cityTown.val(),
  country: 'GB',
  postCode: postCode.val(),
  day: $("#dateOB").val().substring(8, 10),
  month: $("#dateOB").val().substring(5, 7),
  year: $("#dateOB").val().substring(0, 4),
  uid: uid,
  email: email.val(),
  firstName: firstName.val(),
  lastName: lastName.val(),
  phoneNumber: phoneInput.getNumber(),
}).then((result) => {
  /** @type {any} */
  const data = result.data;
  const textData = data.text;
  console.log("Result data: " + data);
  console.log("Text data: " + textData);


  updateStripeConnect({
    connectId: connectId,
    uid: uid,
    date: unixTimestamp,
    ip: ip,
    userName: firstName.val() + " " + lastName.val(),
  }).then((result) => {
    /** @type {any} */
    const data = result.data;
    const textData = data.text;
    console.log("Result data: " + data);
    console.log("Text data: " + textData);
  }).catch((error) => {
    console.log("Error message: " + error.message);
    console.log("Error details: " + error.details);
  });


}).catch((error) => {
  console.log("Error message: " + error.message);
  console.log("Error details: " + error.details);
});

所以,正如我所说,一切都通过了,但服务条款没有得到履行/在 Stripe 的仪表板中仍然需要:

您共享的调用更新帐户 API 的代码总体上看起来是正确的。您遇到的主要问题是您没有与 await 同步调用它,因此调用可能 failing/erroring 但您没有正确捕获错误。

您应该从 运行 该代码开始,使用硬编码的帐户 ID 来确认该部分代码是否有效。确保使用 await 或处理回调并正确处理错误。一旦成功,您就可以添加清除日志来调试对您不起作用的其他调用