Checkout — это модуль UX/UI для транзакций cc, и его обработка зависит от библиотеки или вызова на стороне сервера, где аутентификация включает секрет сервера (т. е. Checkout использует открытый ключ).
mrgalaxy:meteor включает в себя API-интерфейс Node.js Stripe, однако я не тратил свое время должным образом. Лучшее решение — использовать API оттуда.
На данный момент хак состоял в том, чтобы импортировать пакет Stripe npm и использовать пакет meteorhacks:npm.
Создал файл package.json
с отделом Stripe, и в итоге код выглядел так:
if (Meteor.isServer) {
var stripe = Meteor.npmRequire("stripe")(
Meteor.settings.private.testSecretKey
);
stripe.refunds.create(returnObj, function(err, refund) {
// asynchronously called
if (err) {
// handle
};
});
};
Кроме того, поскольку код выполняется в обратном вызове, могут возникнуть проблемы с использованием методов Meteor или других, основанных на обещаниях, возможно, назначаемых в родительской области, хотя я этого не пробовал, поэтому необходимо инкапсулировать с помощью Fiber как есть:
stripe.refunds.create({
// ...
}, Meteor.bindEnvironment(function (err, refund) {
// ...
}));
Наконец, Meteor 1.3 поддерживает интеграцию с npm, так что вам не придется использовать что-то незнакомое:
if (Meteor.isServer) {
var stripe = require("stripe")(
Meteor.settings.private.testSecretKey
);
stripe.refunds.create(returnObj, function(err, refund) {
// asynchronously called
if (err) {
// handle
};
});
};
person
aug2uag
schedule
04.05.2016