我想使用条纹云模块为我的应用程序内的信用卡收费,但云功能始终返回错误代码141.
Error: Uh oh, something went wrong (Code: 141, Version: 1.5.0)
Error Domain=Parse Code=141 "The operation couldn’t be completed. (Parse error 141.)" UserInfo=0x170a640c0 {error=Uh oh, something went wrong, code=141}
这是我的云代码:
var Stripe = require('stripe');
Stripe.initialize('pk_test_xxxxxxxxxxxxxxxx');
Parse.Cloud.define("chargeCreditCard", function(request, response) {
Stripe.Charges.create({
amount: request.params.amount * 100,
currency: "usd",
card: request.params.token
},{
success: function(httpResponse) {
response.success("Purchase made!");
},
error: function(httpResponse) {
response.error("Uh oh, something went wrong");
}
});
});
这就是我从我的应用程序中调用此函数的方式:
NSMutableDictionary *params = [[NSMutableDictionary alloc] init];
[params setObject:[NSNumber numberWithInt:100] forKey:@"amount"];
[params setObject:token.tokenId forKey:@"token"];
[PFCloud callFunctionInBackground:@"chargeCreditCard" withParameters:params block:^(id object, NSError *error) {
if (error) {
NSLog(@"%@", error);
}
}];
我调试了它,tokenId
是正确的。我还将global.json文件中的Parse版本号更改为1.5.0。非常感谢任何帮助!
答案 0 :(得分:3)
我可以自己解决问题。第一个提示是记录有用的错误消息,而不是Parse文档中提供的消息。
error: function(httpResponse) {
response.error(httpResponse.message);
// alternatively
console.log(httpResponse.message);
}
这帮助我找到导致问题的原因。就我而言,我在JavaScript云代码中使用了可发布密钥,但Stripe模块需要密钥。