java - Stripe : Add default card and do not override old card

标签 java stripe-payments

我正在与 Stripe 客户、订阅和卡合作。

现在,我有一个场景,客户可以拥有多张卡。

现在,客户添加了一张新卡。我必须将新添加的卡标记为 default_source

所以我正在做的是

Map<String, Object> params = new HashMap<String, Object>();
params.put("source", token.getId());
Customer customer = Customer.retrieve(user.getStripeId());
customerId = customer.getId();
Customer updatedCustomer = customer.update(params);

这段代码正在更新客户并将当前卡标记为default_source,这符合预期。

但是,如果客户已经拥有卡,则会用新卡覆盖旧卡。因此,旧卡已从该客户中删除。

现在我想要的是,如果客户已经拥有该卡,那么我想将该卡标记为辅助卡,然后添加新卡并将其标记为 default_source

那么我该怎么做呢?

最佳答案

你会想要https://stripe.com/docs/api/sources/attach?lang=javahttps://stripe.com/docs/api/customers/update?lang=java#update_customer-default_source :

Customer customer = Customer.retrieve(user.getStripeId());
// add a new payment source to the customer
Map<String, Object> params = new HashMap<String, Object>();
params.put("source", token.getId());
Source source = customer.getSources().create(params);

// make it the default
Map<String, Object> updateParams = new HashMap<String, Object>();
updateParams.put("default_source", source.getId());
customer.update(updateParams);

关于java - Stripe : Add default card and do not override old card,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53496606/

相关文章:

php - 如何通过 stripe checkout 传递账单明细

android - Firebase 计划为 strip 集成付款

java - 我的 int 的字节数

java - 查找数组中不存在空值的索引

html - 移动设备上的 Stripe 结帐按钮太小

javascript - react Stripe 元素错误 : You must provide a Stripe Element or a valid token type to create a Token

stripe-payments - Stripe 多张卡片行为

java - Android ViewPager - 添加带有淡入/淡出动画的幻灯片以在 View 之间切换

java - 拍照后创建新文件夹

java - Google 表格 API 返回 "Invalid values[3][1]: struct_value {\n}\n"错误