Paypal Wizard
Paypal Wizard
Paypal Wizard
Put your API Username, API Password, and Signature in the paypalfunctions code file
where the comments instruct you to do so.
2c. Save the total payment amount in a Session variable named "Payment_Amount". The
code inside the ExpressCheckout file is designed to read from this session variable and
pass as input to the API call.
3a. Insert this code snippet into the section of your code that handles billing.*
' ==================================
' PayPal Express Checkout Module
' ==================================
On Error Resume Next
'------------------------------------
' The currencyCodeType and paymentType
' are set to the selections made on the Integration Assistant
'------------------------------------
currencyCodeType = "USD"
paymentType = "Sale"
'------------------------------------
' The returnURL is the location where buyers return to when a
' payment has been succesfully authorized.
'
' This is set to the value entered on the Integration Assistant
'------------------------------------
returnURL = "http://www.dubaidirectorypages.com/entilaq1/conferm.asp"
'------------------------------------
' The cancelURL is the location buyers are sent to when they click the
' return to XXXX site where XXX is the merhcant store name
' during payment review on PayPal
'
' This is set to the value entered on the Integration Assistant
'------------------------------------
cancelURL =
"http://www.dubaidirectorypages.com/entilaq1/delegatebooking.asp"
'------------------------------------
' The paymentAmount is the total value of
' the shopping cart, that was set
' earlier in a session variable
' by the shopping cart page
'------------------------------------
paymentAmount = Session("Payment_Amount")
'------------------------------------
' When you integrate this code
' set the variables below with
' shipping address details
' entered by the user on the
' Shipping page.
'------------------------------------
shipToName = "<<ShiptoName>>"
shipToStreet = "<<ShipToStreet>>"
shipToStreet2 = "<<ShipToStreet2>>" 'Leave it blank if there is no value
shipToCity = "<<ShipToCity>>"
shipToState = "<<ShipToState>>"
shipToCountryCode = "<<ShipToCountryCode>>" ' Please refer to the PayPal
country codes in the API documentation
shipToZip = "<<ShipToZip>>"
phoneNum = "<<PhoneNumber>>"
'------------------------------------
' Calls the SetExpressCheckout API call
'
' The CallMarkExpressCheckout function is defined in PayPalFunctions.asp
' included at the top of this file.
'-------------------------------------------------
Set resArray = CallMarkExpressCheckout (paymentAmount, currencyCodeType,
paymentType, returnURL, cancelURL, shipToName,
shipToStreet, shipToCity, shipToState,
shipToCountryCode, shipToZip, shipToStreet2, phoneNum )
ack = UCase(resArray("ACK"))
If ack="SUCCESS" Then
' Redirect to paypal.com
SESSION("token") = resArray("TOKEN")
ReDirectURL( resArray("TOKEN") )
Else
'Display a user friendly Error on the page using any of the following error
information returned by PayPal
ErrorCode = URLDecode( resArray("L_ERRORCODE0"))
ErrorShortMsg = URLDecode( resArray("L_SHORTMESSAGE0"))
ErrorLongMsg = URLDecode( resArray("L_LONGMESSAGE0"))
ErrorSeverityCode = URLDecode( resArray("L_SEVERITYCODE0"))
End If
'------------------------------------
' The paymentAmount is the total value of
' the shopping cart, that was set
' earlier in a session variable
' by the shopping cart page
'------------------------------------
paymentAmount = Session("Payment_Amount")
'------------------------------------
' The paymentType that was selected earlier
'------------------------------------
paymentType = "Sale"
' Set these values based on what was selected by the user on the Billing page Html
form
'------------------------------------------------
' Calls the DoDirectPayment API call
'
' The DirectPayment function is defined in PayPalFunctions.asp included at the
top of this file.
'-------------------------------------------------
Set resArray = DirectPayment (paymentType, paymentAmount, creditCardType,
creditCardNumber,
expDate, cvv2, firstName, lastName,
street, city, state, zip,
countryCode, currencyCode )
ack = UCase(resArray("ACK"))
End If
End If
%>
3b. To pass the shipping address entered, replaced the shipping address placeholders in
the code snippet with variables representing the shipping address from PayPal.
3c. Save the total payment amount in a session variable named "Payment_Amount". The
code inside the ExpressCheckout file is designed to read from this session variable and
pass as input to the API call.
'-- This indicates that the directed flow to this page is originating from PayPal, if this
value is not present then user is not
'-- coming from PayPal.
if token <> "" then
'------------------------------------
' Calls the GetExpressCheckoutDetails API call
'
' The GetShippingDetails function is defined in PayPalFunctions.asp
' included at the top of this file.
'-------------------------------------------------
ack = UCase(resArray("ACK"))
Else
email = resArray("EMAIL") ' Email address of payer.
payerId = resArray("PAYERID") ' Unique PayPal customer
account identification number.
payerStatus = resArray("PAYERSTATUS") ' Status of payer.
Character length and limitations: 10 single-byte alphabetic characters.
salutation = resArray("SALUTATION") ' Payer's salutation.
firstName = resArray("FIRSTNAME") ' Payer's first name.
middleName = resArray("MIDDLENAME") ' Payer's middle
name.
lastName = resArray("LASTNAME") ' Payer's last name.
suffix = resArray("SUFFIX") ' Payer's suffix.
cntryCode = resArray("COUNTRYCODE") ' Payer's country
of residence in the form of ISO standard 3166 two-character country codes.
business = resArray("BUSINESS") ' Payer's business name.
shipToName = resArray("SHIPTONAME") ' Person's name
associated with this address.
shipToStreet = resArray("SHIPTOSTREET") ' First street address.
shipToStreet2 = resArray("SHIPTOSTREET2") ' Second street address.
shipToCity = resArray("SHIPTOCITY") ' Name of city.
shipToState = resArray("SHIPTOSTATE") ' State or province
shipToCntryCode = resArray("SHIPTOCOUNTRYCODE") ' Country
code.
shipToZip = resArray("SHIPTOZIP") ' U.S. Zip code or other
country-specific postal code.
addressStatus = resArray("ADDRESSSTATUS") ' Status of street
address on file with PayPal
invoiceNumber = resArray("INVNUM") ' Your own invoice or
tracking number, as set by you in the element of the same name in SetExpressCheckout
request .
phonNumber = resArray("PHONENUM") ' Payer's contact
telephone number. Note: PayPal returns a contact telephone number only if your
Merchant account profile settings require that the buyer enter one.
' This is just an example of what can be displayed on the Order Review
page. You can use this code as sample to integrate into your Order Review page the
information returned
' by PayPal
strFormattedOutput = "<table><tr>"
strFormattedOutput = strFormattedOutput + "<td> First Name </td><td>"
+ firstName + "</td></tr>"
strFormattedOutput = strFormattedOutput + "<td> Last Name </td><td>"
+ lastName + "</td></tr>"
strFormattedOutput = strFormattedOutput + "<td colspan='2'> Shipping
Address</td></tr>"
strFormattedOutput = strFormattedOutput + "<td> Name </td><td>" +
shipToName + "</td></tr>"
strFormattedOutput = strFormattedOutput + "<td> Street1 </td><td>" +
shipToStreet + "</td></tr>"
strFormattedOutput = strFormattedOutput + "<td> Street2 </td><td>" +
shipToStreet2 + "</td></tr>"
strFormattedOutput = strFormattedOutput + "<td> City </td><td>" +
shipToCity + "</td></tr>"
strFormattedOutput = strFormattedOutput + "<td> State </td><td>" +
shipToState + "</td></tr>"
strFormattedOutput = strFormattedOutput + "<td> Zip </td><td>" +
shipToZip + "</td></tr>"
Response.Write strFormatted
End If
End If
%>
4b. Display the shipping address returned in the code variables on your order review
page.
4c. Save the total payment amount in a session variable named "Payment_Amount". The
code inside the ExpressCheckout file is designed to read from this session variable and
pass as input to the API call.
5a. Insert this code snippet into the section of your code that handles order confirmation.*
'------------------------------------
' The paymentAmount is the total value of
' the shopping cart, that was set
' earlier in a session variable
' by the shopping cart page
'------------------------------------
finalPaymentAmount = Session("Payment_Amount")
'------------------------------------
' Calls the GetExpressCheckoutDetails API call
'
' The GetShippingDetails function is defined in PayPalFunctions.asp
' included at the top of this file.
'-------------------------------------------------
set resArray = ConfirmPayment( finalPaymentAmount )
ack = UCase(resArray("ACK"))
Else
'***********************************************************
*********************************************************
'
' THE PARTNER SHOULD SAVE THE KEY TRANSACTION
RELATED INFORMATION LIKE
' transactionId & orderTime
' IN THEIR OWN DATABASE
' AND THE REST OF THE INFORMATION CAN BE USED TO
UNDERSTAND THE STATUS OF THE PAYMENT
'
'***********************************************************
*********************************************************
token = resArray("TOKEN") ' The timestamped token
value that was returned by SetExpressCheckout response and passed on
GetExpressCheckoutDetails request.
transactionId = resArray("TRANSACTIONID") ' Unique transaction ID
of the payment. Note: If the PaymentAction of the request was Authorization or Order,
this value is your AuthorizationID for use with the Authorization & Capture APIs.
transactionType = resArray("TRANSACTIONTYPE") ' The type of
transaction Possible values: l cart l express-checkout
paymentType = resArray("PAYMENTTYPE") ' Indicates whether
the payment is instant or delayed. Possible values: l none l echeck l instant
orderTime = resArray("ORDERTIME") ' Time/date stamp of
payment
amt = resArray("AMT") ' The final amount
charged, including any shipping and taxes from your Merchant Profile.
currencyCode = resArray("CURRENCYCODE") ' A three-character
currency code for one of the currencies listed in PayPay-Supported Transactional
Currencies. Default: USD.
feeAmt = resArray("FEEAMT") ' PayPal fee amount
charged for the transaction
settleAmt = resArray("SETTLEAMT") ' Amount deposited in
your PayPal account after a currency conversion.
taxAmt = resArray("TAXAMT") ' Tax charged on
the transaction.
exchangeRate = resArray("EXCHANGERATE") ' Exchange rate if a
currency conversion occurred. Relevant only if your are billing in their non-primary
currency. If the customer chooses to pay with a currency other than the non-primary
currency, the conversion occurs in the customer’s account.
End If
End If
%>
5b. Save the total payment amount in a Session variable named "Payment_Amount". The
code inside the ExpressCheckout file is designed to read from this session variable and
pass as input to the API call.
5c. Process the information returned by your code and complete your order backend
processing.