node.js - Braintree 集成 - gateway.transaction.sale 永远不会达到 err, result 函数
问题描述
我正在使用 Firebase 功能来集成 Braintree 服务器端。我已经检查了 Firebase 云功能和其他功能,它们工作正常。所以,这绝对是与布伦特里有关。我检查了 github 中的 Braintree nodejs implementation guide,我的代码很好。https://github.com/braintree/braintree_node
问题是函数总是catch
与unexpectedError
. 代码永远不会到达代码then
的一部分。
exports.setNonce = functions.https.onRequest((req, res) => {
// Grab the parameters.
if (req.body.nonce === undefined) {
// This is an error case, as "message" is required
return res.status(400).send('No nonce defined!');
} else {
return gateway.transaction.sale({
amount: '5.00',
paymentMethodNonce: 'fake-valid-nonce',
options: {
submitForSettlement: true
}
}).then((err, result) => {
if(err) {
return res.status(406).send(err);
}
else {
return res.status(200).json({"hash" : "Successful"});
}
}).catch((error) => {
return res.status(406).send(error);
});
}
});
我已经尝试过的事情-
使用 bluebird 将 gateway.transaction.sale 转换为 promise。它仍然给出同样的错误 -如何承诺一种大脑树方法?
通过选择测试卡更改金额并提供另一个随机数 - https://developers.braintreepayments.com/reference/general/testing/node#test-value-2223000048400011
删除
options
- 没有任何变化
解决方案
这可能是因为您处于免费层 (Spark),因此传出套接字连接被阻止。您必须升级您的项目Blaze plan
以启用传出连接。具有慷慨的Blaze plan
配额限制,因此您可能不会被收取费用。
推荐阅读
- android - 如果我在 Play 商店中加载应用程序,Google Drive Api 不起作用
- ios - 在 SwiftUI 中控制嵌套 UIView 的惯用方式是什么
- java - 使用带有 Scanner() 函数的 Hashmaps
- tensorflow - keras 中的自定义损失函数 - 使用 K.minimum 实现的问题
- reactjs - React Native:模块RCTLog不是注册的可调用模块(调用logIfNoNativeHook)
- ios - “AppDelegate”类型的IOS开发值没有成员“managedObjectContext”Xcode 10
- python - 模块“h5py”没有属性“string_dtype”
- sql - R中的SQL内部联接
- jenkins - VSTS 管道类似于 Jenkins 的 buildwithParameter?
- javascript - 为什么 create-react-app 别名无法从文件夹中找到 index.js?