Стрип-тест на React & Express возвращает 404, также не console.log req.body - PullRequest
0 голосов
/ 26 января 2019

Я учусь интегрировать Stripe в React & Express. Я получаю ошибку 404. Кроме того, когда я пытаюсь console.log req.body, ничего не появляется.

при нажатии кнопки оплаты ожидаем «Покупка завершена», получая «Ошибка покупки» (ниже)

async submit(ev) {
    ev.preventDefault();
    let { token } = await this.props.stripe.createToken();
    let response = await fetch("http://127.0.0.1:3000/api/charge", {
        method: "POST",
        headers: { "Content-Type": "text/plain" },
        body: token.id
    });

    if (response.ok) {
        console.log("Purchase Complete")
        this.setState({ complete: true })
    } else {
        console.log("Purchase Error")
        console.log(response)
    }
}

маршрутизатор:

router.post("/charge", async (req, res) => {

  console.log("req.body: ", req.body)

  try {
    let { status } = await stripe.charges.create({
      amount: 14,
      currency: "usd",
      description: "Purchase 1,000 followers",
      source: req.body
    });
    res.json({ status });
 } catch (err) {
   res.status(500).end();
 }
});

Ожидается увидеть req.body в консоли (сверху код), но ничего не получится Я попытался добавить формы bodyParser в server / src / index.js (ниже).

app.use(bodyParser.text());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
...