Мой сценарий не выполняется при попытке подключения к Stripe - PullRequest
0 голосов
/ 09 марта 2020

Я предвосхищу это, говоря, что я не очень хорош с Javascript, но я знаю основы, но я также только начинаю изучать Stripe. Я использую локальную среду с установкой Wordpress для тестирования и следую этой документации Stripe . Я установил Node.js и в командной строке я использовал npm install stripe, который добавляет папку node_modules в мою папку MAMP / htdocs / iga (iga - это название веб-сайта). Затем я добавил скрипт в мои функции. js файл.

Проблема в том, что когда я запускаю страницу со скриптом, при проверке консоли в консоли ничего не появляется. Он должен дать мне сообщение об успехе или неудаче, но я ничего не получаю. Я проверил, работает ли файл functions. js, поместив console.log('Hello'); после сценария полосы, но эта часть выполняется, и я вижу его в консоли.

Я не знаю, так ли это проблема со сценарием, установкой npm или чем-то еще.

Javascript код:

async () => {
  try {
    const stripe = require('stripe')('[test_key]');
    const paymentIntent = await stripe.paymentIntents.create({
      amount: 1477, // $14.77, an easily identifiable amount
      currency: 'usd',
    });
    console.log('Worked! ', paymentIntent.id);
  } catch(err) {
    console.log('Error! ', err.message);
  }
};

РЕДАКТИРОВАТЬ: я также получаю несколько ошибок при выполнении npm установить. Я пытался установить его в разных местах, но он не изменился.

РЕДАКТИРОВАТЬ 2: Вот изображение ошибок, которые я получаю при установке npm нашивка enter image description here

1 Ответ

1 голос
/ 09 марта 2020

Если у вас возникают ошибки при установке stripe-node, то вам следует отредактировать их в своем вопросе, прежде чем кто-либо сможет вам помочь.

Сказав это, фрагмент кода, который у вас есть, создает анонимную функцию, вызывающую Stripe API, но на самом деле не выполняет его.

Вы можете исправить это, либо вызвав его немедленно, используя выражение Немедленно вызванная функция :

(async () => {
  // snip
})();

Или назначить анонимную функцию имя, а затем назвать его, который ИМО чище:

async function createPaymentIntent() {
  // snip
}

createPaymentIntent();
...