为用户无法更改的支付系统指定固定金额

问题描述

首先,在后端开发方面,我是一个完整的初学者。
我目前正在创建一个网上商店,并使用 Netlify 托管整个内容
我用于网上商店的 HTML 代码(目前)是静态的。

我正在寻找一种对产品进行付款处理的方法
我在互联网 (Source) 上发现了以下代码

<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="upload" value="1″ />
<input type="hidden" name="business" value="your-paypal@adress.com" />
<input type="hidden" name="currency_code" value="EUR"
<input type="hidden" name="item_name_1″ value="Desktop PC" />
<input type="hidden" name="amount_1″ value="79.00″ />
<input type="submit" value="PayPal" />
</form>

当点击提交按钮时,买家将被重定向到 Paypal 的页面并在那里支付指定的金额(79.00 欧元)。但由于总和可以在客户端更改,因此用户可以将其调整为任何总和。

如何在客户无法更改的情况下指定金额?
我已经用 PHP 尝试过一些东西,但是 PHP 似乎在 Netlify 上不起作用。

我也已经将 readonly 添加到负责的输入标签中。但是,我仍然可以更改总和。

那么有没有什么办法可以设置金额,让客户无法更改呢?
或者,现在是否已经有完全不同的方式来为 PayPal 设置付款转发?

解决方法

为了让客户端无法更改数量,您需要简单而简单的服务器端集成。

创建两条路线,一条用于“创建订单”,另一条用于“捕获订单”,documented here。这些路由应该返回 JSON 数据。

将您的两条路线与以下审批流程配对:https://developer.paypal.com/demo/checkout/#/pattern/server


编辑:还有一个更古老、更简单的解决方案,但它没有提供现代结账体验:您可以通过{创建托管“立即购买”或“添加到购物车”按钮{3}}。生成的 <form> 代码将具有“hosted_button_id”,其金额存储在 PayPal 中。这样买家就无法更改它。