【问题标题】:Security: Passing payment amount to PayPal安全性:将付款金额传递给 PayPal
【发布时间】:2013-11-27 11:56:55
【问题描述】:

据我了解,使用 PayPal api,您可以通过填充将提交给 PayPal 的隐藏 HTML 输入字段来传递您的付款金额。

到目前为止,我得到的看起来有点像这样:

<input type="hidden" name="amount" value="60.00">

我的问题是 - 这不是超级不安全吗?例如,有什么可以阻止某人更改元素检查器中的付款值?

【问题讨论】:

标签: security paypal


【解决方案1】:

您可能希望使用 PayPal ButtonManager API 操作以编程方式创建、管理、编辑和删除 PayPal 付款标准按钮,这些按钮与您可以从 PayPal 配置文件中创建的按钮类型相同。
此 API 创建的托管按钮驻留在 PayPal 上,可以使用所有功能,包括库存管理;但是,您也可以使用此 API 为非托管标准按钮创建代码。

您将从该 API 请求创建的按钮如下所示:

https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=19218

正如您所见,“业务”、“金额”或其他值不可见,因此这是一个安全的解决方案,我个人推荐它。

回到你的问题“有什么可以阻止某人在元素检查器中更改付款值?

我们建议使用 API 请求(参见 ExpressCheckoutButtonManager 创建标准按钮)和 Instant Payment Notifications 服务 (IPN),这是一条消息通知您与 PayPal 交易相关的事件的服务。您可以使用 IPN 消息来自动化后台和管理功能,例如履行订单、跟踪客户以及提供状态和其他交易相关信息。

【讨论】:

  • ButtonManager 按钮是否可自定义?我想从中删除 PayPal 品牌,并在按钮上保留我自己的网站品牌。
  • 使用 BMCreateButton API 操作:developer.paypal.com/webapps/developer/docs/classic/api/… - 您可以自定义您的按钮。如果您想插入您的徽标而不是标准的 PayPal 按钮,您可以通过修改输入 type="image" 中设置的“src”值来实现。
  • 谢谢。您需要付费帐户才能完全使用它还是免费的?
  • 完全免费。您可能想要研究的另一个更灵活的选项是 PayPal Express Checkout。这是一个完整的基于服务器到服务器 API 的解决方案,您可以更好地控制向我们发送数据的内容、方式和时间。
猜你喜欢
  • 2020-08-16
  • 2020-09-02
  • 2016-10-24
  • 2021-11-25
  • 2020-05-12
  • 2015-02-26
  • 2013-05-14
  • 2012-09-17
  • 2020-09-18
相关资源
最近更新 更多