Stripe - Создание заряда - PullRequest
       99

Stripe - Создание заряда

0 голосов
/ 30 октября 2018

Работает над интеграцией ножек. Кажется, что все работает во внешнем интерфейсе, но в коде на стороне сервера токен пуст и он не может успешно загружаться в Stripe. Не могу понять, где я иду не так.

   app.post('/apple-pay', function(req, res, next) {

    // Set your secret key: remember to change this to your live secret key in production
    // See your keys here: https://dashboard.stripe.com/account/apikeys
    var stripe = require("stripe")("sk_test_XXX");

    // Token is created using Checkout or Elements!
    // Get the payment token ID submitted by the form:
    const token = req.body.stripeToken;
    console.log(token)
     const charge = stripe.charges.create({
      amount: 999,
      currency: 'usd',
      description: 'Example charge',
       source: token,

    }, function(err, charge) {
         if(err){
                req.flash("error", err.message);
                res.redirect("back");
            } else {

            }
    });
    });

Ответы [ 2 ]

0 голосов
/ 30 октября 2018

В вашем внешнем коде из другого вопроса вы передали тело POST как

JSON.stringify({token: ev.token.id})

, что означает, что токен Stripe действительно находится в параметре token POST, а не stripeToken. Так что вам нужно сделать

const token = req.body.token;

вместо.

0 голосов
/ 30 октября 2018

До Создание начисления , Вы должны создать Заказчика . После зарядки работает.

Пример кода. (ES6)

let customer = await payStripe.customers.create({
            email: req.body.stripeEmail,
            source: req.body.stripeToken
});

//After Created Customer...

if(customer){

 let charge = await payStripe.charges.create({

            amount: req.body.amount,

            description: req.body.description,

            currency: 'usd',

            customer: customer.id
        });


}

Я надеюсь, что это нормально работает.

...