Stripe CLI:如何传递空数组?

Stripe CLI: How do you pass an empty array?

我正在尝试使用 CLI 创建 Stripe 计费门户配置:https://stripe.com/docs/api/customer_portal/configurations/create?lang=cli

对于这个特定的配置,我想阻止对订阅的更新,即我正在传递 -d "features[subscription_update][enabled]"=false

但在订阅更新下还有一些其他必填字段:features.subscription_update.default_allowed_updates 是一个枚举数组,features.subscription_update.products 是一个嵌套对象数组。

因为我想禁用该功能,所以我想将这两个数组都设置为空:不允许更新类型,也不能更新任何产品。但是我不知道该怎么做。

我试过:

{
  "error": {
    "code": "parameter_invalid_empty",
    "doc_url": "https://stripe.com/docs/error-codes/parameter-invalid-empty",
    "message": "You passed an empty string for 'features[subscription_update][default_allowed_updates][0]'. We assume empty values are an attempt to unset a parameter; however 'features[subscription_update][default_allowed_updates][0]' cannot be unset. You should remove 'features[subscription_update][default_allowed_updates][0]' from your request or supply a non-empty value.",
    "param": "features[subscription_update][default_allowed_updates][0]",
    "type": "invalid_request_error"
  }
}
{
  "error": {
    "message": "Invalid array",
    "param": "features[subscription_update][products]",
    "type": "invalid_request_error"
  }
}

任何人都可以帮助我如何正确地为这些字段传递一个空数组吗?

您可以通过发送空字符串来发送,就像您尝试的那样:

-d "features[subscription_update][enabled]=false" 
-d "features[subscription_update][default_allowed_updates]="
-d "features[subscription_update][products]="

它对您不起作用的原因是您试图将第一个条目设置为空字符串,而不是列表本身。