.NET Class Library for PayPal™ NVP API

The NVP API was created in response to developers' complaints of the complexity of the SOAP API. While communication with the SOAP API is done via XML packets exchanged with a web service, communication with the NVP API is done with name-value pair strings posted and received through http requests. Instead of a complete object consisting of all possible properties, each API call requires only the minimum number of parameters be transmitted.

Based on the successful SOAP API class library, Encore Systems created an NVP API class library that simplifies this API. Since the NVP API is all string based, there is no type checking on parameter names or values. A simple typo can lead to great difficulty in finding errors. Our class library defines constants for all API call parameters. Through Visual Studio Intellisense, parameters can be selected from a list while developing the payment solution.


Features include:

  • Designed to run under Medium Trust for use in hosted environments.
  • Each API call is encapsulated in its own .NET object. Just add a the required name-value pair parameters and call the Post() function. The request is posted securely, server-to-server using .NET HttpWebRequest and HttpWebResponse classes.
  • Data objects are defined for all PayPal enumeration types allowing simple population of DropDownLists. Includes States, Countries, Currencies, PaymentActions, CreditCardTypes, etc.
  • An API credentials encryption utility is included to safely store Username, Password, and Signature in the Web.Config where they serve as a default for all API calls.
  • Supports Website Payments Pro API Version 124.0.
  • For .NET Framework 4.5.1 or higher and Visual Studio 2013 or later.