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

亚历克斯

我正在尝试将付款方式附加到给定的客户。我最近升级到Stripe Java库的2020.19.0版,并且正在遵循他们提出的示例

问题在于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发生了什么事记录在这里,其中文库被钉在2020年8月27日

新的API版本有很多更改,包括对Customer资源的一些清理条纹停止默认返回子列表:subscriptiontax_idssources不会返回,除非你明确地直接扩大这些子列表。在大多数情况下,这使API更快,并有选择地选择代码特定部分所需的子列表。

在Java中,这意味着sources如果您希望能够创建/附加新卡,则需要扩展集合。这也记录在这里的API参考中并且代码如下所示:

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);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章