gpt4 book ai didi

javascript - 云代码无效功能的back4app问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:25:26 25 4
gpt4 key购买 nike

我的问题是:我必须在一个带有 conekta 的 iOS 应用程序中实现一些支付,我的服务器在 back4app 中运行得很好,之前我只有云中的 braintree 功能,现在我已经转移到连接器。 back4app 调用不断失败 iOS 给我错误 Invalid function 我从 braintree 的 sintax 中复制了它,我不擅长 Node.js 或 js。我用于云的代码:

// Requiring npm module
var braintree = require("braintree");
var conekta = require('conekta');
conekta.api_key = 'key_eYvWV7gSDkNYXsmr';
conekta.api_version = '2.0.0';

//conekta stuff
// Function for conekta
Parse.Cloud.define("conektaCustomer", function (request, response) {
var name = request.params.name;
var email = request.params.email;
var phone = request.params.phone;
var card = 'card';
var token_id = request.params.tokenId;
var lavado = request.params.total;

console.log(name + email + phone + card + token_id + lavado);

var customerID = conekta.Customer.create({
'name': name,
'email': guerrerovicente@gmail.com',
'phone': phone,
'payment_methods': [{
'type': card,
'token_id': token_id
}]
}, function(err, res) {
console.log(res.toObject());
});

order = conekta.Order.create({
"line_items": [{
"name": "Lavado",
"unit_price": lavado,
"quantity": 12
}],
"shipping_lines": [{
"amount": 0,
"carrier": "Automozo"
}],
"currency": "MXN",
"customer_info": {
"customer_id": customerID.id
},
"shipping_contact":{
"phone": customerID.phone,
"receiver": customerId.name,
"address": {
"street1": "Automozo",
"city": "Monterrey",
"state": "Nuevo Leon",
"country": "MX",
"postal_code": "64630",
"residential": true
}
},
"amount": lavado,
"charges":[{
"payment_method": {
"token_id": token_id,
"type": "card"
}
}]
}, function(err, res) {
console.log(res.toObject());
});

});


// Initializing gateway
var gateway = braintree.connect({
environment: braintree.Environment.Sandbox,
merchantId: "rw4ty7nn96t8kzcz",
publicKey: "qd77d84sy3836qbx",
privateKey: "8fc74c88de4a7b8acf417aadfb92f6c5"
});

// Function for client token generation
Parse.Cloud.define("generateToken", function(request, response) {
var clientId = request.params.clientId;
console.log(clientId)
gateway.clientToken.generate({
customerId: clientId
}, function (err, res) {
if (err) {
console.log(err);
response.error(err);
} else {
response.success(res.clientToken);
}
});
});

// Function for checkout
Parse.Cloud.define("checkout", function (request, response) {
var nonce = request.params.payment_method_nonce;
var amountPayed = request.params.amount;
var clientId = request.params.customerId;
console.log(clientId);
console.log(nonce);
console.log(amountPayed);
// Use payment method nonce here, for example:
gateway.transaction.sale({
amount: amountPayed, // $ 10.00 sale
paymentMethodNonce: nonce,
customerId: clientId,
options: {
submitForSettlement: true
}
}, function (err, result) {
if (err) {
response.error(err);
} else {
response.success();
}
});
});
//create empty customer id
Parse.Cloud.define("newCutomer", function (request, response) {

gateway.customer.create({}, function (err, result) {

if (err) {
console.log(err);
response.error(err);
} else {
console.log(result.customer.id);
response.success(result.customer.id);
}
});
});

//create new customer for cc save?
Parse.Cloud.define("createWithNonce", function (request, response) {
var clientNew = request.params.clientId;
var nonceFromTheClient = request.params.payment_method_nonce;
console.log("here");
console.log(nonceFromTheClient);
gateway.customer.create({
firstName: "Charity",
lastName: "Smith",
paymentMethodNonce: nonceFromTheClient
}, function (err, result) {
result.success;
// true

result.customer.id;
// e.g 160923
console.log(result.customer.id);

result.customer.paymentMethods[0].token;
// e.g f28wm
if (err) {
console.log(err);
response.error(err);
} else {
response.success(result.customer.id);
}
});
});

在 iOS 中:

func makeCardPayment() {

do {

try PFCloud.callFunction("conektaCustomer", withParameters: ["name":nameUser, "email": "guerrerovicente@gmail.com", "phone":numeroDeTelefono, "tokenID":"tok_test_visa_4242", "total":monto])

} catch let error {

print(error.localizedDescription)

}
}

它只是抛出无效函数,仅此而已,有什么帮助吗?

最佳答案

因此,我在此处和函数“conektaCustomer”中的第 21 行进行了检查,您需要添加引号,如下面的行:

var customerID = conekta.Customer.create({
'name': name,
'email': 'guerrerovicente@gmail.com',
'phone': phone,
'payment_methods': [{
'type': card,
'token_id': token_id
}]
}, function(err, res) {
console.log(res.toObject());
});

如果您继续遇到此无效函数问题,将需要进一步调查。

关于javascript - 云代码无效功能的back4app问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42322280/

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