Добавить элементы чередования в несколько публикуемых ключей в ReactJs - PullRequest
0 голосов
/ 04 апреля 2019

Я использую пакет React Stripe Elements.У меня есть два банковских счета в Stripe, один для Австралии и другой для Испании.Я хочу направлять платежи на банковские счета в зависимости от местоположения пользователя.

Я установил ключ по умолчанию для австралийской учетной записи в файле env.Я попытался изменить его, используя объект глобальной полосы, например, это window.Stripe ("MY_KEY") в методе componentDidMount, но он не перезаписывает ключ по умолчанию при отправке запроса на полосу.

defkey = "pk_def_key"
window.Stripe("pk_test_****"); //overwrite default key

this.props.stripe.createToken().then(payload => {
          if (payload.error) {
            this.setState({
              cardError: payload.error.message,
              isLoading: false
            });
            return;
          } else {
            const stripeToken = payload.token.id;
            this.setState({
              data: { ...this.state.data, stripeToken }
            });
            // Do Payment Now
            this.verifyPayment();
          }
        });

Я ожидаю этого.props.stripe использовать новый ключ, но он использует значение по умолчанию.

1 Ответ

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

Поскольку вы, возможно, динамически меняете ключ, вам придется сначала инициализировать Stripe самостоятельно, а затем передать его как задокументировано здесь :

Когда одно или несколько из этих предположенийне подходит для вашей интеграции, у вас есть другой вариант: передать экземпляр Stripe непосредственно в качестве поддержки Stripe.Стриппроп может быть либо нулевым, либо результатом использования Stripe (apiKey, options) для создания экземпляра Stripe.

<StripeProvider stripe={stripe}>
  <Checkout />
</StripeProvider>

Вы можете даже инициализировать 2 отдельных экземпляра, по одному на ключ, а затем использоватьправильный в зависимости от местоположения пользователя.

...