[英]How to create charges with Stripe and Node.js
我對Stripe有問題,我在回調中什么都沒得到...
這是我的服務器端:
Stripe.charges.create(
{
amount: totalCostUSD,
currency: 'usd',
source: req.body.stripeToken,
description: 'Example Charge',
metadata: {'order_id': '6735'}
}, function (err, charge) {
if (err && err.type === "StripeCardError") {
return res
.status(status.BAD_REQUEST)
.json({error: err.toString()});
}
if (err) {
console.log(err);
return res
.status(status.INTERNAL_SERVER_ERROR)
.json({error: err.toString()});
}
req.user.data.cart = [];
req.user.save(function () {
return res.json({id: charge.id});
});
});
從我的客戶端,我嘗試發送如下請求:
superagent
.post(url)
.send({
stripeToken: {
number: '4242424242424242',
exp_month: 12,
exp_year: 2017,
cvc: '123'
}
})
.end(function (error, res) {
console.log(error);
console.log(res.text);
});
我試圖在服務器和客戶端上登錄回調函數,但未返回任何內容……有人知道這是什么問題嗎?
您完全可以記錄任何日志嗎? 我會嘗試進行一些登錄,以查看可能出了什么問題。
console.log("Ready to create a charge!");
Stripe.charges.create({
amount: totalCostUSD,
currency: 'usd',
source: req.body.stripeToken,
description: 'Example Charge',
metadata: {'order_id': '6735'}
}, function (err, charge) {
console.log("Entered ChargeCreate Callback Function.");
if (err && err.type === "StripeCardError") {
console.log("Encountered Stripe error.");
return res.status(status.BAD_REQUEST).json({
error: err.toString()
});
}
if (err) {
console.log("Encountered unknown error.");
return res.status(status.INTERNAL_SERVER_ERROR).json({
error: err.toString()
});
}
req.user.data.cart = [];
req.user.save(function () {
console.log("Entered UserSave Callback Function.");
return res.json({id: charge.id});
});
}
);
如果您沒有看到任何日志,則可能無法從Node.js服務器查看stdOut嗎? 您在本地運行嗎?
我發現了問題所在,我的單元測試僅限於在2000毫秒內執行,然后失敗了...
但是要擊中Strip api,需要更多時間來執行...
因此,為了延長執行時間,我將此內容放入了測試中:
it("Can chackout", function (done) {
this.timeout(15000);
setTimeout(done, 15000);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.