Вам необходимо настроить профили ASP.NET для регистрации подписчиков .Это позволяет хранить дополнительные данные для каждого пользователя в базе данных после того, как они были проверены с помощью IPN.Перед отправкой данных в PayPal вы можете создать GUID, чтобы связать заказ с зарегистрированным пользователем.
Если вы используете шаблон проекта веб-сайта ASP.NET, у вас есть профили из коробки.Если вы используете шаблон проекта веб-приложения ASP.NET, вы можете использовать Web Profile Builder для настройки профилей:
http://weblogs.asp.net/joewrobel/archive/2008/02/03/web-profile-builder-for-web-application-projects.aspx
Вот еще один крутой способ сделать это:
http://leedumond.com/blog/asp-net-profiles-in-web-application-projects/
Чтобы связать платеж с именем пользователя на вашем сайте, жизненный цикл будет выглядеть следующим образом:
1) Использовать Подписки PayPal для обработки начального бесплатного периода: -)
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();
}
Некоторые Gotchas:
Не используйте обратный URL-адрес от PayPal
Не используйте IPN и PDT .IPN - это все, что вам нужно
Не забывайте метод Save () при создании профиля: -S