只是条纹支付意图API中的一个小疑问, 我们是否可以根据价值对为列表的元数据搜索任何付款意图。
例如: 我有这个元数据: order_id:6735 和 金额: [12,78,45]
下面是代码:
PaymentIntentSearchParams params =
PaymentIntentSearchParams
.builder()
.setQuery("status:'succeeded' AND metadata['order_id']:'6735'")
.build();
PaymentIntentSearchResult result = PaymentIntent.search(params);
现在我必须根据order_id为 6735 且金额为 78 的条件进行搜索? 如何通过支付意图搜索API实现这一点?
条带元数据[1] 是一组键值对,其中值最多包含 500 个字符。只能存储基元类型值。不能将数组存储在元数据中。
即使您将数组存储为元数据中的字符串(例如:metadata[list]:"[1, 2, 3]"),您也不能使用子字符串匹配运算符~
[2] 进行搜索,因为元数据存储为令牌,这意味着您只能执行完全匹配查询(不区分大小写)[3]。
同时,这里是付款意图 [4] 的查询字段,例如,如果您想在付款意图中搜索金额,您可以直接查询它:amount>1000'
。
[1] https://stripe.com/docs/api/metadata
[2] https://stripe.com/docs/search#search-syntax:~:text=Substring%20match%20operator
[3] https://stripe.com/docs/search#field 类型、子字符串匹配和数字比较器:~:text=exact%20match%20(大小写%20不敏感)
[4] https://stripe.com/docs/search#query-fields-for-payment-intents