【问题标题】:Are PayPal Smart Checkout Buttons vulnerable?PayPal 智能结账按钮是否容易受到攻击?
【发布时间】:2021-02-04 06:47:00
【问题描述】:

我正在制作一个电子商务网站,该网站应该允许使用智能结帐按钮进行 Paypal 付款。 我担心每个人都可以 Curl 我的网站,获取原始 HTML+js 页面并编辑购买单位值。一旦他们完成了他们可以运行网页,js代码将被执行,按钮被渲染为假值,他们可以伪造付款(用更少的钱)。 真的吗?是否有任何解决方案仍在使用智能按钮(不使用 REST API)?

我无法手动创建按钮,因为会有很多不同用户出售的文章。

paypal.Buttons({

        // Set up the transaction
        createOrder: function(data, actions) {

            var o = actions.order.create({
                purchase_units: [{
                    amount: {
                        value: '30.99' //Can users change this ?
                    },
                    payee: {
                      email_address: 'sb-qloys3515897@business.example.com'//email of the sellers
                    }
                }]
            })

            return o;
        },

        // Finalize the transaction
        onApprove: function(data, actions) {
            console.log(details);
            return actions.order.capture().then(function(details) {
                // Show a success message to the buyer
                //alert('Transaction completed by ' + details.payer.name.given_name + '!');
                alert(details);
            });
        }


    }).render('#paypal-button-container');

【问题讨论】:

    标签: paypal paypal-sandbox


    【解决方案1】:

    如果您只使用客户端代码,那么可以,任何人都可以直接在他们的浏览器中编辑该客户端代码,并向您支付他们希望的任何金额,从 0.01 美元到数万美元不等。

    如果您担心这种情况,那么仅客户端的集成显然对您来说太简单了,您应该使用您的服务器实现一个进行所需验证的集成。

    在您的服务器上创建两条路由,一条用于“设置事务”,一条用于“捕获事务”,documented here.

    然后让您的 PayPal 按钮调用这两条路线;这是最好的演示代码:https://developer.paypal.com/demo/checkout/#/pattern/server

    【讨论】:

    • 谢谢,我正在努力。但是这样付给收款人可以吗?,我只知道他们的电子邮件。当我捕获交易(使用我的应用凭据)时,钱会直接转到收款人(在创建交易期间指定,使用我的应用凭据)吗?即使他们不自己捕获交易? (我使用的是 CAPTURE 而不是 AUTHORIZE)
    • 无论上述情况如何,收款人都是交易创建时指定的收款人。您可以在结帐时看到它。
    • 我想使用“服务器上的 2 条路由”方法,但要创建订阅而不是订单。是否可以通过订阅来完成?
    • 是的,将useraction设置为continue,然后在onApprove中激活
    猜你喜欢
    • 2015-12-31
    • 2016-04-29
    • 2015-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-11
    • 1970-01-01
    • 2020-01-16
    相关资源
    最近更新 更多