% 'create the ExpressPayment session
session("ExpressCheckoutPayment")="YES"
'Get variables from database
dim query, rs, conntemp
call opendb()
query="SELECT pcPay_PayPal.pcPay_PayPal_TransType, pcPay_PayPal.pcPay_PayPal_Username, pcPay_PayPal.pcPay_PayPal_Password, pcPay_PayPal.pcPay_PayPal_AVS, pcPay_PayPal.pcPay_PayPal_CVC, pcPay_PayPal.pcPay_PayPal_Sandbox FROM pcPay_PayPal WHERE (((pcPay_PayPal.pcPay_PayPal_ID)=1));"
set rs=server.CreateObject("ADODB.RecordSet")
set rs=conntemp.execute(query)
pcPay_PayPal_TransType=rs("pcPay_PayPal_TransType")
if pcPay_PayPal_TransType="1" then
PaymentAction="Sale"
else
PaymentAction="Authorization"
end if
pcPay_PayPal_Username=rs("pcPay_PayPal_Username")
pcPay_PayPal_Password=rs("pcPay_PayPal_Password")
pcPay_PayPal_Sandbox=rs("pcPay_PayPal_Sandbox")
if pcPay_PayPal_Sandbox=1 then
pcPay_PayPal_Sandbox = "sandbox"
else
pcPay_PayPal_Sandbox = "live"
end if
set rs=nothing
call closedb()
dim tempURL
If scSSL="0" Then
tempURL=replace((scStoreURL&"/"&scPcFolder&"/pc/"),"//","/")
tempURL=replace(tempURL,"https:/","https://")
tempURL=replace(tempURL,"http:/","http://")
Else
tempURL=replace((scSslURL&"/"&scPcFolder&"/pc/"),"//","/")
tempURL=replace(tempURL,"https:/","https://")
tempURL=replace(tempURL,"http:/","http://")
End If
ReturnURL=tempURL&"pcPay_ExpressPay_Start.asp"
CancelURL=tempURL&"pcPay_PayPal_Cancel.asp"
OrderTotal=session("pcPay_PayPalExp_OrderTotal")
Dim paypal
Dim token
token=request.QueryString("token")
session("PayPalExpressToken")=token
If IsEmpty(paypal) Then Set paypal = New PayPalAPI
With paypal
If IsEmpty(token) Then
.SetExpressCheckout OrderTotal, ReturnURL, CancelURL
If IsSuccessful(.pp_caller.Response.Ack) Then
token = .pp_caller.Response.Token
If pcPay_PayPal_Sandbox = 1 Then
Response.Redirect("https://www.sandbox.paypal.com/us/cgi-bin/webscr?cmd=_express-checkout&token=" & token)
Else
response.redirect "https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token="&session("PayPalExpressToken")
End IF
Else
PrintErrorMessages(.pp_caller.Response.Errors)
End If
Else
.GetExpressCheckoutDetails token
If IsSuccessful(.pp_caller.Response.Ack) Then %>
Shipping Address:
<% With .pp_caller.Response.GetExpressCheckoutDetailsResponseDetails.PayerInfo
Response.Write .PayerName.FirstName & " " & .PayerName.LastName & "
"
Response.Write .Address.Street1 & "
"
Response.Write .Address.CityName & ", " & .Address.StateOrProvince & " " & .Address.PostalCode & "
"
Response.Write .Address.CountryName
End With
Payer=.pp_caller.Response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Payer
session("Payer")=Payer
PayerID=.pp_caller.Response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.PayerID
session("PayerId")=PayerID
PayerStatus=.pp_caller.Response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.PayerStatus
PayerBusiness=.pp_caller.Response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.PayerBusiness
FirstName=.pp_caller.Response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.PayerName.FirstName
LastName=.pp_caller.Response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.PayerName.LastName
FullName=.pp_caller.Response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.Name
Street1=.pp_caller.Response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.Street1
Street2=.pp_caller.Response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.Street2
CityName=.pp_caller.Response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.CityName
StateOrProvince=.pp_caller.Response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.StateOrProvince
Country=.pp_caller.Response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.Country
CountryName=.pp_caller.Response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.CountryName
PostalCode=.pp_caller.Response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.PostalCode
AddressOwner=.pp_caller.Response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.AddressOwner
AddressStatus=.pp_caller.Response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.AddressStatus
Session("shippingFullName")=FullName
session("shippingAddress")=Street1
session("shippingAddress2")=Street2
session("shippingCity")=CityName
session("shippingStateCode")=StateOrProvince
session("shippingCountryCode")=Country
session("shippingZip")=PostalCode
session("shippingCountryName")=CountryName
strEmail=session("Payer")
strPassword=randomNumber(99999999)
strPassword=enDeCrypt(strPassword, scCrypPass)
call opendb()
pCustomerType = 0
pIdRefer = 0
pRecvNews = 0
'set sessions back and create customer record
'see if customer was already logged in prior to sending request to PayPal Express Checkout
if session("idCustomer")<>"" and session("idCustomer")<>0 then
'update shipping address
response.redirect "pcPay_ExpressPay_Login.asp"
end if
'see if customer record already exists for this email
query="SELECT idCustomer FROM customers WHERE email='"&strEmail&"';"
set rs=server.CreateObject("ADODB.RecordSet")
set rs=conntemp.execute(query)
if rs.eof then
query="INSERT INTO customers (name, lastName, email, [password],city,zip,CountryCode, state, stateCode,shippingcity,shippingZip,shippingCountryCode, shippingState, shippingStateCode, phone, address, shippingAddress, customercompany, customerType,IDRefer,CI1,CI2,address2,shippingCompany, shippingAddress2,RecvNews) VALUES ('" &FirstName& "', '" &LastName& "', '" &strEmail& "', '" &strPassword&"','" &CityName& "','" &PostalCode& "','" &Country& "', '', '" &StateOrProvince& "','" &CityName& "','" &PostalCode& "','" &Country& "', '', '" &StateOrProvince& "', '" &pPhone& "', '" &Street1& "', '" &Street1& "', '"&PayerBusiness&"', " &pCustomerType& ","&pIdRefer&",'" &pCI1& "','" &pCI2& "', '" &Street2& "','','" &Street2& "',"&pRecvNews&" )"
set rstemp=server.CreateObject("ADODB.RecordSet")
set rstemp=conntemp.execute(query)
query="SELECT idCustomer FROM customers WHERE email='"&strEmail&"' ORDER BY idCustomer DESC;"
set rstemp=server.CreateObject("ADODB.RecordSet")
set rstemp=conntemp.execute(query)
session("idCustomer")=rstemp("idCustomer")
set rstemp=nothing
else
intIdCustomer=rs("idCustomer")
query="UPDATE customers SET name='" &FirstName& "', lastName='" &LastName& "', email='" &strEmail& "', [password]='" &strPassword&"',city='" &CityName& "',zip='" &PostalCode& "',CountryCode='" &Country& "', stateCode='" &StateOrProvince& "',shippingcity='" &CityName& "',shippingZip='" &PostalCode& "',shippingCountryCode='" &Country& "', shippingStateCode='" &StateOrProvince& "', phone='" &pPhone& "', address='" &Street1& "', shippingAddress='" &Street1& "', customercompany='"&PayerBusiness&"', customerType=0,IDRefer="&pIdRefer&",CI1='" &pCI1& "',CI2='" &pCI2& "',address2='" &Street2& "', shippingAddress2='" &Street2& "',RecvNews="&pRecvNews&" WHERE idCustomer="&intIdCustomer&";"
set rstemp=server.CreateObject("ADODB.RecordSet")
set rstemp=conntemp.execute(query)
session("idCustomer")=intIdCustomer
set rstemp=nothing
end if
set rs=nothing
call closedb()
response.redirect "pcPay_ExpressPay_Login.asp"
%>
">Pay
<%
Else
PrintErrorMessages(.pp_caller.Response.Errors)
End If
End If
End With
function randomNumber(limit)
randomize
randomNumber=int(rnd*limit)+2
end function
%>