TypeError:braintree.connect不是函数

问题描述

我已经使用它的文档实现了一个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,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
        }
      },result) {
          if (err) {
              res.status(500).json(error)
          }else{
              res.json(result);
          }
      });
}

解决方法

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

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