Изменения Stripe v9 — метаданные

#java #api #stripe-payments #metadata

#java #API #stripe-платежи #метаданные

Вопрос:

Новая stripe-java v9 обладает этой дополнительной функциональностью:

   ChargeCreateParams typedParams = ChargeCreateParams.builder()
      .setAmount(100L)
      .setCurrency("usd")
      .setSource("card_123")
      .build();
  

У ChargeCreateParams нет setMetadata опции. Как это можно сделать сейчас? Я также не вижу никакой документации по этому поводу.

Ответ №1:

Для этого создал проблему с Github и получил супер быстрый ответ. Подумал, что поделюсь этим здесь. (как я предполагаю, потребуется некоторое время, чтобы документация наверстала упущенное)

Вы можете использовать любой из следующих подходов:

 ChargeCreateParams typedParams = ChargeCreateParams.builder()
      .setAmount(100)
      .setCurrency("usd")
      .setSource("card_123")
      .putMetadata("key1", "value1")
      .putMetadata("key2", "value2")
      .build();
  

или:

 Map<String, String> metadata = new Map<>();
map.put("key1", "value1");
map.put("key2", "value2");
ChargeCreateParams typedParams = ChargeCreateParams.builder()
      .setAmount(100L)
      .setCurrency("usd")
      .setSource("card_123")
      .putAllMetadata(metadata)
      .build();