Javascript 付款成功后我想做点什么

Javascript 付款成功后我想做点什么,javascript,node.js,express,mongoose,Javascript,Node.js,Express,Mongoose,我使用Stripe在代码中创建了一个支付函数。付款工作得很好,它接受钱,但我想在创建付款后在数组中引入一些数据,否则,如果它无法返回带有消息的页面 我刚刚创建了这个函数,但我不知道以后应该做什么 exports.postPayment = async (req,res,next) => { const loggedinUser = req.session.user._id; const token = req.body.stripeToken; const charg

我使用Stripe在代码中创建了一个支付函数。付款工作得很好,它接受钱,但我想在创建付款后在数组中引入一些数据,否则,如果它无法返回带有消息的页面

我刚刚创建了这个函数,但我不知道以后应该做什么

exports.postPayment = async (req,res,next) => {
    const loggedinUser = req.session.user._id;



const token = req.body.stripeToken;
    const charge = stripe.charges.create({
amount:200,
currency:'usd',
description:'Negative Comment',
source:token
    });


}

我是否应该创建then块,或者如何检查是否已付款。现在我在测试模式,所以所有的付款将被接受。请帮帮我,谢谢

你不会回来了。即,调用响应“res”参数的其中一个返回方法

注意第一个被剪断的片段发出付款请求,并立即返回,即付款可能成功或失败,此片段不会等待结果,第二个示例会利用承诺

exports.postPayment = async (req,res,next) => {
    const loggedinUser = req.session.user._id;

    const token = req.body.stripeToken;
    const charge = stripe.charges.create({
        amount:200,
        currency:'usd',
        description:'Negative Comment',
        source:token
    });

    return res.status(200).json({message: "It works!"});
}
不确定charges.create是否返回承诺,但如果返回,我会这样做:

exports.postPayment = async (req,res,next) => {
    const loggedinUser = req.session.user._id;

    const token = req.body.stripeToken;

    try {
        await const charge = stripe.charges.create({
            amount:200,
            currency:'usd',
            description:'Negative Comment',
            source:token
        });
    } catch (e) {
        return res.status(500).json({message: "An error occured!", error: e});
    }


    return res.status(200).json({message: "It works!"});
}

你不会回来了。即,调用响应“res”参数的其中一个返回方法

注意第一个被剪断的片段发出付款请求,并立即返回,即付款可能成功或失败,此片段不会等待结果,第二个示例会利用承诺

exports.postPayment = async (req,res,next) => {
    const loggedinUser = req.session.user._id;

    const token = req.body.stripeToken;
    const charge = stripe.charges.create({
        amount:200,
        currency:'usd',
        description:'Negative Comment',
        source:token
    });

    return res.status(200).json({message: "It works!"});
}
不确定charges.create是否返回承诺,但如果返回,我会这样做:

exports.postPayment = async (req,res,next) => {
    const loggedinUser = req.session.user._id;

    const token = req.body.stripeToken;

    try {
        await const charge = stripe.charges.create({
            amount:200,
            currency:'usd',
            description:'Negative Comment',
            source:token
        });
    } catch (e) {
        return res.status(500).json({message: "An error occured!", error: e});
    }


    return res.status(200).json({message: "It works!"});
}