类型错误:braintree.connect 不是函数

Sum*_*mit 6 paypal web-deployment braintree reactjs mern

我已经使用它的文档实现了一个脑树,但是在终端中遇到了这个错误。它表明 Braintree.connect 不是一个函数,但在文档中它已提供硬编码。


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

这是我的代码!

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);
          }
      });
}
Run Code Online (Sandbox Code Playgroud)

Sha*_*han 14

他们改变了流程,我想忘记更新他们的官方文档。这是在他们的 github 存储库中提到的 nodejs 中初始化 Braintree 的新方法。

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