如何使用PHP进行安全的paypal结账支付

时间:2016-07-05 13:20:45

标签: php security paypal checkout express-checkout

我有一个小PayPal代码,可以通过结帐按钮实现付款。 此按钮显示一个弹出窗口,其中包含付款选项(使用帐户或信用卡/借记卡)

问题是我通过隐藏的HTML输入文本传递了我正在销售的东西的价值。

所以,每个人都可以编辑这个数量

   <tr style="visibility: hidden;">
                <td><!--Quantity:--></td>
                <td><input type="text" name="L_PAYMENTREQUEST_0_QTY0" value="1" readonly style="display: none"></input></td>
            </tr>
            <tr style="visibility: hidden;">
                <td><!--Price:--></td>
                <td><input type="text" name="PAYMENTREQUEST_0_ITEMAMT" value="<?=$money?>" readonly style="display: none"></input></td>
            </tr>

            <tr style="visibility: hidden;">
                <td><!--Total Amount:--></td>
                <td><input type="text" name="PAYMENTREQUEST_0_AMT" value="<?=$money?>" readonly style="visibility: hidden;"></input></td>
            </tr>

如果有人想编辑PAYMENTREQUEST_0_AMT的值,他可以支付他想要的任何费用。

我像这样打电话给结帐按钮

<script type="text/javascript">
    window.paypalCheckoutReady = function () {
        paypal.checkout.setup('<?php echo($merchantID); ?>', {
            container: 'myContainer',
            addres_override :'true',
            showShippingAddress:'false',
            environment: '<?php echo($env); ?>'
        });
    };
</script>
<script src="//www.paypalobjects.com/api/checkout.js" async></script>

所以,我想通过PHP或不可编辑的东西传递值的参数。

感谢您的回答!

1 个答案:

答案 0 :(得分:0)

您可以将提交按钮提交给实际运行Express Checkout API调用的PHP脚本。如:

<form id="myContainer" method="post" action="/checkout.php"></form>

checkout.php上的PHP只运行脚本。将价格和其他信息保存为会话变量,因此它们不可编辑。