-
Notifications
You must be signed in to change notification settings - Fork 0
/
subscription.aspx.vb
193 lines (165 loc) · 8.22 KB
/
subscription.aspx.vb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
Imports System.Data.SqlClient
Imports Encore.PayPal.Nvp
Imports Telerik.Web.UI
Imports subscription
Partial Class manager_subscription
Inherits MyBaseClass
Dim subscription As subscription = New subscription
Const subscriptionActive As String = "Active"
Const subscriptionPending As String = "Pending"
Const subscriptionCancelled As String = "Cancelled"
Const subscriptionSuspended As String = "Suspended"
Const subscriptionExpired As String = "Expired"
Const subscriptionError As String = "Error"
Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
'subscription.userid = Session("userId")
'subscription.email = Session("email")
subscription.setSessionData(Session)
'subscription.setPaypalPayerIdFromSession(Session)
checkSubscription()
End Sub
Protected Sub checkSubscription()
' get existing token from somewhere??
'subscription.paypalPayerId = Session("paypalPayerId")
'Dim paypalPayerId As String = Session("paypalPayerId")
'subscription.paypalPayerId = Session("paypalPayerId")
' Check if the subscription sign-up was successful
' This comes as a redirect from CreateRecurringPaymentsProfile()
If Request.QueryString("subscription") = "success" Then
showNotification("Subscription Activated", "You have successfully subscribed to Buildmate. Thank you for your continued support :)")
Return
End If
' check for a new subscription sign-up
confirmNewSubscription()
Dim accountStatus As String = subscription.check()
' If User has a PaypalPayerID display their payment profile details
'If subscription.paypalPayerId Then
' profile exists - check if the profile is active
'Dim checkPayPalAccountStatus = subscription.getRecurringPaymentsProfileDetails()
Select Case accountStatus
Case subscriptionActive
' subscription is currently active
panelSubscriptionActive.Visible = True
panelSuspend.Visible = True
panelCancel.Visible = True
Case subscriptionPending
' subscription is pending approval?
panelSubscriptionPending.Visible = True
panelSuspend.Visible = True
panelCancel.Visible = True
Case subscriptionCancelled
' your subscription is currently cancelled
panelSubscriptionCancelled.Visible = True
'setSubscription.Visible = True
'panelSubscribe.Visible = True
'panelReactivate.Visible = True
'Label1.Text = "Subscription Cancelled"
'setSubscription.Visible = True
'panelSubscribe.Visible = True
'panelReactivate.Visible = True
'btnReactivate.Visible = False
'panelSuspend.Visible = False
'panelCancel.Visible = False
'SetCustomerBillingAgreement() ' create a customer billing agreement
Case subscriptionSuspended
' your subscription is currently suspended
' display reactivate button.
' display cancel button
panelSubscriptionSuspended.Visible = panelReactivate.Visible = True
'Label1.Text = "Subscription Suspended"
setSubscription.Visible = False
'panelSubscribe.Visible = False
panelReactivate.Visible = True
'btnReactivate.Visible = True
btnSuspend.Visible = False
btnCancel.Visible = True
Case subscriptionExpired
' your subscription has expired
' click here to renew your subscription
panelSubscriptionExpired.Visible = setSubscription.Visible = True
'Label1.Text = "Subscription Expired."
setSubscription.Visible = True
'panelSubscribe.Visible = True
'btnReactivate.Visible = False
btnSuspend.Visible = False
btnCancel.Visible = False
Case subscriptionError
' something bad happened. the paypalPayID might be wrong
panelSubscriptionError.Visible = True
pSubscriptionNotFound.Visible = True
'confirmSubscription()
End Select
End Sub
Protected Sub confirmNewSubscription()
Dim queryToken = Request.QueryString("token")
If Not queryToken Is Nothing Then
subscription.confirm(queryToken)
'subscription.Token = queryToken
' display confirm subscription form
'subscription.Token
'subscription.setToken(queryToken)
fvConfirmSubscription.Visible = True
Else
panelSubscribe.Visible = True
End If
''subscription.token = Request.QueryString("token")
''Dim token As String = Request.QueryString("token")
'If Not token Is Nothing Then
' ' confirm subscription
' panelSubscribe.Visible = False
' fvConfirmSubscription.Visible = True
'Else
' 'Label1.Text = "You do not have a subscription"
' panelSubscribe.Visible = True
'End If
End Sub
'Protected Sub createLabel(ByVal label As String, ByVal body As String)
' lblProfile.Text += "<div class='row'><label class='label'>" & label & "</label> " & body & "</div>"
'End Sub
Protected Sub btnReactivate_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim profileId As String = subscription.reactivate()
'If Not profileId Is Nothing Then Response.Redirect("subscription.aspx")
End Sub
Protected Sub btnSuspend_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim profileId As String = subscription.suspend()
If Not profileId Is Nothing Then Response.Redirect("subscription.aspx")
End Sub
Protected Sub btnCancel_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim profileId As String = subscription.cancel()
If Not profileId Is Nothing Then Response.Redirect("subscription.aspx")
End Sub
Protected Sub displayErrorToClient(ByVal errString As String)
pError.Visible = True
lblError.Text = errString
End Sub
Protected Sub btnConfirmSubscription_OnClick(ByVal sender As Object, ByVal e As System.EventArgs)
Dim firstname As String = CType(fvConfirmSubscription.FindControl("rtFirstName"), RadTextBox).Text.ToString
Dim surname As String = CType(fvConfirmSubscription.FindControl("rtSurname"), RadTextBox).Text.ToString
'Dim token As String = Request.QueryString("token")
subscription.CreatePaymentProfile(firstname, surname)
'subscription.PaypalPayerId
If Not subscription.PaypalPayerId Is Nothing Then
Response.Redirect("subscription.aspx?subscription=success")
Else
' there was an error
lblError.Text = "<b>Subscription Problem</b><br />There was a problem while trying to subscribe, it may be because you have already created a subscription."
pError.Visible = True
End If
End Sub
' set default subscription to the first in the list
Protected Sub rblSubscription_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles rblSubscription.Init
rblSubscription.SelectedIndex = 0
End Sub
Protected Sub btnSubscribe_Click(sender As Object, e As EventArgs) Handles btnSubscribe.Click
Dim subscriptionType As String = rblSubscription.SelectedValue
subscription.create(subscriptionType)
'Dim token As String = subscription.create(subscriptionType)
If Not subscription.Token Is Nothing Then
' redirect the user to paypal where they can continue with the subscription
Response.Redirect("https://www.sandbox.paypal.com/webscr?cmd=_customer-billing-agreement&token=" & subscription.Token)
Else
lblError.Text = "<b>Subscription Problem</b><br />There was a problem while trying to create a payment token."
pError.Visible = True
End If
End Sub
End Class