Я использую сбалансированные платежи и их версию 1.1 balance.js в Meteor.
Я пытаюсь создать нового клиента, используя balanced.marketplace.customers.create(formData);
Вот мой файл CheckFormSubmitEvents.js
Template.CheckFormSubmit.events({
'submit form': function (e, tmpl) {
e.preventDefault();
var recurringStatus = $(e.target).find('[name=is_recurring]').is(':checked');
var checkForm = {
name: $(e.target).find('[name=name]').val(),
account_number: $(e.target).find('[name=account_number]').val(),
routing_number: $(e.target).find('[name=routing_number]').val(),
recurring: { is_recurring: recurringStatus },
created_at: new Date
}
checkForm._id = Donations.insert(checkForm);
Meteor.call("balancedCardCreate", checkForm, function(error, result) {
console.log(result);
// Successful tokenization
if(result.status_code === 201 && result.href) {
// Send to your backend
jQuery.post(responseTarget, {
uri: result.href
}, function(r) {
// Check your backend result
if(r.status === 201) {
// Your successful logic here from backend
} else {
// Your failure logic here from backend
}
});
} else {
// Failed to tokenize, your error logic here
}
// Debuging, just displays the tokenization result in a pretty div
$('#response .panel-body pre').html(JSON.stringify(result, false, 4));
$('#response').slideDown(300);
});
}
});
Вот мой файл Methods.js
var wrappedDelayedFunction = Async.wrap(balanced.marketplace.customers.create);
Meteor.methods({
balancedCardCreate: function (formData) {
console.log(formData);
var response = wrappedDelayedFunction(formData);
console.log(response);
return response;
}
});
Я ничего не получаю, когда отправляю форму, за исключением того, что на консоли сервера я вижу журнал данных формы.
Я уверен, что неправильно вызываю некоторые из этих асинхронных функций. Трудная часть для меня здесь заключается в том, что сбалансированная функция является асинхронной, но я не знаю, вписываются ли они в ту же форму, что и некоторые из примеров, которые я видел.
Я пытался следовать этому примеру кода. http://meteorhacks.com/improved-async-utilities-in-meteor-npm.html
Есть ли какое-то конкретное изменение, которое необходимо сделать в отношении работы со сбалансированностью здесь? Есть ли у кого-нибудь советы по работе с асинхронными функциями или что-то конкретное в моем коде, что я сделал неправильно?
Спасибо