我使用的是Java后端,我在我的Angular前端中实现了Paypal智能按钮。很明显,它们不是那么安全,因为你可以操纵价格。
我想请求我的后端,在那里我可以获得存储在我的数据库中的价格,这不是静态的btw。然后用验证后的价格切换Paypal窗口。有人举个例子吗?还是有可能?
按照PayPal Checkout集成指南,在您的服务器上创建两条路线,一条用于"创建订单",另一个用于"捕获订单"。您可以将Checkout-Java-SDK用于路由对PayPal的API调用或您自己的HTTP函数。这两个路由都应该只返回JSON数据(不返回HTML或文本(。在第二条路线中,当捕获API成功时,您应该验证金额是否正确,并将其结果付款详细信息存储在您的数据库中(特别是purchase_units[0].payments.captures[0].id
,它是PayPal交易ID(,并在将返回的JSON转发给前端呼叫者之前立即执行任何必要的业务逻辑(如发送确认电子邮件或预订产品(。在发生错误的情况下,也会转发它的JSON详细信息,因为前端必须处理这种情况。
将这两条路线与此前端审批流配对:https://developer.paypal.com/demo/checkout/#/pattern/server
用fetch
调用服务器的createOrder/onApprove函数可以在特定于框架的代码中使用(代替客户端操作.order.create((/.capture((,您不会使用它(。这里有Angular和其他公司的样品。