PHP - Paypal API 表单和安全性

标签 php security paypal

<分区>

我在我的电子商务应用程序上使用标准的 php paypal 表单进行支付。

我注意到只有 firebug 的人可以在通过“立即付款”按钮发送付款请求之前更改 paypal 表单数据。

所以我想知道,新手可以“编辑”付款表格是否是“标准”:/?

我们可以做些什么来防止这种情况发生?

最佳答案

我不同意;我确实认为这是你应该首先防止的事情。买家应支付的金额不应通过互联网公开发送。我们可以逃脱惩罚的时代早已过去。

此外,支票不会阻止交易以不同的金额进行。它只会防止任何交易后的戏剧性事件。
是的,您绝对应该在交易完成后运行检查,但即使有人在理论上无法操纵 amount 也应该发生这种情况。

有多种选择,您可以根据自己的需求选择最适合自己的,

  1. 什么也不做,只执行交易后检查(例如使用 IPN )。
    最简单的。从代码的角度来看,您的 PayPal 集成看起来很破旧,但您仍然会收到所有那些 0.01 美元的欺诈性交易。

  2. 在按钮生成器中勾选“使用 PayPal 托管按钮”选项,并使用 PayPal 的 BMUpdateButton动态改变按钮数量的 API。
    BMUpdateButton 的示例请求如下所示:

    USER=您的 API 用户名
    PWD=你的API密码
    SIGNATURE=您的 API 签名
    METHOD=BMUpdateButton
    版本=82.0
    HOSTEDUBTTONID=
    的值 BUTTONTYPE=按钮的类型。例如。立即购买
    BUTTONCODE=您要取回的代码类型。例如。托管
    L_BUTTONVAR0=金额=以句点为分隔符的新金额
    L_BUTTONVAR1=item_name=可选:一个新的项目名称,如果你愿意的话

  3. 同时使用 BMCreateButton 和 BMUpdateButton API 通过 PayPal 创建和更新您的按钮。
    您还可以使用 BMCreateButton API 创建新按钮,或使用 BMButtonSearch用于搜索所有存储的托管按钮列表的 API(例如,自动查找按钮的 hosted_button_id)。

  4. 改用 PayPal Express Checkout
    它可能是“最难”实现的,因为它包含针对单个事务的 2-3 个 API 调用,但它也是最灵活的。如果使用网站支付标准(“按钮”),一旦买家点击“立即付款”,交易就会完成,Express Checkout 让买家“同意”PayPal 网站上的交易,您可以随时完成交易买家最初通过调用 DoExpressCheckoutPayment API 调用同意付款后的 0 - 3 小时。
    有关集成 Express Checkout 的简要说明,请参阅我在 Checkout my order basket with PayPal 上的回答。

关于PHP - Paypal API 表单和安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8123882/

相关文章:

php - 如何确定 AJAX 应用程序的哪一部分导致速度变慢?

php - 将嵌套行与动态 ORDER BY 和 LIMIT/分页保持在一起

security - 创建自签名 SSL 证书时出错

ruby-on-rails - 使用保存卡的 Paypal 并行支付

paypal - 无需离开美国境外商家的网站即可接受付款

php - 将标题位置作为 Sql Die 操作

EC2 上的 PHP 只是打印出我的 PHP 文件而不是执行

php - 对登录字段使用晦涩的名称毫无意义

ios - 如何检索证书的到期日期?

paypal - Paypal 自适应支付的 future 将是什么?