我正在尝试将付款方式附加到给定的客户。我最近升级到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
资源的一些清理。条纹停止默认返回子列表:subscription
,tax_ids
并sources
不会返回,除非你明确地直接扩大这些子列表。在大多数情况下,这使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] 删除。
我来说两句