我在尝试为 Stripe 支付系统设置 Node.js 时迷路了,老板用 dealine 将项目交给了我



快速背景:我是一名网络和一般IT支持人员,而不是程序员。我上一次使用Javascipt做任何事情是在21年前,当时我在HS,在我的个人网站上使用GIF菜单的滚动数组。

所以本周,我公司的老板们决定接受在线支付。首席执行官的一位IT顾问朋友告诉他们使用Stripe,它在我们的网站上很容易实现,我得到了实现它的任务。

最终,它将与我们的电子病历绑定,电子病历人员最终会处理好这件事。目前,他们只想在我们的客户可以输入他们想要支付的金额的页面上。是的,我知道我可以让我的生活变得轻松,只需要一个WP插件,但由于各种原因,我们不想这么做。

因此,我试图按照这里的说明作为一个模板来工作。

服务器为CentOS 7/Node 10.22.1/PHP 7.3.22/Apache 2.4.6

因此,我遇到的第一个障碍是没有包。json,我使用install init创建了一个,但不知道该为值输入什么,所以我将它们全部保留为默认值/空白。

然后当我运行npm install stripe时,结果是:

npm WARN html@1.0.0 No description
npm WARN html@1.0.0 No repository field.
stripe@8.96.0 updated 1 package and audited 5 packages in 0.82s found 0 vulnerabilities

所以我继续尝试运行node stripe.js,得到了这样的结果:

/var/www/payment.crisisprepandrecovery.com/html/stripe.js:3
const paymentIntent = await stripe.paymentIntents.create({
^^^^^
SyntaxError: await is only valid in async function
at Module._compile (internal/modules/cjs/loader.js:723:23)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)

所以我没有正确地完成第一部分,代码实际上有错误的语法吗,两者都有?

非常感谢所有的帮助。

试试这个:

async function main() {
try {
const stripe = require('stripe')('sk_test_4eC39HqLyjWDarjtT1zdp7dc');
const paymentIntent = await stripe.paymentIntents.create({
amount: 1477, // $14.77, an easily identifiable amount
currency: 'usd',
});
console.log('Worked! ', paymentIntent.id);
} catch (err) {
console.log('Error! ', err.message);
}
}
main();

最新更新