Parse返回Stripe模块的错误

时间:2015-02-03 16:49:37

标签: ios parse-platform stripe-payments

我想使用条纹云模块为我的应用程序内的信用卡收费,但云功能始终返回错误代码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。非常感谢任何帮助!

1 个答案:

答案 0 :(得分:3)

我可以自己解决问题。第一个提示是记录有用的错误消息,而不是Parse文档中提供的消息。

error: function(httpResponse) {
 response.error(httpResponse.message);
 // alternatively
 console.log(httpResponse.message);
}

这帮助我找到导致问题的原因。就我而言,我在JavaScript云代码中使用了可发布密钥,但Stripe模块需要密钥