我正在尝试在使用NPM创建订阅后从条纹中返回响应对象。
import Stripe from 'stripe';
const key = require("stripe")("XXXXXXXXXXXXXXXXX");
export function subscribe(cus, items) {
key.subscriptions.create({
customer: cus,
items: items
});
}
当我使用fetch(post)时,我曾经这样做:
if (response.status >= 200 && response.status < 300) {
// transaction successful - get charge ID
const ret = await response.json();
let subId = ret.id
return {"subId": subId};
}
// transaction failed - return error messages and codes
let res = await response.json();
let err = res.error.message;
let code = res.error.code;
let type = res.error.type;
return {"error": err, "code": code, "type": type};
}
但是在节点中,我不明白。我需要返回整个响应,以便可以存储订阅ID,客户ID等。
我尝试使用它,但即使订阅成功
,也行不通key.subscriptions.create({
customer: cus,
items: items
}, function(err, subscription) {
if (err) {
let response = err;
return{response};
}
let response = subscription;
return{response};
}
}
);
这是Stripe API文档中的一个示例内部回电功能您将获得所需的输出
var stripe = require("stripe")("sk_test_4eC39HqLyjWDarjtT1zdp7dc");
app.post('/stripe/sub', (req, res) => {
stripe.subscriptions.create({
customer: "cus_EcmCu9HT7EZWEH",
items: [
{
plan: "emerald-company-234",
},
]
}, function(err, subscription) {
if(subscription){
res.send(subscription)
}
}
);
});