gpt4 book ai didi

java - 升级到Java库的最新版本后,Stripe PaymentSource不会扩展

转载 作者:行者123 更新时间:2023-12-03 05:02:58 27 4
gpt4 key购买 nike

我正在尝试将付款方式附加到给定的客户。我最近将Stripe Java library升级到2020.19.0版,我正在遵循他们提出的the example
问题在于Java库似乎无法识别PaymentSource对象具有任何参数:

Map<String, Object> params = Maps.newHashMap();
params.put("object", "card");
params.put("limit", 100);

// Get the credit cards
List<PaymentSource> cards =
customer.getSources().list(params).getData();

for (PaymentSource c : cards) {
c.getObject(); // not recognized in IDE
}
还有其他人遇到吗?

最佳答案

stripe-java固定到特定的API版本。当您在库中升级到新的主要版本时,它通常包含重大更改和/或升级到最新的API版本。这是在20.0.0中发生的,如here所示,该库被固定到2020-08-27
新的API版本有很多更改,包括对Customer资源的一些清理。 Stripe默认情况下停止返回子列表:除非您直接显式扩展这些子列表,否则不返回subscriptiontax_idssources。在大多数情况下,这使API更快,并有选择地选择代码特定部分所需的子列表。
在Java中,这意味着如果您希望能够创建/附加新卡,则需要扩展sources集合。 API引用here中也对此进行了记录,并且代码如下所示:

List<String> expandList = new ArrayList<>();
expandList.add("sources");

Map<String, Object> retrieveParams = new HashMap<>();
retrieveParams.put("expand", expandList);

Customer customer = Customer.retrieve(
"cus_IEB3RFCf76Fais",
retrieveParams,
null
);

Map<String, Object> params = new HashMap<>();
params.put("object", "card");
params.put("limit", 3);

PaymentSourceCollection cards = customer.getSources().list(params);

关于java - 升级到Java库的最新版本后,Stripe PaymentSource不会扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64408192/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com