Загрузите счет-фактуру Stripe через Java с определенным языком
Я работаю над приложением Spring Boot с интеграцией Stripe для управления платежами.
Когда пользователь имеет дело с платежом, через Stripe создается счет. Приложение загружает этот счет из Stripe, чтобы скопировать его в облачный провайдер с помощью S3 API. Все это работает правильно.
Меня беспокоит то, что пользователи приложения могут выбирать другой язык.
При загрузке счета Stripe через панель управления Stripe счет автоматически создается на языке, определенном в веб-браузере. Я хотел бы иметь возможность «устанавливать» язык при загрузке счета через 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);
}
}
При попытке на моей стороне сгенерированный счет, загруженный этим кодом, всегда на английском языке, даже если связанный клиент в Stripe установлен как французский, страна счета-фактуры - FR (счет-фактура), а моя локаль JVM по умолчанию - fr_FR.
Заранее благодарим за все предложения и советы!
1 ответ
К сожалению, невозможно определить язык при получении PDF-файла из счета-фактуры. Язык определяется локалью браузера и не может быть установлен через API.