Paypal的基本工作流程问题+;ASP.NETWeb应用程序集成
我正在为我的软件产品设置一个支付网关,用户可以在网上购买和使用。我正在使用贝宝网站支付标准开始 有一个基本问题困扰着我。我的用户的工作流是: 登录我的产品网站(试用期免费许可)->付费延长许可证 现在假设一个用户-xyz@abc.com在我的网站上注册并登录。然后我给他看“立即购买”按钮(贝宝的)。他点击它,被重定向到贝宝,支付,被重定向回我的网站。在后台,我设置了paypal的IPN功能,并获得了有关此交易及其详细信息的通知。现在-如何将此购买链接到我的用户?我怎么知道xyz@abc.com付款Paypal的基本工作流程问题+;ASP.NETWeb应用程序集成,asp.net,paypal,Asp.net,Paypal,我正在为我的软件产品设置一个支付网关,用户可以在网上购买和使用。我正在使用贝宝网站支付标准开始 有一个基本问题困扰着我。我的用户的工作流是: 登录我的产品网站(试用期免费许可)->付费延长许可证 现在假设一个用户-xyz@abc.com在我的网站上注册并登录。然后我给他看“立即购买”按钮(贝宝的)。他点击它,被重定向到贝宝,支付,被重定向回我的网站。在后台,我设置了paypal的IPN功能,并获得了有关此交易及其详细信息的通知。现在-如何将此购买链接到我的用户?我怎么知道xyz@abc.com付
注意:我没有使用autoreturn+PDT方法,因为它的基本缺陷-如果用户在付款后但在返回autoreturn页面之前关闭浏览器,我的付款后逻辑将永远不会运行。使用IPN可以保证支付后逻辑的运行,但我如何将支付与发起和完成支付的网站上的用户名链接?对于用户支付,您创建一个唯一的ID,用于发送支付,然后在IPN上重新获取该ID 用于将其放在PayPal上的代码:发票“ 代码如下: 请看表4 发票-> Passthrough变量,可用于标识此购买的发票号 这是IPN的一个代码 在if(strResponse==“VERIFIED”){…您只需阅读请求即可获得发票。表单[“发票”]
Ps您可以同时使用PDT和IPN,并且可以合并两者的结果。对于您的用户付款,您可以创建一个唯一的ID,然后将其发送到IPN上 用于将其放在PayPal上的代码:发票“ 代码如下: 请看表4 发票-> Passthrough变量,可用于标识此购买的发票号 这是IPN的一个代码 在if(strResponse==“VERIFIED”){…您只需阅读请求即可获得发票。表单[“发票”]
Ps您可以同时使用PDT和IPN,并且可以合并两者的结果。您需要设置ASP.NET配置文件以注册订阅者。这允许您在通过IPN验证每个用户后在数据库中存储额外的详细信息。在将详细信息发送到PayPal之前,您可以创建一个GUID来关联或向注册用户发送订单 如果您使用的是ASP.NET网站项目模板,则具有现成的配置文件。如果您使用的是ASP.NET Web应用程序项目模板,则可以使用Web配置文件生成器设置配置文件: 下面是另一个很酷的方法: 要将付款与网站上的用户名链接,生命周期如下: 1) 用于处理初始自由期:-) 2) 用户在您的网站上订阅,并被定向到PayPal网站 3) 您的IPN类与PayPal握手并获取PayPal返回的值 4) IPN类将更新应用程序数据库,并向订阅服务器生成一封电子邮件,其中包含要在站点上注册的返回URL 5) 您的IPN类将生成一封电子邮件(备份)给商户,其中包含订阅数据 6) 订阅者在您的站点上创建一个用户帐户,您可以设置要存储在其配置文件中的任何额外成员信息
protected void Createuserwizard1_CreatingUser(object sender, EventArgs e)
{
WebProfile p = WebProfile.GetProfile(CreateUserWizard1.UserName, true);
p.Initialize(CreateUserWizard1.UserName, true);
p.subscriberID = ViewState["SubscriberID"].ToString();
p.subscriberExpireDate = ViewState["ExpireDate"].ToString();
p.Save();
}
一些陷阱:
不要使用来自PayPal的返回URL
.IPN就是你所需要的
别忘了Save()创建配置文件时的方法:-S您需要设置ASP.NET配置文件以注册订阅者。这允许您在通过IPN验证每个用户后,在数据库中存储他们的额外详细信息。在将详细信息发送到PayPal之前,您可以创建GUID以将订单与注册用户关联 如果您使用的是ASP.NET网站项目模板,则具有现成的配置文件。如果您使用的是ASP.NET Web应用程序项目模板,则可以使用Web配置文件生成器设置配置文件: 下面是另一个很酷的方法: 要将付款与网站上的用户名链接,生命周期如下: 1) 用于处理初始自由期:-) 2) 用户在您的网站上订阅,并被定向到PayPal网站 3) 您的IPN类与PayPal握手并获取PayPal返回的值 4) IPN类将更新应用程序数据库,并向订阅服务器生成一封电子邮件,其中包含要在站点上注册的返回URL 5) 您的IPN类将生成一封电子邮件(备份)给商户,其中包含订阅数据 6) 订阅者在您的站点上创建一个用户帐户,您可以设置要存储在其配置文件中的任何额外成员信息
protected void Createuserwizard1_CreatingUser(object sender, EventArgs e)
{
WebProfile p = WebProfile.GetProfile(CreateUserWizard1.UserName, true);
p.Initialize(CreateUserWizard1.UserName, true);
p.subscriberID = ViewState["SubscriberID"].ToString();
p.subscriberExpireDate = ViewState["ExpireDate"].ToString();
p.Save();
}
一些陷阱:
不要使用来自PayPal的返回URL
.IPN就是你所需要的
创建配置文件时,请不要忘记Save()方法:-S“发送付款,然后通过IPN获取”…具体情况如何?请将我链接到一个示例?@SaM我已更新我的答案,在您发送的数据上,在“发票”上放置一个与用户连接的唯一ID您发送的字段,然后从IPN(或PDT)获取数据。“发送付款,然后从IPN获取数据”…准确程度如何?请将我链接到一个示例?@SaM我已更新我的答案,在您发送的数据上,在“发票”上放置一个与用户连接的唯一ID字段,然后从IPN(或PDT)获取的数据中获取该字段。