Полоса: добавьте карту по умолчанию и не отменяйте старую карту - PullRequest
0 голосов
/ 27 ноября 2018

Я работаю с Stripe Customers, Subscription and Cards.

Теперь у меня есть сценарий, в котором Клиент может иметь несколько карт.

Теперь Клиент добавляет новую карту.И я должен отметить эту новую добавленную карту как 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.

Так как я могу это сделать?

1 Ответ

0 голосов
/ 27 ноября 2018

Вам понадобятся https://stripe.com/docs/api/sources/attach?lang=java и https://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);
...