PayPal和用户支付系统

时间:2012-09-11 12:54:48

标签: php paypal e-commerce

我正在玩PayPal Sandbox的一些电子商务。到目前为止,这是应用程序的流程:

  • 用户登录,服务器将user_id存储在数据库的会话中。用户可以在登录后点击立即购买按钮。将它们带到PayPal,他们登录并付款,IPN收到通知罚款:)

我现在唯一要做的是扩展它,就是创建接收users_id的IPN,这样我就可以在他们的数据库条目上设置一个标志。这可以在PayPal中完成吗?

我在视图中尝试了以下内容:

<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
  <input type="hidden" name="cmd" value="_s-xclick">
  <input type="hidden" name="hosted_button_id" value="--ID-FROM-PAYPAL--">
  <input type="hidden" name="user_id" value="<?php echo $user_id;?>">
  <input type="image" src="https://www.sandbox.paypal.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
  <img alt="" border="0" src="https://www.sandbox.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>

感谢您的帮助:)

1 个答案:

答案 0 :(得分:2)

<input type="hidden" name="custom" id="custom" value="<?php echo $user_id;?>"/>

您的IPN将在$_POST['custom']变量中收到用户ID。

如果您想将多个值传递给Paypal并返回到您的IPN:

    <script type="text/javascript">
          // using prototype
      function checkCustom(){
        var custom1 = $F('custom1');
        var custom2 = $F('custom2');
        $('custom').value = '{"userID":"'+ custom1 +'","publicDonation":"'+ custom2 +'"}';

      }
    </script>
<input type="hidden" name="custom1" id="custom1" value="<?php echo $user_id;?>"/>
<input type="hidden" name="custom2" id="custom2" value="<?php echo $user_email;?>"/>

有关详细信息,请查看paypal IPN:

  

定制

     

您,商家传递的自定义价值。这些是传递   永远不会呈现给您的客户的变量长度:255   字符

https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_html_IPNandPDTVariables#id091EAB0105Z