<% '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 %>