Search: 
Available in: PAYPAL
IPN Component [IBiz PayPal Integrator V2]

Properties   Methods   Events   Configuration Settings  

The IPN component is used to validate an Instant Payment Notification, to make sure it is not fraudulent and was actually sent by PayPal.

NOTE: What follows is a very short description of the component interfaces. For more information, please consult the help files that come with the respective package.

Remarks

The IPN component can be used by the merchant to verify that a received Instant Payment Notification did indeed come from PayPal. PayPal will post the Instant Payment Notification to the merchant's web site indicated in their PayPal Profile.

When an Instant Payment Notification is received, simply pass the posted data to the FillFormVars method to automatically parse it and store it into the FormVarNames and FormVarValues properties. Then call the VerifyIPN method. The Response property will then indicate whether the IPN was sent by PayPal ("VERIFIED") or was fraudulent ("INVALID").

After the Instant Payment Notification has been verified, it is parsed into properties which contain vital transaction details, such as the Payer's email, shipping address, the item sold, payment amount, etc, to further process the transaction. (i.e. Ship the item, automatically send a login/password, or update a database)

The following code shows how to verify an Instant Payment Notification received from PayPal:

   
component.FillFormVars(Request.Form())
component.VerifyIPN()
If (component.Response = "VERIFIED") Then
  ProcessOrder() ' Process the order
Else
  LogError() ' Log the error and ignore this fraudulent IPN.
End If

If the programming language you are using does not allow you to request the entire form as shown above, you must manually parse the IPN, as shown below:

   
Enumeration en = request.getParameterNames();
while (en.hasMoreElements()){
  String paramName = (String) en.nextElement();
  String paramValue = request.getParameter(paramName);
  component.addFormVar(paramName, paramValue);
}
component.verifyIPN();
if (component.getResponse().equals("VERIFIED")) {
  processOrder(); // Process the order
} else {
  logError(); // Log the error and ignore this fraudulent IPN.
}

Property List


The following is the full list of the properties of the component with short descriptions. Click on the links for complete descriptions.

AddressCity Payer's city
AddressCountry Payer's country
AddressName Full name of the payer, as it should appear on an address label.
AddressState Payer's state
AddressStatus Payer's address
AddressStreet Payer's street address
AddressZip Payer's zip code, as it should appear on an address label.
FormVarCount Number of form variables for the current request.
FormVarNames Array of form variable names for the current request.
FormVarValues Array of form variable names for the current request.
ItemName Name of item purchased.
ItemNumber Identification or product number associated with the item purchased.
Memo Note entered by customer when paying for item.
PayerEmail Payer's email address.
PayerId Unique customer id.
PayerStatus Indicates whether the Payer's address is verified or not.
PaymentAmount Gross payment amount (before any fees are subtracted).
PaymentCurrency Currency in which the PaymentAmount is returned.
PaymentDate Date and time the payment was received.
PaymentFee Transaction fee associated with the payment.
PaymentStatus The status of the payment.
PaymentType The type of payment.
Quantity Quantity of items purchased.
RecipientEmail Primary email address of the payment recipient (the seller).
Response Response to the verification.
SSLAcceptServerCert Instructs the component to unconditionally accept the server certificate that matches the supplied certificate.
SSLCertEncoded The SSL certificate (PEM/base64 encoded).
SSLCertStore The name of the certificate store for the client certificate.
SSLCertStorePassword The password for the certificate store (if any).
SSLCertStoreType The type of certificate store for the client certificate.
SSLCertSubject The subject of the certificate used for client authentication.
SSLServerCert The server certificate for the last established connection.
SSLServerCertStatus The verification status of the server certificate for the last established connection.
Timeout A timeout for the component.
TransactionId Id of the transaction for which the Instant Payment Notification was sent.
TransactionType The type of transaction.
URL URL to which an IPN verification request is sent.

Method List


The following is the full list of the methods of the component with short descriptions. Click on the links for complete descriptions.

AddFormVar Adds a form variable and the corresponding value.
Config Sets or retrieves a component configuration setting.
FillFormVars Fills the FormVarNames and FormVarValues properties.
Reset Reset the internal state of the component and all properties to their default values.
VerifyIPN Verifies the IPN received by the merchant.

Event List


The following is the full list of the events fired by the component with short descriptions. Click on the links for complete descriptions.

Error Information about errors during data delivery.
SSLServerAuthentication Fired after the server presents its certificate to the client.
SSLStatus Shows the progress of the secure connection.

Configuration Settings


The following is a list of configuration settings for the component with short descriptions. Click on the links for complete descriptions.

AbsoluteTimeout Determines whether timeouts are inactivity timeouts or absolute timeouts.
CodePage The system code page used for Unicode to Multibyte translations (Windows/COM only).
FirewallData Used to send extra data to the firewall.
FirewallListener If true, the component binds to a SOCKS firewall as a server (IPPort only).
HTTPVersion The version of HTTP used by the component
IfModifiedSince A date determining the maximum age of the desired document.
InBufferSize The size in bytes of the incoming queue of the socket.
KeepAlive Determines whether the HTTP connection is closed after the completion of the request.
MaxLineLength The maximum amount of data to accumulate when no EOL is found.
MaxTransferredData The maximum number of incoming bytes to be stored by the component.
OpenSSLCADir The path to a directory containing CA certificates.
OpenSSLCAFile Name of the file containing the list of CA's trusted by your application.
OpenSSLCipherList A string that controls the ciphers to be used by SSL.
OpenSSLPrngSeedData The data to seed the pseudo random number generator(PRNG).
OutBufferSize The size in bytes of the outgoing queue of the socket.
ProxyAuthorization The authorization string to be sent to the proxy server.
ProxyPassword A password if Basic authentication is to be used for the proxy.
ProxyPort Port for the proxy server (default 80).
ProxyServer Name or IP address of a proxy server (optional).
ProxyUser A user name if Basic authentication is to be used for the proxy.
SSLCipherStrength The minimum cipher strength used for bulk encryption.
SSLEnabledProtocols Used to enable/disable the supported security protocols.
SSLProvider The name of the security provider to use.
SSLSecurityFlags Flags that control certificate verification
SocketHandle The handle of the main socket used by the component.
UseWinInet If set, the WinInet API is used for retrieving the URL
UseWinInetCookies Controls whether to send and accept cookies when making http requests through WinInet
UserAgent Information about the user agent (browser).
WinsockInfo Identifying information about the loaded Winsock stack (Windows only)
WinsockLoaded Loads and unloads Winsock on demand (Windows only)
WinsockMaxDatagramSize Size in bytes of the largest UDP datagram that can be sent or received (Windows only)
WinsockMaxSockets Maximum number of sockets available to a single process (Windows only)
WinsockPath The path to the Winsock DLL used (Windows only)
WinsockStatus The status of the Winsock stack (Windows only)

| About | Privacy Policy | Terms of Use |
© Copyright 2008 /n software inc.