我应该如何使用Paypal实现可靠的结账流程?

我应该如何使用Paypal实现可靠的结账流程?,paypal,paypal-ipn,Paypal,Paypal Ipn,我网站上的一个监听器“监听”通过Paypal进行的成功购买。侦听器检索的数据包括一个post变量,我可以在开始购买之前设置该变量。这可以通过Paypal的IPNInstant付款通知实现。我试图让IPN在购买时识别我网站上的用户帐户。我网站上的每个帐户都有一个唯一的用户ID号 我已经尝试通过Paypal的自定义变量传递帐户的唯一ID,这样IPN就可以监听。虽然我认为这是一个坏主意,因为如果人们通过他们的唯一ID,那么他们可以用另一个帐户购买东西。虽然这是一个有保证的购买处理程序,但黑客可以通过社

我网站上的一个监听器“监听”通过Paypal进行的成功购买。侦听器检索的数据包括一个post变量,我可以在开始购买之前设置该变量。这可以通过Paypal的IPNInstant付款通知实现。我试图让IPN在购买时识别我网站上的用户帐户。我网站上的每个帐户都有一个唯一的用户ID号

我已经尝试通过Paypal的自定义变量传递帐户的唯一ID,这样IPN就可以监听。虽然我认为这是一个坏主意,因为如果人们通过他们的唯一ID,那么他们可以用另一个帐户购买东西。虽然这是一个有保证的购买处理程序,但黑客可以通过社会工程利用这一点

我看到有些人通过了,但这并不安全,因为如果会话id消失,侦听器将无法识别用户的网站帐户。我还看到人们会传递一个绑定到用户唯一帐户的cookie。我认为这不是一个好主意,因为饼干可以被清除


我的印象是,如果用户的帐户无法识别,我无法发送退款或取消购买,而不手动执行。我应该做什么结账流程?

我将在您的系统中创建一个本地发票记录,并且该发票将获得一个与之关联的客户ID

然后,您可以使用INVOICE参数将发票ID传递给PayPal,这将返回到IPN中,然后您可以根据该发票ID查找客户ID