gpt4 book ai didi

Braintree API : Cannot determine payment method for sandbox transactions

转载 作者:行者123 更新时间:2023-12-01 13:27:09 25 4
gpt4 key购买 nike

我目前正在使用沙箱测试 Braintree API。当我将 nonce 发布到服务器时,我从 Braintree API 收到消息:需要金额。无法确定付款方式。
我发现我可以对 nonce 使用硬编码值:paymentMethodNonce: "fake-valid-nonce",在这种情况下,我可以在沙箱中看到交易。但我想查看我在嵌入式 UI 中输入的信用卡。 “无法确定付款方式”消息的原因可能是什么?
我的服务器端 node.js 代码如下:

  var amount = req.body.amount;
// Use the payment method nonce here
var nonceFromTheClient = req.body.paymentMethodNonce;

var newTransaction = gateway.transaction.sale({
amount: amount,
//paymentMethodNonce: "fake-valid-nonce",

paymentMethodNonce: nonceFromTheClient,
options: {
submitForSettlement: true }
}, function(error, result) {
if (result) {
res.send(result);
} else {
res.status(500).send(error);
}
});

我在 Swift 中的客户端代码:
func sendRequestPaymentToServer(nonce: String, amount: String) {

let paymentURL = URL(string: "http://localhost:5000/checkout")!
var request = URLRequest(url: paymentURL)
request.httpBody = "paymentMethodNonce=\(nonce)&amount=\(amount)".data(using: String.Encoding.utf8)
request.httpMethod = "POST"

URLSession.shared.dataTask(with: request) { (data, response, error) -> Void in
guard let data = data else {
print(error!.localizedDescription)
return
}
if let result = try? JSONSerialization.jsonObject(with: data, options: []) as? [String: Any] {
if result?["success"] as? Bool == true {
print("Successfully charged. Thanks So Much :)")
}
else if let message = result?["message"] {
print(message)
}
//dump(result)
} else {
print("No json result.")
}
}.resume()
}

最佳答案

问题出在我的正文解析器中 - 它没有正确配置。通过以下代码行解决了问题:

.use(bodyParser.urlencoded({extended: true}))

在用户@CJoseph 确认代码在她身边工作之后。

关于Braintree API : Cannot determine payment method for sandbox transactions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47928240/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com