因此,我开发了一个网站 (HTML),其中嵌入了来自 Stripe 的名为 Checkout 的付款表单。当您访问该网站时,它会提示您输入信用卡信息,因此结帐表格可以正常工作。 我遇到的问题是在创建 token 后对其进行处理。
我对 Web 开发非常陌生,以前从未编写过服务器代码,所以请耐心等待。 我一直在遵循有关标记化的指南 ( Process payments with Node, Vue, Stripe 和 How to set up Stripe payments with Node.js ) 和 stripes 文档,以使用服务器端代码 ( Stripe Checkout ) 创建费用
我知道我必须设置 Heroku 来处理费用,因此我创建了一个帐户并从我的终端设置了一个应用程序。我创建了一个新目录,其中包含所需的模块(stripe、express 和 bodyParser),并且我的 server.js 文件中有以下代码:
它成功部署到 Heroku 但崩溃了。这是控制台中返回的内容:
我做错了什么?任何帮助都会有很大帮助。
最佳答案
你错过了一个重要的部分:
// Start the server
app.listen(port, function(){
console.log('Server listening on port ' + port)
});
您似乎没有在应用程序中启动服务器。这应该位于 server.js 的底部。您还必须记住设置端口:
var port = process.env.PORT || 3000;
当然它位于app.listen
之上。
我无法确定这是否会解决您的所有错误,但您必须首先启动服务器。
此外,请记住检查回调中的错误。在 create
的回调中,您没有这样做。例如
if (err){
console.error(err);
res.json({ error: err, charge: false });
} else {
// send response with charge data
res.json({ error: false, charge: charge });
}
无论是否有错误,您都在执行res.send()
。我怀疑这与 Heroku 错误有什么关系。
关于html - 如何判断我的 Node 应用程序在 Heroku 上崩溃的原因? (HTML、Stripe、Heroku、NodeJS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47312530/