Вызов API возвращает ошибку «Превышен максимальный размер стека вызовов» - PullRequest
0 голосов
/ 06 апреля 2020

Я пытаюсь создать службу онлайн-платежей с использованием Stripe, и я хотел бы создать конечную точку API с использованием Express и Node.js, чтобы мой интерфейсный сервер мог вызывать этот API, который затем будет обрабатывать платежи для меня в бэкэнде. , Следующий фрагмент представляет собой POST API для того, что у меня есть:

const express = require('express');
const router = express.Router();
const stripe = require('stripe')('sk_test_mystripescretkey');

router.post('/token', (req, res) => {
  stripe.tokens.create({
    card: req,
  }).then(token => res.send(token))
    .catch(err => res.status(400).send(err.message));
});
module.exports = router;

Однако, когда я пытаюсь проверить эту конечную точку, вызвав ее с помощью Postman, я получаю ошибку Maximum call stack size exceeded. Функция stripe сама по себе работает нормально, поэтому я предполагаю, что ошибка возникает из-за попытки вызова функции stripe внутри конечной точки API? Может кто-нибудь сообщить мне, почему происходит эта ошибка, и, возможно, предложить исправление? Спасибо.

1 Ответ

0 голосов
/ 06 апреля 2020

Вы отправляете в целом req в качестве аргумента в stripe.tokens.create(); вместо этого вы, вероятно, захотите просто отправить req.body (или тело, проанализированное каким-либо образом, в зависимости от того, какие данные вы размещаете здесь).

Также вам не следует создавать токены на сервере. сторона, как это - вы должны использовать Stripe. js для этого: https://stripe.com/docs/js

...