Stripe redirectToCheckout метод перенаправляет на успешный URL перед отображением любого ответа в разделе .then - PullRequest
0 голосов
/ 13 июня 2019

Я пытаюсь запустить кусок кода в разделе .then функции stripe.redirectTocheckout.Но он перенаправляет меня на часть successUrl, прежде чем показывать какой-либо ответ / результат в .then ({}), и, следовательно, код в разделе .then не запускается.Пожалуйста, помогите мне.Я застрял здесь на долгое время.Спасибо.

stripe.redirectToCheckout({
  items: [{ sku: 'abcssdd', quantity: 1 }],
  successUrl:'https://your-website.com/congratulation',
  cancelUrl: 'https://your-website.com/canceled',
})
.then(function (result) {
  if (result.error) {
    var displayError = document.getElementById('error-message');
    displayError.textContent = result.error.message;
  }
  console.log("Inside Then");
})

1 Ответ

1 голос
/ 13 июня 2019

Опция then доступна в случае сбоя.Если это не так, то нет причины показывать ошибку.

Это немного сбивает с толку, ИМХО, потому что then() обычно ассоциируется с успехом, а catch() с ошибкой. Но обратите внимание, что комментарии формируют ихДокументы ниже:

const stripe = Stripe('pk_test_TYauvdEDq54NiTpjx');

stripe.redirectToCheckout({
  items: [
    // Replace with the ID of your SKU
    {sku: 'sku_123', quantity: 1}
  ],
  successUrl: 'https://your-website.com/success',
  cancelUrl: 'https://your-website.com/canceled',
}).then(({error}) => {
  // If `redirectToCheckout` fails due to a browser or network
  // error, display the localized error message to your customer
  // using `error.message`.
});

Источник: https://stripe.com/docs/stripe-js/reference#stripe-redirect-to-checkout

...