Вернуть код местной валюты согласно часовому поясу пользователя - PullRequest
0 голосов
/ 10 апреля 2019

Я ищу решение для получения кода местной валюты пользователя в зависимости от его часового пояса.

Использование Stripe и Firebase Я создаю запись Firestore на Firebase Auth. Когда пользователь регистрируется, function создает запись базы данных, содержащую часовой пояс пользователя. Затем создайте клиента внутри Stripe.

Для получения часового пояса пользователя я использую moment.tz.guess(), поставляемый в пакете moment-timezone. Затем он сохраняется в Firebase как запись Firestore.

Функция закодирована как

exports = module.exports = functions.firestore
  .document('users/{uid}')
  .onCreate((snap, context) => {
    const customerValue = snap.data();
    const uid = context.params.uid;
    const timezone = moment.tz.guess();
    // const currencyCode = ;
    return stripe.customers
      .create({
        email: customerValue.email
      })
      .then(customer => {
        var customerObject = {
          id: customer.id,
          currencyCode,
        };
        return admin
          .firestore()
          .doc(`/users/${uid}/billing/${customer.id}`)
          .set(customerObject);
      });
  });

По умолчанию клиент создается в Stripe как USD. Это прекрасно, но с помощью timezone есть API или пакет для распознавания кода местной валюты для часового пояса. Например, если часовой пояс, возвращенный из moment, был Australia/Adelaide, как мне получить currencyCode, чтобы вернуть как aud?

Одно решение, с которым я столкнулся, использовало country-tz-currency , но сначала мне нужно было бы получить код страны из часового пояса, и я надеялся на более простое решение.

1 Ответ

1 голос
/ 10 апреля 2019

Я всегда использую этот API для своего проекта, он не только даст вам коды валют, основанные на стране, но и даст некоторые другие полезные данные (например, широта и долгота, ...) в основном это всего лишь запрос GET, который возвращает объект вашей локальной информации о местоположении пользователя, Including continent_code.

Он также имеет отличную документацию, и хорошо, что до 10.000 запросов / м бесплатно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...