#java #spring-boot #stripe-payments
Вопрос:
Я работаю над приложением Spring Boot с интеграцией Stripe для управления платежами.
Когда пользователь имеет дело с оплатой, счет-фактура генерируется с помощью Stripe. Приложение загружает этот счет из Stripe, чтобы скопировать его в облачном провайдере с помощью API S3. Все это работает правильно.
Меня беспокоит то, что пользователи приложений могут выбирать другой язык.
При загрузке накладной с полосой через панель управления полосами накладная автоматически создается на языке, определенном в веб-браузере. Я хотел бы иметь возможность «настроить» язык при загрузке счета-фактуры через API в зависимости от настроек пользователя.
Вот как выглядит мой текущий код:
public void copyInvoice(Etude etude, String invoiceName, URL invoiceURL, String bucketName) {
var invoiceTmp = new File(System.getProperty("java.io.tmpdir") invoiceName);
try {
var defaultLocale = Locale.getDefault();
log.debug("copyInvoice - defaultLocale : {}", defaultLocale);
FileUtils.copyURLToFile(invoiceDTO.getUrl(), invoiceTmp);
var s3 = this.getCredentials();
s3.putObject(new PutObjectRequest(bucketName, "invoices/" invoiceName, invoiceTmp));
invoiceTmp.delete();
} catch (IOException e) {
log.error("copyInvoice, IOException exception when copying invoice from Stripe", e);
}
}
При попытке с моей стороны сгенерированный счет, загруженный этим кодом, всегда на английском языке, даже если связанный клиент в полосе установлен как французский, страна счета-фактуры-FR (счет-фактура), а моя локаль JVM по умолчанию-fr_FR.
Заранее спасибо за все предложения и советы !
Ответ №1:
К сожалению, невозможно определить язык при получении PDF-файла из счета-фактуры. Язык определяется локализацией браузера и не может быть установлен с помощью API.
Комментарии:
1. Спасибо за обратную связь, Пол. Может быть, есть что-то, о чем стоит подумать для будущих улучшений.