protected void SubscriptionButton1_IPN_Notified(object sender, SubscriptionIPNNotifiedEventArgs e)
{
if(e.IPN.Status == PayPalIPN.StatusCodes.Verified)
{
// Verified...
if(e.TransactionType == TransactionTypes.Subscr_SignUp)
{
// New Subcription sign up.
string subscriptionName = e.SubscriptionInfo.SubscriptionName;
string subscriptionNumber = e.SubscriptionInfo.SubscriptionNumber;
decimal trialAmount1 = e.SubscriptionInfo.TrialAmount1;
decimal trialPeriod1 = e.SubscriptionInfo.TrialPeriod1;
PeriodUnit trialPeriod1Unit = e.SubscriptionInfo.TrialPeriod1Unit;
decimal regularRate = e.SubscriptionInfo.RegularRate;
int regularBillingCycle = e.SubscriptionInfo.BillingCycle;
PeriodUnit regularBillingCycleUnit = e.SubscriptionInfo.BillingCycleUnit;
//etc.......
// etc.......
}
else if (e.TransactionType == TransactionTypes.Subscr_Payment)
{
// A payment has been made by the subscription (subscription payment)
decimal payment = e.PaymentInfo.McGross;
if(e.PaymentInfo.PaymentStatus == IPNPDTPaymentInfo.PaymentStatusValues.Completed)
{
// payment completed.
// Implement your business logic.
}
}
else if (e.TransactionType == TransactionTypes.Subscr_Modify)
{
// Subscription modification.
}
else if (e.TransactionType == TransactionTypes.Subscr_Failed)
{
// Subscription payment failure.
}
else if(e.TransactionType == TransactionTypes.Subscr_Cancel)
{
// Subscription cancellation
}
else if(e.TransactionType == TransactionTypes.Subscr_EOT)
{
// Subscription’s end-of-term.
}
else
{
// Default Logic.
}
}
}