Я хочу сделать что-то после успешной оплаты - PullRequest
1 голос
/ 04 июня 2019

Я создал функцию оплаты в своем коде, используя 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
    });


}

Должен ли я создать блок затем или как я могу проверить, был ли произведен платеж.Сейчас я в тестовом режиме, поэтому все платежи будут приняты.Пожалуйста, помогите мне, спасибо!

1 Ответ

0 голосов
/ 04 июня 2019

Ты не вернешься.Т.е. вызов одного из методов возврата по параметру «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!"});
}

Не уверен, если обвинение.создание возвращает обещание, но если это произойдет, я бы сделал это так:

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!"});
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...