2010-10-08 88 views
5

我已经实现了一个paypal交易之前,但这一个有一个转折,我不太确定什么是最好的方式来处理它。流程为:填写表格,使PayPal付款,创建帐户

基本想法是我想为用户创建一个帐户,当他提供一些细节并通过PayPal进行支付时。在此之前,用户的详细信息已正确填写且付款已正确完成,因此我不应为该用户创建帐户。

我之前完成的设置只是一个贝宝按钮,用户点击,付款并转回到一个通用页面“您的订单将被处理和发货”,因此没有预订形式涉及。

这一次是不同的,但因为

  • 贝宝之前,我需要收集初始用户数据
  • 贝宝后,我需要创建新的用户帐户,并使用它从收集到的用户数据以前的贝宝形式

我确定有一个合乎逻辑的方式来实现这一点,但我不太确定我应该遵循什么流程来做到这一点。

我使用Zend框架的方式,这应该不重要,但以防万一Zend有一个更简单的方法来帮助我与我想做的事情。

回答

4

我做了以下(虽然我为此在ASP.NET):

  1. 用户填写表单
  2. 信息与唯一的发票号
  3. 发票号码保存在Order表以dB为单位被传递到PayPal,与IPN一起通知URL,当你做重定向
  4. 用户发送到贝宝支付,然后回来一个通用的成功页面
  5. 在幕后,贝宝,使该IPN的呼叫通知网址一旦处理完成。此页面会收到您的发票号码,PP将随其呼叫返回,然后在从数据库中检索详细信息后,为该订单执行帐户创建处理。 [这是一个没有用户界面的页面,因为只有PP正在打它。]
  6. 从该进程发送一封电子邮件,通知客户他们的帐户已经创建并给他们提供详细信息。

这是一个过程的简化版本,但点击亮点。您可以查看PayPal的page about IPN,并在Google上搜索IPN与PHP的集成。