PayPal Integrator V5 - Online Help
PayPal Integrator V5
Questions / Feedback?

IPN Class

Properties   Methods   Events   Configuration Settings   Errors  

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

Syntax

IPN

Remarks

The IPN class 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:


class.FillFormVars(Request.Form())
class.VerifyIPN()
If (class.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);
  class.addFormVar(paramName, paramValue);
}
class.verifyIPN();
if (class.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 class 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 certificate (PEM/base64 encoded).
SSLCertEncodedThe 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 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 class 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 class 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 class 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.
AllowIdenticalRedirectURLAllow redirects to the same URL.
AppendWhether to append data to LocalFile.
AuthorizationThe Authorization string to be sent to the server.
BytesTransferredContains the number of bytes transferred in the response data.
EncodeURLIf set to true the URL will be encoded by the component.
FollowRedirectsDetermines what happens when the server issues a redirect.
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.
MaxRedirectAttemptsLimits the number of redirects that are followed in a request.
OtherHeadersOther headers as determined by the user (optional).
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.
TransferredHeadersThe full set of headers as received from the server.
UseChunkedEncodingEnables or Disables HTTP chunked encoding for transfers.
ChunkSizeSpecifies the chunk size in bytes when using chunked encoding.
UserAgentInformation about the user agent (browser).
KerberosSPNThe Service Principal Name for the Kerberos Domain Controller.
ConnectionTimeoutSets a separate timeout value for establishing a connection.
FirewallAutoDetectTells the component whether or not to automatically detect and use firewall system settings, if available.
FirewallHostName or IP address of firewall (optional).
FirewallPasswordPassword to be used if authentication is to be used when connecting through the firewall.
FirewallPortThe TCP port for the FirewallHost;.
FirewallTypeDetermines the type of firewall to connect through.
FirewallUserA user name if authentication is to be used connecting through a firewall.
KeepAliveTimeThe inactivity time in milliseconds before a TCP keep-alive packet is sent.
KeepAliveIntervalThe retry interval, in milliseconds, to be used when a TCP keep-alive packet is sent and no response is received.
LingerWhen set to True, connections are terminated gracefully.
LingerTimeTime in seconds to have the connection linger.
LocalHostThe name of the local host through which connections are initiated or accepted.
LocalPortThe TCP port in the local host where the component binds.
MaxLineLengthThe maximum amount of data to accumulate when no EOL is found.
MaxTransferRateThe transfer rate limit in bytes per second.
RecordLengthThe length of received data records.
TCPKeepAliveDetermines whether or not the keep alive socket option is enabled.
UseIPv6Whether to use IPv6.
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.

 
 
Copyright (c) 2017 /n software inc. - All rights reserved.
Build 5.0.6240.0