The Net Tools Company - 800.225.4190
Search: 
Available in: PAYPAL
IPN Component [PayPal Integrator V3]

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 FormVars collection. 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 further details.

AddressCityThis contains the customer's city.
AddressCountryThis contains the customer's country.
AddressNameThis property describes the full name of the customer, as it should appear on an address label.
AddressStateState describes the state of the customer.
AddressStatusThis property indicates whether the customer's address has been confirmed by PayPal.
AddressStreetThis contains the customer's street address.
AddressZipThis property describes the customer's zip code, as it should appear on an address label.
FirewallAutoDetectThis property tells the component whether or not to automatically detect and use firewall system settings, if available.
FirewallTypeThis property determines the type of firewall to connect through.
FirewallHostThis property contains the name or IP address of firewall (optional).
FirewallPasswordThis property contains a password if authentication is to be used when connecting through the firewall.
FirewallPortThis property contains the TCP port for the firewall Host .
FirewallUserThis property contains a user name if authentication is to be used connecting through a firewall.
FormVarCountThe number of records in the FormVar arrays.
FormVarNameThis property contains the form variable name for the current request.
FormVarValueThis property contains the form variable value for the current request.
IdleThe current status of the component.
ItemNameName of item purchased.
ItemNumberIdentification or product number associated with the item purchased.
MemoNote entered by customer when paying for item.
PayerEmailEmail address of the payer.
PayerIdUnique encrypted PayPal customer account number.
PayerStatusIndicates whether the payer is verified or not.
PaymentCurrencyCurrency in which the FeeAmount is returned.
PaymentDateThis is the time/date stamp of payment.
PaymentFeeAmountPayPal fee amount charged for the transaction.
PaymentGrossAmountThe final amount charged.
PaymentTypeIndicates whether the payment is instant or delayed.
PaymentStatusStatus of the payment.
ProxyAuthSchemeThis property is used to tell the component which type of authorization to perform when connecting to the proxy.
ProxyAutoDetectThis property tells the component whether or not to automatically detect and use proxy system settings, if available.
ProxyPasswordThis property contains a password if authentication is to be used for the proxy.
ProxyPortThis property contains the TCP port for the proxy Server (default 80).
ProxyServerIf a proxy Server is given, then the HTTP request is sent to the proxy instead of the server otherwise specified.
ProxySSLThis property determines when to use SSL for the connection to the proxy.
ProxyUserThis property contains a user name, if authentication is to be used for the proxy.
QuantityQuantity of items purchased.
RecipientEmailPrimary email address of the payment recipient (the seller).
ResponseResponse to the verification.
SSLAcceptServerCertEncodedThe SSL certificate (PEM/base64 encoded).
SSLCertEncodedThe SSL certificate (PEM/base64 encoded).
SSLCertStoreThe name of the certificate store for the client certificate.
SSLCertStorePasswordIf the certificate store is of a type that requires a password, this property is used to specify that password in order to open the certificate store.
SSLCertStoreTypeThe type of certificate store for this certificate.
SSLCertSubjectThe subject of the certificate used for client authentication.
SSLServerCertEncodedThe SSL certificate (PEM/base64 encoded).
TimeoutA timeout for the component.
TransactionIdId of the transaction for which the Instant Payment Notification was sent.
TransactionTypeThe type of transaction.
URLURL 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 further details.

AddFormVarAdds a form variable and the corresponding value.
ConfigSets or retrieves a configuration setting.
DoEventsProcesses events from the internal message queue.
FillFormVarsThis is used to fill the FormVars property.
GetValueReturns the value of the specified form variable.
InterruptInterrupt the current method.
ResetReset the internal state of the component and all properties to their default values.
VerifyIPNVerifies 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 further details.

ErrorInformation about errors during data delivery.
SSLServerAuthenticationFired after the server presents its certificate to the client.
SSLStatusShows 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 further details.

PaymentProtectionEligibilityIf the PaymentPendingReason is PaymentReview this will return the protection in force for the transaction.
AcceptEncodingUsed to tell the server which types of content encodings the client supports.
AllowHTTPCompressionThis property enables HTTP compression for receiving data.
AuthorizationThe Authorization string to be sent to the server.
EncodeURLIf set to true the URL will be encoded by the component.
GetOn302RedirectIf set to true the component will perform a GET on the new location.
HTTPVersionThe version of HTTP used by the component.
IfModifiedSinceA date determining the maximum age of the desired document.
KeepAliveDetermines whether the HTTP connection is closed after completion of the request.
MaxHeadersInstructs component to save the amount of headers specified that are returned by the server after a Header event has been fired.
MaxHTTPCookiesInstructs component to save the amount of cookies specified that are returned by the server when a SetCookie event is fired.
ProxyAuthorizationThe authorization string to be sent to the proxy server.
ProxyAuthSchemeThe authorization scheme to be used for the proxy.
ProxyPasswordA password if authentication is to be used for the proxy.
ProxyPortPort for the proxy server (default 80).
ProxyServerName or IP address of a proxy server (optional).
ProxyUserA user name if authentication is to be used for the proxy.
TransferredDataLimitThe maximum number of incoming bytes to be stored by the component.
UsePlatformHTTPClientWhether or not to use the platform HTTP client.
UserAgentInformation about the user agent (browser).
UseWinInetIf set, the WinInet API is used for retrieving the URL.
UseWinInetCookiesControls whether to send and accept cookies when making HTTP requests through WinInet.
MaxLineLengthThe maximum amount of data to accumulate when no EOL is found.
FirewallAutoDetectTells the component whether or not to automatically detect and use firewall system settings, if available.
FirewallHostName or IP address of firewall (optional).
FirewallListenerIf true, the component binds to a SOCKS firewall as a server (IPPort only).
FirewallPasswordPassword to be used if authentication is to be used when connecting through the firewall.
FirewallPortThe TCP port for the FirewallHost;.
FirewallUserA user name if authentication is to be used connecting through a firewall.
FirewallTypeDetermines the type of firewall to connect through.
TcpNoDelayWhether or not to delay when sending packets.
ReuseSSLSessionDetermines if the SSL session is reused.
SSLCipherStrengthThe minimum cipher strength used for bulk encryption.
SSLEnabledProtocolsUsed to enable/disable the supported security protocols.
SSLProviderThe name of the security provider to use.
SSLSecurityFlagsFlags that control certificate verification.
OpenSSLCADirThe path to a directory containing CA certificates.
OpenSSLCAFileName of the file containing the list of CA's trusted by your application.
OpenSSLCipherListA string that controls the ciphers to be used by SSL.
OpenSSLPrngSeedDataThe data to seed the pseudo random number generator (PRNG).
AbsoluteTimeoutDetermines whether timeouts are inactivity timeouts or absolute timeouts.
FirewallDataUsed to send extra data to the firewall.
InBufferSizeThe size in bytes of the incoming queue of the socket.
OutBufferSizeThe size in bytes of the outgoing queue of the socket.
CodePageThe system code page used for Unicode to Multibyte translations.
| About | Privacy Policy | Terms of Use |
© Copyright 2011 /n software inc.