在我的托管 VPS 网站上集成 PayPal 标准支付门时遇到问题

Trouble integrating PayPal standard payment gate on my hostinger VPS website

提问人:ODDco. 提问时间:11/16/2023 更新时间:11/16/2023 访问量:30

问:

www.oddco.ca,我一直在努力在我的VPS网站上设置支付网关。当我在机器上的本地终端中运行“npm start”并转到 localhost:8888 端口时,PayPal 网关在沙盒环境中正常工作,但是当我实际单击我网站上的 PayPal 按钮以打开相同的弹出窗口时,我得到:

“无法启动 PayPal 结账...

SyntaxError:意外的标记“<”、”

我已经设置了 .env、server.js、app.js、checkout.html、package.json,但似乎找不到为什么 PayPal 弹出窗口无法加载的错误。它总是在一瞬间出现,甚至显示PayPal徽标,这意味着它显然正在尝试连接,但随后消失了。任何帮助将不胜感激。

我不确定该尝试什么或从哪里开始解决这个问题,因为这是我第一次在 VPS 上构建。

php 节点 .js json PayPal vps

评论

2赞 CBroe 11/16/2023
“SyntaxError: Unexpected token '<'”通常意味着浏览器期望是有效的 JavaScript 的内容是 HTML 代码 - 例如,因为发送了错误文档响应。检查浏览器开发工具中发生的请求,并检查响应正文包含的内容。您可能会在 HTML 响应中找到一条人类可读的错误消息。

答:

0赞 Preston PHX 11/16/2023 #1

localhost:8888 是 PayPal 的 node.js 示例应用程序的后端部分,当然,如果在本地运行的话。

您需要在服务器上部署节点应用程序,或者(如果站点的其余部分使用 PHP 格式,则更有可能)在 PHP 中重新实现示例的整个后端部分,并将其部署到站点。

当前端 JS 中的路由发布到您的站点时,它们必须收到包含预期数据的有效 JSON 格式响应。它只能是一个 JSON 字符串,不能是额外的 HTML 或文本。关于“<”的错误是因为您的网站正在使用 HTML(可能是一些 404 错误页面)进行响应,因此前端无法继续,因为后端没有为其提供PayPal订单 ID 来启动结账。fetch