条纹最大数据长度

38

我正在使用Stripe的简单“结帐”功能,是否有详细说明可最大长度接受和返回的数据规格,例如以下数据:

customer id
description
risk level
address_line1
etc

4
很遗憾,Stripe不会分享那些数据。这些ID大约有16-27个字符长,但我们通常建议设置更大的字符长度以防万一(例如32-64个字符)。其他属性较少定义。 - korben
10
关于 id这篇2013年帖子指出:“我们很快将增加Stripe API返回的大多数ID的长度(大约为30个字符)。我们从未公布过这些ID的长度,但我们想让人们知道,以防他们依赖现有的长度。我们将来可能会变化 ID 的长度,但您可以安全地假设它们永远不会超过255个字符。” - Fabien Snauwaert
19
Stripe API 文档 中确认 @FabienSnauwaert:「您可以安全地假设我们生成的对象 ID 不会超过 255 个字符,但您应该能够处理最长为此长度的 ID。例如,如果您使用 MySQL,应将 ID 存储在 VARCHAR(255) COLLATE utf8_bin 列中(COLLATE 配置确保查找时区分大小写)。」 - opyate
目前对于 payment_intent 描述的限制是1000个字符。我认为这取决于数据类型。最好自己进行测试。 - Maciej Krawczyk
另一个需要记在心里的因素是仪表盘。例如:针对产品价格的 API ID 列只显示前20个字符。因此,保持价格ID在20个字符或更少的长度会更加方便。 - Fabien Snauwaert
1个回答

16

客户ID的最大长度为255

描述的最大长度为350(可能会在未来发生变化)

以上内容摘自文档

你可以安全地假设我们生成的对象ID永远不会超过255个字符,但你应该能够处理长度最多达到该限制的ID。例如,如果你正在使用MySQL,则应将ID存储在VARCHAR(255) COLLATE utf8_bin列中(COLLATE配置确保查找时区分大小写)。

现在,客户端点上的描述字段具有最大字符长度限制为350个字符。


3
payment_method.billing_details.name 的最大长度为5000个字符。我不明白为什么可以这么长,也不明白为什么Stripe不能公布这些巨大字段的最大长度限制。 - Tom Anderson
如果在MySQL中使用唯一索引,对于MySQL版本5.6及之前的重要提示是,您的最大长度不能超过191个字符。因此,如果需要超过此限制,则需要使用代码进行检查。 - lastlink
1
@TomAnderson,你在哪里看到payment_method.billing_details.name的最大长度是5000个字符?这在他们的PaymentMethod文档中根本没有提到(截至2022年10月)。 - Dai
@Dai他肯定是指的这个API定义:https://github.com/stripe/openapi/blob/master/openapi/spec3.yaml。确实在这里有很多字段被标记为最大长度为5000。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接