Ошибка типа: braintree.connect не является функцией

#reactjs #paypal #web-deployment #braintree #mern

#reactjs #paypal #веб-развертывание #braintree #mern

Вопрос:

Я реализовал braintree, используя его документацию, но столкнулся с этой ошибкой в терминале. это показывает, что braintree.connect не является функцией, но в документации она была жестко запрограммирована.

 
var gateway = braintree.connect({
  environment: braintree.Environment.Sandbox,
  merchantId: "useYourMerchantId",
  publicKey: "useYourPublicKey",
  privateKey: "useYourPrivateKey"
});
  

Вот мой код!

 const { response } = require("express");

var gateway = braintree.connect({
  environment: braintree.Environment.Sandbox,
  merchantId: "useYourMerchantId",
  publicKey: "useYourPublicKey",
  privateKey: "useYourPrivateKey"
});

exports.getToken = (req,res) => {
    gateway.clientToken.generate({}, function (err, response) {
        if(err){
            res.status(500).json(err)
        }else{
            res.send(response)
        }
      });
}

exports.processPayment = (req,res) => {
    let nonceFromTheClient = req.body.paymentMethodNonce

    let amountFromTheClient = req.body.amount

    gateway.transaction.sale({
        amount: amountFromTheClient,
        paymentMethodNonce: nonceFromTheClient,
        options: {
          submitForSettlement: true
        }
      }, function (err, result) {
          if (err) {
              res.status(500).json(error)
          }else{
              res.json(result);
          }
      });
}
  

Ответ №1:

Они изменили процесс, и я думаю, забыли обновить свою официальную документацию. Вот новый способ инициализации Braintree в nodejs, упомянутый в их репозитории github.

 var gateway = new braintree.BraintreeGateway({
  environment: braintree.Environment.Sandbox,
  merchantId: 'your_merchant_id',
  publicKey: 'your_public_key',
  privateKey: 'your_private_key'
}); 
  

Комментарии:

1. вы действительно спасаете жизнь