Я использую модуль Code Cloud Cloud Parse, чтобы попытаться зарядить карту, которую я собрал в своем приложении iOS. Я использую руководство с сайта синтаксического анализа: http://parse.com/docs/cloud_modules_guide#stripeParse Cloud Code Stripe Module Charges.Create Not Working и Now Deploy Not Working
Вот моя версия в облаке/main.js:
var Stripe = require('stripe');
Stripe.initialize('MY_STRIPE_TEST_SECRET_KEY');
Parse.Cloud.define("purchase", function(request, response) {
Stripe.Charges.create({
amount: 100,
currency: "usd",
card: request.params.cardToken
},{
success: function(httpResponse)
{
response.success("Purchase made!");
},
error: function(httpResponse)
{
response.error(httpResponse);
}
});
});
Глядя на журналы ошибок облако код, я могу видеть, что функция облака покупка была запущена с пользователем полосы и с «cardToken» в качестве входных данных.
Ошибка:
Failed with: {"name" : "card_error"}
Но я не думаю, что это помогает мне много, потому что это самый распространенный тип ошибки в документации полоской.
Другой способ я попытался исправить это через возиться с «parseVersion» в файле конфигурации/global.json, так как я ссылки на статью разбора вопросов с тем, что я думал, что идентичная проблема: http://www.parse.com/questions/stripe-integration-not-working
Они сказали, что изменение «parseVersion» до «1.2.5» было ключевым и сработало. В то время он работал на меня какое-то время, я бы до сих пор получить тот же код ошибки:
Error: {"name" : "card_error"} (Code: 141, Version: 1.2.20)
Я попытался изменить его 1.2.20 (как в моем коде ошибки) и 1.3.3 (которая является самым на сегодняшний день версия синтаксического разбора Javascript SDK) и 1.6.1 (который является наиболее актуальной версии IOS SDK Разбор)
Теперь я получаю некоторые сумасшедшие ошибки Python, что я не очень понимаю:
Traceback (most recent call last):
File"/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/usr/local/bin/parse/__main__.py", line 6, in <module>
File "/usr/local/bin/parse/main.py", line 682, in main
File "/usr/local/bin/parse/main.py", line 170, in handle_deploy
File "/usr/local/bin/parse/parse.py", line 156, in __init__
File "/usr/local/bin/parse/parse.py", line 164, in load_state
File "/usr/local/bin/parse/config_handler.py", line 125, in get_keys_for_app
File "/usr/local/bin/parse/config_handler.py", line 100, in get_info_for_apps
File "/usr/local/bin/parse/config_handler.py", line 112, in get_app_info_for_file
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 290, in load
**kw)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 338, in loads
return _default_decoder.decode(s)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 365, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 381, in raw_decode
obj, end = self.scan_once(s, idx)
ValueError: Expecting , delimiter: line 12 column 20 (char 312)
Теперь, даже когда я меняю версию на «1.2.5», я получаю ту же ошибку Python и не могу даже Используйте еще одну версию, чтобы продолжить поиск и устранение неисправностей. Я действительно застрял и был бы очень благодарен за помощь.
Вот функция сохранения я называю, когда пользователь впервые вводит данные в разборе и, надеюсь, первая покупка сделана так:
- (IBAction)save:(id)sender
{
PTKCard* card = self.paymentView.card;
STPCard* stpcard = [[STPCard alloc] init];
stpcard.number = card.number;
stpcard.expMonth = card.expMonth;
stpcard.expYear = card.expYear;
stpcard.cvc = card.cvc;
[Stripe createTokenWithCard:stpcard completion:^(STPToken *token, NSError *error)
{
if (error)
{
NSLog(@"creating token error: %@", error);
} else
{
NSArray *objectsArray = [NSArray arrayWithObjects:token.tokenId, nil];
NSArray *keysArray = [NSArray arrayWithObjects:@"cardToken", nil];
NSDictionary *dictionary = [[NSDictionary alloc] initWithObjects:objectsArray forKeys:keysArray];
// create a PFObject called "Order" for my own records
PFObject *order = [PFObject objectWithClassName:@"Order"];
order[@"itemName"] = self.restaurant[@"name"];
order[@"name"] = self.currentUser.username;
order[@"email"] = self.currentUser.email;
order[@"address"] = self.currentUser[@"address"];
order[@"price"] = self.total;
// save the order to Parse
[order saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error)
{
NSLog(@"saved Order");
// call cloud function
[PFCloud callFunctionInBackground:@"purchase" withParameters:dictionary block:^(id object, NSError *error)
{
// if there is no errors
if(error == nil)
{
[[[UIAlertView alloc] initWithTitle:@"It Worked!"
message:@"It charged the card with no error!"
delegate:nil
cancelButtonTitle:@"Ok"
otherButtonTitles: nil] show];
NSLog(@"%@", object);
} else [[[UIAlertView alloc] initWithTitle:@"Error"
message:@"The purchase did not work, your card will not be charged"
delegate:self
cancelButtonTitle:@"Ok"
otherButtonTitles: nil] show];
}];
}];
}
}];
}
Хорошо, теперь основная проблема: я не могу развернуть какие-либо новые версии облачного кода из-за этой ошибки python. Я изменил код, но я не могу его развернуть. –
Что происходит, когда вы выполняете «синтаксическое обновление»? –
В нем говорится, что он обновляется до последней версии. Затем я снова попробовал разборку разбора и дал ту же ошибку. –