【问题标题】:PHP: How to integrate userid in paypal IPN system?PHP:如何在paypal IPN系统中集成userid?
【发布时间】:2012-07-25 13:19:36
【问题描述】:

当用户登录时,用户ID存储在User::Data('id')中。

如何在 html 表单中使用用户 ID,以及如何访问 IPN 监听器中的变量,以便在付款成功时更新正确的帐户?

这是我当前的按钮代码。

<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="..">
<table>
<tr><td><input type="hidden" name="on0" value="Amount">Amount</td></tr><tr><td><select name="os0">
    <option value="100">100$100,00 USD</option>
    <option value="150">150$140,00 USD</option>
</select> </td></tr>
</table>
<input type="hidden" name="currency_code" value="USD">
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_buynow_SM.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.paypalobjects.com/no_NO/i/scr/pixel.gif" width="1" height="1">
</form>

这是我当前使用的监听器:https://github.com/Quixotix/PHP-PayPal-IPN/tree/58e029c235133b041006a45a9ce614739d8eb550

【问题讨论】:

    标签: php paypal paypal-ipn


    【解决方案1】:

    您是否尝试过在 HTML 中使用“隐藏”表单元素? 像这样:

    <input type="hidden" name="user_id" value="medusa1414" />
    

    您可以使用带有用户 ID User::Data('id') 的 PHP 来添加它吗?如你所说。

    <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
    <input type="hidden" name="cmd" value="_s-xclick">
    <input type="hidden" name="hosted_button_id" value="..">
    <table>
    <tr><td><input type="hidden" name="on0" value="Amount">Amount</td></tr><tr><td><select name="os0">
        <option value="100">100$100,00 USD</option>
        <option value="150">150$140,00 USD</option>
    </select> </td></tr>
    </table>
    <?php echo '<input type="hidden" name="user_id" value="' . $user_id . '" />'; ?>
    <input type="hidden" name="currency_code" value="USD">
    <input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_buynow_SM.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
    <img alt="" border="0" src="https://www.paypalobjects.com/no_NO/i/scr/pixel.gif" width="1" height="1">
    </form>
    

    您将能够通过使用在 PHP 中接收此值

    $user_id = $_POST['user_id'];
    

    【讨论】:

    • 也可以使用custom 字段。
    • 有没有办法让这个字段成为必填项?在 Opera 中,您可以编辑隐藏字段并提交表单。然后用户将被收费并且不接收任何内容。
    • 您几乎可以在所有浏览器上编辑它,这就是 HTML。如果用户希望他的钱被浪费,让他。为什么用户还是要更改 HTML 代码?用户应该通过图形界面来做这些事情。
    猜你喜欢
    • 2011-09-01
    • 2017-12-26
    • 2013-02-06
    • 1970-01-01
    • 1970-01-01
    • 2020-06-09
    • 2012-04-08
    • 2014-07-31
    • 2011-08-19
    相关资源
    最近更新 更多