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

IPN Component

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

nsoftware.InPayPal.Ipn

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.

AddressThe address of the buyer.
FirewallA set of properties related to firewall access.
FormVarsForm variables 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.
PayerDetails about the payer are described here.
PaymentPayment contains details about the payment.
ProxyA set of properties related to proxy access.
QuantityQuantity of items purchased.
RecipientEmailPrimary email address of the payment recipient (the seller).
ResponseResponse to the verification.
SSLAcceptServerCertInstructs the component to unconditionally accept the server certificate that matches the supplied certificate.
SSLCertThe certificate to be used during SSL negotiation.
SSLServerCertThe server certificate for the last established connection.
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.
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