Paypal的基本工作流程问题+;ASP.NETWeb应用程序集成

Paypal的基本工作流程问题+;ASP.NETWeb应用程序集成,asp.net,paypal,Asp.net,Paypal,我正在为我的软件产品设置一个支付网关,用户可以在网上购买和使用。我正在使用贝宝网站支付标准开始 有一个基本问题困扰着我。我的用户的工作流是: 登录我的产品网站(试用期免费许可)->付费延长许可证 现在假设一个用户-xyz@abc.com在我的网站上注册并登录。然后我给他看“立即购买”按钮(贝宝的)。他点击它,被重定向到贝宝,支付,被重定向回我的网站。在后台,我设置了paypal的IPN功能,并获得了有关此交易及其详细信息的通知。现在-如何将此购买链接到我的用户?我怎么知道xyz@abc.com付

我正在为我的软件产品设置一个支付网关,用户可以在网上购买和使用。我正在使用贝宝网站支付标准开始

有一个基本问题困扰着我。我的用户的工作流是: 登录我的产品网站(试用期免费许可)->付费延长许可证

现在假设一个用户-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)获取的数据中获取该字段。