PayPal客户端按钮金额能否通过控制台修改并影响交易的技术问询
能否通过浏览器控制台修改PayPal按钮的产品金额并影响交易?
结论:能改前端代码里的金额数值,但这种修改不会对最终交易产生实际影响
原理拆解:
- PayPal的前端JavaScript仅负责发起支付请求、渲染支付界面,核心的交易校验逻辑由PayPal的服务器端完成。正规的PayPal集成流程中,订单的金额、商品信息应该由你的后端服务器生成并提交给PayPal,前端按钮只是触发这个流程的入口。
- 就算你在浏览器控制台把
value改成任意数字,PayPal服务器会和后端提交的订单信息(或商家后台预设的商品价格)做比对,一旦金额不匹配,交易会直接被拒绝。 - 要是完全用前端创建订单(不经过自身后端),看起来能篡改金额,但这种集成方式本身不符合PayPal的安全规范,且只要你在商家后台配置了正确的商品价格,篡改后的请求依然会被PayPal拦截。
附上你提供的代码片段:
paypal.Buttons({ // sets up the transaction when a payment button is clicked createOrder: (data, actions) => { return actions.order.create({ purchase_units: [ { amount:{ value: '77.44' } } ] }) } })
内容的提问来源于stack exchange,提问作者حـمـاده ッ
相关产品推荐
相关产品推荐

