PayPal IPN和更新数据库

PayPal IPN和更新数据库,paypal,paypal-ipn,Paypal,Paypal Ipn,我了解IPN的工作原理,以及发送信息、验证等的基本理念。但就我而言,我无法让它工作 这就是我想做的 用户选择要购买的产品的某个部分,一旦他们单击它,他们就会链接到paypal按钮,我在其中添加了两个文本字段。第一个是用户ID,第二个是所选部件的名称,这两个部件的值都会自动添加。一切正常 然后他们按Buy Now并填写他们的信用卡详细信息,信用卡将被购买并重定向到成功页面 但是,我需要它,这样它会更新我数据库中的他们的个人资料,以显示他们购买了该产品 我知道,使用PayPal的IPN,我可以将信息

我了解IPN的工作原理,以及发送信息、验证等的基本理念。但就我而言,我无法让它工作

这就是我想做的

用户选择要购买的产品的某个部分,一旦他们单击它,他们就会链接到paypal按钮,我在其中添加了两个文本字段。第一个是用户ID,第二个是所选部件的名称,这两个部件的值都会自动添加。一切正常

然后他们按Buy Now并填写他们的信用卡详细信息,信用卡将被购买并重定向到成功页面

但是,我需要它,这样它会更新我数据库中的他们的个人资料,以显示他们购买了该产品

我知道,使用PayPal的IPN,我可以将信息发送到我网站上的一个页面进行检查,如果付款完成,则采取任何必要的行动

我已经尝试了贝宝网站本身的脚本,我没有得到任何回应。有人能给我一个非常简单的方法来实现我的目标吗?因为那里的每一个教程都过于复杂或不起作用,而且这些例子对我一点帮助都没有,他们和你交谈时,好像你应该知道它是如何完成的


我甚至读了整个PDF文件,但我仍然不知道如何让它工作。有什么帮助吗?

这取决于用户在数据库中的存储方式

  • 他们是如何识别的,他们有用户名吗
  • 您是否在将信息提交给PayPal之前将交易保存到数据库
  • 基本上,您希望查看,并了解当脚本接收到IPN消息时,可以使用什么将数据与数据库关联起来

    假设您拥有以下数据库:

    Users: ID, email, etc.. etc..
    
    Transactions: ID, emailofUser, invoiceID, Success/Fail(bool)
    
    在将数据发送到PayPal之前,您希望将信息存储到数据库——“嘿,这家伙是被发送到PayPal购买的”

    然后,当您希望确保项目实际购买时,IPN就会出现。你不想让某人仅仅因为被发送到PayPal而获得购买物品的好处,你要确保他们实际完成了付款。离开IPN变量,您可以很容易地使用“invoice”变量(只要您在将数据发送到PayPal时适当地定义它)

    假设您将买家发送到PayPal,他完成结账,您的脚本将收到一条IPN消息。您将需要执行以下操作:

  • 检查一下这是什么发票

    mysql_查询(“从invoiceID=$\u POST['invoice']]的事务中选择*”

  • 查看事务是否成功

    if ($_POST['payment_status'] == 'completed')
    { 
    //update whatever information you need to
    }
    else
    {
    //something else happened with this transaction, put a flag on it for review by
    //an admin
    }
    
  • 您应该查看下面的链接,这些链接详细介绍了如何管理您的订单


    我也在努力实现同样的目标,+1。非常感谢!不幸的是,我最终使用了一种不同的付款方式,所以我无法实际测试它,但根据您的指示,它似乎非常容易理解,非常详细,我不明白为什么它不起作用。我相信我将来会需要它的。