Panggilan API mengembalikan ukuran tumpukan panggilan maksimum melebihi kesalahan

Saya mencoba membuat layanan pembayaran online menggunakan Stripe dan saya ingin membuat titik akhir API menggunakan Express dan Node.js sehingga server frontend saya dapat memanggil API ini yang kemudian akan menangani biaya untuk saya di backend. Cuplikan berikut adalah POST API untuk apa yang saya miliki:

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;

Namun, ketika saya mencoba menguji titik akhir ini dengan memanggilnya menggunakan Tukang Pos, saya mendapatkan kesalahan Maximum call stack size exceeded. Fungsi stripe dengan sendirinya berfungsi dengan baik, jadi saya kira kesalahannya berasal dari mencoba memanggil fungsi stripe di dalam titik akhir API? Bisakah seseorang memberi tahu saya mengapa kesalahan ini terjadi dan mungkin menyarankan perbaikan? Terima kasih.


person Community    schedule 06.04.2020    source sumber
comment
Kode Anda mungkin berulang di suatu tempat dan Anda mendapatkan stack overflow di browser. Tidak ada permainan kata-kata yang dimaksudkan.   -  person L0uis    schedule 06.04.2020
comment
@ L0uis Saya kira itu mungkin stack overflow, tapi saya tidak tahu di mana rekursinya bisa terjadi. Fungsi stripe itu sendiri tentu saja tidak bersifat rekursif dengan cara apa pun, dan saya hanya memanggil titik akhir dari Tukang Pos.   -  person    schedule 06.04.2020


Jawaban (1)


Anda mengirimkan seluruh req sebagai argumen di stripe.tokens.create(); Anda mungkin hanya ingin mengirimkan req.body (atau isi yang diurai dengan cara tertentu, tergantung pada jenis data yang Anda POSTING di sini).

Anda juga tidak boleh membuat Token di sisi server seperti ini - Anda harus menggunakan Stripe.js untuk ini: https://stripe.com/docs/js

person floatingLomas    schedule 06.04.2020
comment
Terima kasih, tahukah Anda bagaimana cara mengintegrasikan objek Stripe? Saya telah mencoba memasukkan tag skrip Strip.js tetapi saya tidak dapat mengakses objek Stripe di kelas komponen saya. Saya bekerja di Angular. - person ; 06.04.2020
comment
Tidak ada panduan Angular resmi, jadi saya sarankan mencarinya di Google saja; sesuatu seperti ini mungkin berhasil: devdungeon.com/content/using-stripejs-elements- sudut - person floatingLomas; 07.04.2020