.netCHARGE

Navigation: »No topics above this level«

.netCHARGE

 Return to chapter overview

Please feel free to navigate this help document for information on installation, developer documentation, reference, samples, support and licensing.


Overview

Overview of .netCHARGE

Navigation: .netCHARGE >

Overview of .netCHARGE

 Return to chapter overview

The heart of any ecommerce site is the payment processing solution. .netCHARGE provides unprecedented support for over 50 payment processors and acts as a generic device driver for credit card processing. Switching between processors is quick and simple and in many cases requires changing only 1 line of script. .netCHARGE has seen extensive commercial use since 2001 and is now at version 9.5 in August 2023. See what's new!

Product Features:

As a high performance real-time credit card processing component, .netCHARGE handles client side encryption to enable transaction processing from your site.

This ensures that your site visitors have an intuitive experience and are not directed to the payment processors site to complete the transaction. This also provides greatly enhanced reliability as the component returns the success or failure of the transaction to your ecommerce implementation directly without having to depend on a post back communication from the payment processor.

Keeping your customers at your site also provides continuity and ensures that transactions are not abandoned due to questions over payment processing. Click here to see the currently supported gateways / processors. NEW: Now supporting 4 major native processors Nova, Vital, FirstData and Paymentech each allows you to process transactions without needing a gateway or its associated fees.

Specific Features:

Debug - debug support to allow you to see raw transaction details when troubleshooting.

AVS Support - The Address Verification Service is enabled on those processors that support it. This uses the address or zip / postal address to help verify the transaction is legitimate.

CVC Support - The card verification code helps to cut down fraud. This code can be set with a simple property and is passed to those gateways / processors that support it.

Transaction Types - Different processors support multiple transaction types including regular real-time charges, just authorization, post authorization processing, echeck, voids and refunds.

Test Mode - Allows you to communicate with the systems test server if applicable.

Timeout - Allows you to set a timeout value if the processor does not respond within a set period of time.

Return and Errors - .netCHARGE returns simple codes on success, and failure and provides error messages from the processors if applicable.

Prevalidation - .netCHARGE checks the validity of the credit card number prior to initiating the transaction with the processor. This greatly speeds up the return if the user makes a typographical error when entering their credit card number.

Database Transaction Logging: Now optionally log transaction details to a database backend and automatically encrypt stored credit card details.

Encryption / Decryption Support: Use the built in methods for encrypting any sensitive data in your site and decypting using your own password.

Custom Parameter Support: Pass custom processor specific data / parameters using the add parameter method.

Learn more about .netCHARGE and play with a live demo at our web site.


Payment Processors

Navigation: .netCHARGE >

Payment Processors

 Return to chapter overview

Multiple Processor Support:

.netCHARGE supports all major payment processors providing extensive flexibility for selecting the service, pricing and features that best suits your needs. Best of all, should there be a need to change processors in the future your application does not need to be developed again. In most cases it is as simple as changing the processor selection to begin clearing your transactions with another company. The following links are to the gateway / processors sites and will open in your web browser. For details on supported features / integration with a specific gateway / processor click here.

For the most complete and up to date list of supported companies, please see: http://www.dotnetcharge.com/processors.htm

For a list with technical usage and supported properties, see the developer documention Gateways / Processors section.


What's New

Navigation: .netCHARGE >

What's New

 Return to chapter overview

.netCHARGE is a mature and proven solution which has continued to be enhanced and updated since its release in 2001. Version 9.4 was last updated in August 2023:

Version 9.5:

· .NET 7 official support, download from NuGet

Version 9.4:

· .NET 6 official support, download from NuGet

Version 9.3:

· .NET 5 official support, download from NuGet
· Each bundle includes both .NET 5 and .NET Framework versions
· Database layer updated for .NET 5
· Databases support for SQLite, MySQL, SQL Server and Oracle in all platforms and OleDB (MS Access) in Windows

Version 9.2:

· .NET Core 3.1: official support for .NET core download from nuget

Version 9.1:

· Authorize.Net: Added support for getTransactionDetails API
· NetBilling: Updated response handling
· Updated samples and documentation

Version 9.0:

· Authorize.Net: Updated Refund and improve response handling
· Paymentech Native: Updated to new URLs
· Updated samples and documentation

Version 8.4:

· Authorize.Net: Updated to new Authorize.Net API
· PlanetPayment: Updated to new PlanetPayment API with recurring billing and 3D secure support
· CardinalCommerce: Support consumer authentication through Cardinal Commerce
· Updated samples and documentation

Version 8.3:

· Chase (Paymentech) orbital / netconnect TLS updates, URL updates, now requires client certification
· QuickBooks required TLS updates (as of July 2017)
· Authorize.net updated encoding for symbol support in names

Version 8.2:

· eSecPayment: updated to new server URL
· itransact: Updated to new module, now all transaction types for credit card and echeck are supported.
· Ingenico (Ogone): Updated to new security system by using SHASIGN parameter

Version 8.1:

· Stripe.js support: It makes it easy to collect credit card or bank account details without having the information touch your server.
· Authorize.NET Accept.js: It makes it easy to collect credit card details without having the information touch your server.
· MasterCard new BINs support: From October 14, 2016 MasterCard is introducing a new series of Bank identification number that begins with a “2”

Version 8.0:

· PayPal Form: Support setting IPN Verification URL programmatically.
· TLS1.2 support for authorize.net, PayPal etc.
· If your gateway requires SSL/TLS updates to be compliant, please ensure you are using the latest 8.0 release

Version 7.7:

· Payeezy (rebranding for FirstData Global Gateway E4)
· SHA-256 certificate support for authorize.net, paypal etc
· TLS1.2 support requires .NET 4.5 or later and WS2008 or later.

Version 7.6:

· FirstData Global Gateway E4 support

Version 7.5:

· Authorize.net CIM (Customer Information Manager) and profile support

Version 7.4:

· Google checkout removed (closed down by google)
· Authorize.net recurring billing XML

Version 7.3 Update 5:

· Added Transfirst gateway (TXP)

Version 7.3 Update 4:

· Added stripe.com processor support with recurring billing.

Version 7.3 Update 3:

· PayPal Advanced new gateway support added
· Paymentech orbital account verification (zero dollar auth)
· Authorize.net zero dollar authorization

Version 7.3 Update 2:

· First Data Global Gateway: Supports Connect 2 method including bypass form.
· PayPal: Supports Unicode characters for processing PayPal IPN.
· Moneris: supports other culture setting for Amount.
· AuthorizeNet: supports other culture setting for Amount.
· ItransactXml: supports new Description property.

Version 7.3 Update:

· Worldpay Secure3D
· Documentation Refresh

Version 7.3:

· Paymentech Orbital Zero Authorization Support
· PayFlowPro Zero Authorization Support
· Paymentech Orbital TransactionID Refund Support
· New Paymentech Orbital Certification support for GBP, EUR, partial approvals
· Amazon FPS updated to newer API

Version 7.2:

· Vital partial approval support and recertification
· PaypalPro support credit transaction type
· New product licensing tiers

Version 7.1:

· Oracle database support
· MySQL database support
· Previously supported for both MS Access and SQL Server
· Partial authorization support for Authorize.net

Version 7.0:

· PA-DSS Certification
· Paymentech Orbital: Support recurring billing and other enhancement.
· PayPalPro: Support 3D secure authentication.
· New SagePay gateway added with 3DSecure and PayPal support
· New RBS WorldPay gateway added with 3DSecure support
· New QuickBooks gateway
· Updated discover card ranges
· Supports first 4 / last 4 for refunds

Version 6.2:

· Paypay payflow pro new API and server support for retired SDK and new server addresses
· Supported on ASP.NET / Framework versions 2.0, 3.0, 3.5, 4.0
· Googlecheckout: Support AddParameter for inserting a new XML element
· Vital: Fixed initialization for processing multiple transactions in a single batch and OrderID length checking.
· Moneris: Support USA merchant account.
· ElavonViaKlix: Add validation length for Address and Order

Version 6.1 update:

· AuthorizeNetRecurringBilling: Fixed error handling.
· AuthorizeNET and compatable gateways: Enhance response handling and override encapsulate char in admin.
· CardNumberStorage options for Disabled, FullEncrypted, FullHashOnly, Last4Digits, FirstLast4Digits

Version 6.1 adds new gateway support, new features and enhancements:

· Nova VirtualMerchant gateway supported
· Nova native sales tax support
· Paypal authorize / postauthorize transaction types supported
· eprocessing, paypal, planetpayment test mode optional

Version 6.0 adds new native processor support, updated gateway support, country code sync and add parameter XML support:

· Global Payments native processor certified and supported.
· Amazon FPS (Flexible Payments Service) supported.
· Protx new API support and Secure 3D support.
· Realex updated with Secure 3D support.
· Supports 2 letter country codes for all gateways and processors.
· Vital updated to support Reversal and Visa card level support.
· AddParameter expanded for additional gateways.
· Updated Intellipay supporting Description and CustomerID and enhanced error handling.
· Updated WorldPay by supporting AvsCode and Cvv2 result handling.

Version 5.7 adds new and updated gateway support, recurring billing API support and more:

· PayPalPro API updated to support additional parameters and Express option.
· New Paypal PayflowPro and Express option without any external dependency.
· Recurring billing support for AuthorizeNet, LinkPoint and PayflowPro.
· Support Tax and Shipping for GoogleCheckout and some other processors

Version 5.6 adds new and updated gateway support:

· PayPalPro API updated to not require certificate greatly simplifies remote deployment.
· Barclays additional account support added

Version 5.5 adds new and updated gateway support:

· New Google Checkout support added.
· New NaviGate (merchantplus) support added.

Version 5.2 adds new and updated gateway support:

· New Realex gateway support added.
· Update Echo to support Echeck.

Version 5.1 adds new and updated gateway support:

· New Barclays gateway support added
· Support for ClearCommerce engine added

Version 5.0 adds new and updated gateway support and security documentation and enhancements:

· New HSBC gateway support
· Security and documentation updates for Payment Application Best Practices
· ConcordEFS (FirstData) supported with PABP validation
· Currency Code support for authorize.net
· Void support for protx
· New methods exposed for card identification (to determine type from number)
· NEW: VISA CISP Validated - Payment Application Best Practices.

Version 4.6 adds new and updated gateway support including native PayPal:

· New PayPalPro native support has been added (Website Payments Pro). Now you can process transactions with paypal like other major gateways and processors (direct from your web site) without forcing customers to leave your web site.
· Enhanced Moneris and expose TransactionOrigin property.
· NEW: Minor 4.6 update made September 12th 2005.

Version 4.5 adds new and updated gateway support:

· New native XML PSiGate support with no com dependecy and full transaction type support (not dependent on linkpoint)
· YourPayCOM gateway support added (previously only native support was available).
· Updated Authorize.net support to maintain official certification, 3 new properties added
· PayReady:Upgraded to the latest version adding AVS and CVV2 support.
· Verisign Payflowpro Echeck support added

Version 4.4 adds QuickBooks merchant services support (Innovative):

· New gateway support has been added for Innovative gateway which utilizes Innovative Merchant Services (the backend for QuickBooks Merchant Services).

Version 4.3 adds YourPay and SecurePay Support:

· YourPay.com is now officially supported.
· New gateway support for securepay.com has been added.
· New Verisign PayFlowLink return and server supported

Version 4.2 adds Concord EFS support and direct LinkPoint:

· Concord EFS support has been added. This is a full service processor providing both merchant services and gateway functionality.
· LinkPoint direct support has been added, this means that linkpoint no longer requires a COM component registration and can work directly with .netCHARGE with no additional dependencies or install requirements. The direct linkpoint support works with the following transaction types: sale, authorize and post authorize.
· LinkPoint COM 6 support has been added for those that need to work with this component

Version 4.1 adds Cybersource support, enhanced worldpay account support, paymentech orbital support in Canada and more:

· Cybersource gateway support has been added.

· 4.1 has been certified with Paymentech Orbital Canada.

· Worldpay sub-account support has been added with a new property for selecting preferred account.

· Vital native processor support enhanced with new property support and additional error handling.

· Enhanced transaction type selection handling for processors that do not support a given type.

· Enhanced Verisign Payflow Pro with automated special character handling and added set character return for AVS.

Version 4.0 adds database field and table mapping and winforms / console licensing, additional gateway support, enhanced paymentech platform support and more:

· Now you can use your own database table and field naming for batch and database transaction logging by setting a simple property.

· A non web version of .netCHARGE is available including winforms and console sample applications.

· Esecpayments gateway support added. Now .netCHARGE supports one of the largest and most established Austrailan (AU) gateways further bolstering our international support.

· Optimal Payment gateway support added.

· Trust Commerce gateway support added.

· Paymentech Orbital Salem platform support added (now supported on and certified for both Tampa and Salem) and Orbital is now also certified for eCheck.

Version 3.5 adds native Vital / Visanet support with enhanced database integration and batching along with support for the Protx gateway:

· Advanced Vital processor support has been added and .netCHARGE 3.5 has been certified by Vital.

· To support the advanced vital system while maintaining the ease of use customers have learned to expect from .netCHARGE we have implemented an entire transaction engine which automatically syncronizes transactions, settlement, batches and more. This functionality extends the build in database logging and works with MS Access or SQL Server.

· Vital batch options including batch and settle per transaction automatically (ideal for lower volume vendors), batch and settle every x period of time or x number of transactions.

· Protx gateway support has been added.

Version 3.0 adds major new direct processor support, enhanced international support and many new gateways:

· Native Paymentech processor support: Stop paying gateway fees (both monthly and per transaction) with major new native processor support in addition to native Nova already supported, Native Paymentech has been added.

· Paymentech's Orbital gateway added: in addition to native processor support we have also added support for the Orbital gateway.

· Ogone Gateway Supported: Adding to the international support already provided by WorldPay, the Ogone processor provides a strong solution for European merchants.

· Echo Support Added: Aggressively priced merchant accounts and low fees make Echo a great new addition to .netCHARGE.

· Moneris Support Added: The largest processor in Canada is now directly supported. Moneris is a joint venture of the RoyalBank and Bank of Montreal.

· PlugNPay gateway supported added.

· New Server License Available: In addition to our affordably priced web site license a new server license has been introduced which allows any number of sites on 1 physical server to use .netCHARGE with any number of payment processor account logins.

· Existing gateway support has been enhanced to support additional transaction types and more features requested by clients.

Version 2.0 adds many new features including:

· Native Processor Support: You can now bypass gateways fees and work directly with a processor for your transactions with native Nova support.

· Authorize.net AIM support: .netCHARGE utilizes technology that has been certified by authorize.net through their ecommerce program. In addition to supporting the latest, most secure system, complete eCHECK and Wells Fargo support is provided.

· Bank Of America: This processor is now supported natively by .netCHARGE.

· WorldPay Support: Due to demand from international clients this processor was added and has a special focus on international clients servicing merchants throughout the world.

· PayPal Support: While PayPal does not provide a traditional advanced gateway interface it has been added due to customer demand. Paypal is ideal for small merchants and low transaction volumes and will require users to be redirected to the PayPal site. As your business grows you can move to one of the supported gateways / processors that will integrate directly into your own site with minimal changes and use your same .netCHARGE license.

· Database Logging: In addition to the text based logging already available, .netCHARGE 2.0 features a new database transaction log which can optionally be enabled. This will log all transaction details to Access or SQL Server and can even automatically encrypt credit card details before storing them.

· Encryption / Decryption Methods: New methods are provided for encrypting or decrypting any sensitive details. The decrypt method can be used in conjunction with the database logging to obtain the actual card number from the stored encrypted value.

· New Properties added: Client IP, Description and more are automatically passed to gateways / processors that support them.

· New Add Parameter System: For new or custom parameters you can now easily define the field and value and pass this information to the gateway / processor.

· Many new options added to current processors / gateways, even legacy systems. All available transaction types and advanced fraudscreen features supported by processors / gateways have been added including address verification, card code verification and more. In addition, new transaction types have been added where supported.

· Samples have been enhanced for greater ease of use with gateway specific settings. Sample payment scripts are provided in C# and VB.NET for use in ASP.NET. Process your first transaction in minutes!

Is there a processor / gateway you would like to see support added for? Have a feature request or suggestion? Email your feedback to info@dotnetcharge.com


Installation

Navigation: »No topics above this level«

Installation

 Return to chapter overview

System Requirements provides information on the minimum requirements for running .netCHARGE.

Instructions provides information on how to install .netCHARGE. Security Checklist provides information for application developers working with .netCHARGE on best practice requirements for secure development and deployment.


System Requirements

Navigation: Installation >

System Requirements

 Return to chapter overview

.netCHARGE is designed to be used in a web server environment through ASP.NET.

Supported with:

· ASP.NET
· .NET Framework 4.5 or later. If you require usage on FW 2.0 please contact support for a legacy version.
· .NET Core
· .NET 5
· .NET 6

Supported Platforms:

· Windows
· Linux
· macOS

Databases (optional):

· SQLite, MySQL, SQL Server and Oracle in all platforms
· OleDB (MS Access) in Windows

.netCHARGE .NET 6:

Runs on Windows, Linux and macOS by installing the appropriate runtime from https://dotnet.microsoft.com/en-us/download/dotnet/6.0

For development, Visual Studio users require Visual Studio 2022 or later to use .NET 6.0 on Windows and the latest version of Visual Studio for Mac on macOS. The C# extension for Visual Studio Code already supports .NET 6.0 and C# 10.

Visual Studio 2022: Open dotnetCHARGEsamples.csproj in VS 2022, and run the samples using IIS Express

Visual Studio Code: .NET Sample bundle can be run with Visual Studio Code using the following steps:

Open a new terminal through Terminal menu

Navigate to the directory of dotnetCHARGEsamples.csproj

Build the project by entering this command: dotnet build -dotnetCHARGEsamples.csproj

Run the project by entering this command: dotnet run -dotnetCHARGEsamples.csproj

Open a browser to run http://localhost:5266

NuGet Package for .netCHARGE .NET 6: You can download from https://www.nuget.org/packages/dotnetCHARGE.NET6 and using different processors/gateways with Razor C# or Razor VB syntax, for use in both MVC views as well as in Razor Pages.


Instructions

Navigation: Installation >

Instructions

 Return to chapter overview

.netCHARGE can be deployed quickly and easily without any special installation or registration requirements for most processors. Detailed instructions can be found below:

Procedure:

· Unpack distribution
· Copy files to a directory of your choice with your web servers root directory
· Ensure that the dotnetcharge.dll file is located in the /bin directory
· Ensure your key file, provided with your purchase, is placed in the /bin directory with the DLL.

Using a Virtual Directory:

· Unpack distribution
· Place files in any directory you wish
· Using the MMC, create a virtual directory (instructions) under your web site pointing to the directory that contains the .netCHARGE files
· Ensure your key file, provided with your purchase, is placed in the /bin directory with the DLL.

REQUIRED: Please ensure you review the security checklist prior to using .netCHARGE in your application.

Usage samples and processor specific instructions are provided for each processor in VB.NET and C#. Please see the /web/vbnet and /web/csharp directories included with the .netCHARGE bundle.


PA-DSS Security Checklist

Navigation: Installation >

PA-DSS Security Checklist

 Return to chapter overview

Guidelines for securely integrating .netCHARGE into your application. .netCHARGE was previously PABP validated and PA-DSS validated by the security council. As of PA-DSS 2.2, components are not applicable for PA-DSS validation. We provide the following guidelines for your application integration:

1. Do not retain full magnetic stripe or CVV2 data: The application should not store the full contents of any track from the magnetic stripe (on the back of a card, in a chip, etc.) or CVV2 data.
2. Protect stored data: Protect numbers by masking account numbers when displayed (the first six and last four digits are the maximum number of digits to be displayed) except those employees and other parties with a specific need to see full credit card numbers. The application should protect encryption keys against disclosure and misuse. The application should implement key management processes and procedures.

3. Provide secure password features: The application should require a unique username and complex password for all administrative access and access to cardholder data. These controls are applicable for POS (point-of-sale) access by employees with administrative capabilities, or for server access controlled by the application.
Access to PCs, servers, and databases with payment applications should require a unique username and complex password. No shared accounts or passwords, passwords should be changed every 90 days, password length of at least 7 characters long, passwords with both numeric and alphabetic characters, special characters are accepted, password history is maintained, etc. If the application uses the .netCHARGE ConnectionString property to store the data in the database, the EncryptionKey property must be set to a complex password.

4. Log application activity: The application should log all access by individual users (especially those with administrative privileges), and be able to link those activities to individual users.

Application should implement an automated audit trail to track and monitor access.

5. Develop secure applications: The application should be based on industry best practices and include information security throughout the software development life cycle. The application should be based on secure coding guidelines such as the Open Web Application Security Project guidelines. Review custom application code to identify coding vulnerabilities. See www.owasp.org—"The Ten Most Critical Web Application Security Vulnerabilities." Cover prevention of common coding vulnerabilities in software development processes, to include:
· Invalidated input.
· Broken access control (e.g., malicious use of user IDs).
· Broken authentication and session management (use of account credentials and session cookies).
· Cross-site scripting (XSS) attacks.
· Buffer overflows.
· Injection flaws (e.g., SQL injection).
· Improper error handling
· Insecure storage
· Insecure configuration management.

6. Protect wireless transmissions: If wireless technology is used within the payment environment, it should be implemented securely.

7. Test applications to address vulnerabilities: Software developers should establish a process to identify newly discovered security vulnerabilities (e.g., subscribe to alert services freely available on the Internet), test their applications for vulnerabilities, and for timely development and deployment of security patches and upgrades. Updates and patches should be delivered in a secure manner with a known chain-of-trust. Any underlying software or systems that are provided along with the payment application (e.g. web servers) should be included in this process.

8. Facilitate secure network implementation: The payment application should be able to be implemented into a secure network environment. Application should not interfere with use of network address translation (NAT), port address translation (PAT), traffic filtering network devices, anti-virus protection, patch or update installation, or use of encryption.

9. Cardholder data must never be stored on a server connected to the Internet: The payment application should not require that the database server and web server be on the same server, or in the DMZ with the web server. The application should use SQL server if using the .netCHARGE ConnectionString property to store the data in the database securely and independently of the web server.

10. Facilitate secure remote software updates: If software updates are delivered via remote access into customers' systems, software vendors should tell customers to turn on modem only when needed for downloads from vendor, and to turn off immediately after download completes. Alternatively, if delivered via VPN or other high-speed connection, software vendors should advise customers to properly configure a personal firewall product to secure "always-on" connections.
11. Facilitate secure remote access to application: If employees, administrators, or vendors can access the application remotely, access should be authenticated using a 2-factor authentication mechanism. The application should allow for technologies such as RADIUS or TACACS with tokens, or VPN with individual certificates.

12. Encrypt sensitive traffic over public networks: Use strong cryptography and encryption techniques (at least 128 bit) such as Secure Sockets Layer (SSL), Point-to-Point Tunneling Protocol (PPTP), or Internet Protocol Security (IPSEC) to safeguard sensitive cardholder data during transmission over public networks. The application should never send cardholder information via unencrypted e-mail. .netCHARGE handles security between the server and gateway or processor. You must secure the acquisition of data from the client browser to the server through SSL.


.NET 6

Navigation: Installation >

.NET 6

 Return to chapter overview

System Requirements: .netCHARGE .NET 6 can be run on Windows, Linux and macOS by installing the appropriate runtime from https://dotnet.microsoft.com/download/dotnet/6.0. For development, Visual Studio users require Visual Studio 2022 or later to use .NET 6.0 on Windows and the latest version of Visual Studio for Mac on macOS. The C# extension for Visual Studio Code already supports .NET 6.0 and C# 10.

Visual Studio 2022: Open dotnetCHARGEsamples.csproj in VS 2022, and run the samples using IIS Express

Visual Studio Code: .NET Sample bundle can be run with Visual Studio Code using the following steps:

Open a new terminal through Terminal menu

Navigate to the directory of dotnetCHARGEsamples.csproj

Build the project by entering this command: dotnet build -dotnetCHARGEsamples.csproj

Run the project by entering this command: dotnet run -dotnetCHARGEsamples.csproj

Open a browser to run http://localhost:5266

NuGet Package for .netCHARGE .NET 6: You can download from https://www.nuget.org/packages/dotnetCHARGE.NET6

and using different processors/gateways with Razor C# or Razor VB syntax, for use in both MVC views as well as in Razor Pages.

Database Support: .NET 6 supports SQLite, MySQL, SQL Server and Oracle in all platforms and OleDB (MS Access) in Windows. If using a database, which is optional with .netCHARGE, only the package for that data provider should be added to the project.

SQLite: System.Data.SQLite

MySQL: MySql.Data

SQL Server: System.Data.SqlClient

Oracle: System.Data.OracleClient

OleDb (MS Access): System.Data.OleDb


.NET 7

Navigation: Installation >

.NET 7

 Return to chapter overview

System Requirements: .netCHARGE .NET 7 can be run on Windows, Linux and macOS by installing the appropriate runtime from https://dotnet.microsoft.com/download/dotnet/7.0 For development, Visual Studio users require Visual Studio 2022 version 17.4 or higher to use .NET 7.0 on Windows and the latest version of Visual Studio for Mac on macOS. The C# extension for Visual Studio Code already supports .NET 7.0 and C# 10.

Visual Studio 2022: Open dotnetCHARGEsamples.csproj in VS 2022, and run the samples using IIS Express

Visual Studio Code: .NET Sample bundle can be run with Visual Studio Code using the following steps:

Open a new terminal through Terminal menu

Navigate to the directory of dotnetCHARGEsamples.csproj

Build the project by entering this command: dotnet build -dotnetCHARGEsamples.csproj

Run the project by entering this command: dotnet run -dotnetCHARGEsamples.csproj

Open a browser to run http://localhost:5266

NuGet Package for .netCHARGE .NET 6: You can download from https://www.nuget.org/packages/dotnetCHARGE.NET7

and using different processors/gateways with Razor C# or Razor VB syntax, for use in both MVC views as well as in Razor Pages.

Database Support: .NET 7 supports SQLite, MySQL, SQL Server and Oracle in all platforms and OleDB (MS Access) in Windows. If using a database, which is optional with .netCHARGE, only the package for that data provider should be added to the project.

SQLite: System.Data.SQLite

MySQL: MySql.Data

SQL Server: System.Data.SqlClient

Oracle: System.Data.OracleClient

OleDb (MS Access): System.Data.OleDb


Developer Documentation

Navigation: »No topics above this level«

Developer Documentation

 Return to chapter overview

This topic includes a complete reference of the methods and properties included with .netCHARGE as well as some examples.


Reference

Navigation: Developer Documentation >

Reference

 Return to chapter overview

Detailed guide to .netCHARGE methods and properties.


Methods

Navigation: Developer Documentation > Reference >

Methods

 Return to chapter overview

Charge("gateway"): Performs a realtime transaction of the type defined in transtype which defaults to sale (capture). This method takes one parameter as the gateway used and returns 1 for success, 2 for a prevalidation error and 3 for an error from the gateway. The ErrorCode and ErrorMessage properties are populated when the charge methods returns a 2 or 3.

obj.Charge("AuthorizeNet")

The charge method can also accept an enumeration with one of the following values:

Amazon, AuthorizeNet, BankOfAmerica, Barclays, CyberSource, Echo, Ecx, FirstData, ePoch, eProcessing,

eSecPayments,GlobalPayments, GoogleCheckout, HSBC, Innovative, Intellipay, ioNgate, Itransact, ItransactXml, LinkPoint,

Mcps, Moneris, NaviGate, NetBilling, ElavonNative, ElavonViaKlix, ElavonVirtualMerchant, Ogone, OptimalPayment, PayCom,

PaymentechNative, PaymentechOrbital, PayPal, PayPalPro, PayPalProExpress, PayflowPro, PayflowProExpress, PayflowLink,

PayReady, PlanetPayment, PlugnPay, SagePay, PSiGate, Realex, SecurePay, SkipJack, TrustCommerce, Vital, RbsWorldPay, YourPay and Validate.

obj.Charge(Processor.AuthorizeNet)

AddParameter(): Can be used to pass new or custom parameters to a given gateway. Accepts key value as seperate parameters or as a string key=value. This method would typically not be used.

obj.AddParameter("key","value")

obj.AddParameter("key=value")

Encrypt(): Accepts a plain text string and crypto password and returns an encrypted string.

Encrypt("Hello World","Pass")

Decrypt(): Accepts an encrypted string and crypto password and returns the plain text value.

Decrypt("34kjh3kg3g3jhgkl","Pass")

GetCardType(): Accepts a credit card number and returns the type of the credit card: Visa, MasterCard, AMEX, Discover, JCB, Diners, SWITCH or Solo.

string cardType = GetCardType("4111111111111111"); //returns Visa

GetParameter(name): Can be used to get new or custom parameters from a given gateway. This method would typically not be used but is supported in special cases for paypal to get the variable value from the postback and also verify the return with paypal. In addition, it will return the direct string value for the parameter for the following: Protx, PlugnPay, Netbilling, OptimalPayment, VerisignPayflowPro, Trustcommerce, Esecpayments, Innovative.

stringvalue = obj.AddParameter("key")


Properties

Navigation: Developer Documentation > Reference >

Properties

 Return to chapter overview

AcceptedCardTypes: A comma delimited string which controls which credit cards will be accepted by the prevalidator. Options: Visa, MasterCard, AMEX, Diners, Discover, JCB, Switch, Solo, Laser and Maestro.

obj.AcceptedCardTypes = "Visa,Mastercard,JCB"

Address: Sets the address of the person who is being charged.

obj.Address = "433 Pine Street"

Address2: Sets the optional second address line of the person who is being charged.

obj.Address = "Suite 356 at the back"

Amount: Sets the amount to be charged.

obj.Amount = 22.54

Application: Used for non web use to specify the application license.

obj.Application = "license"

AuthCode: Populated with an authorization code upon a sucessful transaction. This property can also be used to set a previously obtained authcode for post authorization or void.

Response.Write( "AuthCode: " + obj.AuthCode)

obj.AuthCode="12345"

AvsCode: Is populated with an AvsCode upon a sucessful transaction (read only).

obj.AvsCode

AvsIndicator: Determines what type of AVS check is performed for some processors.

obj.AvsIndicator = 1

BankAccountType: A string value which controls the bank account type. This property can be used with authorize.net, Echo and Paymentech Orbital. Please see specific processor notes for available options.

obj.BankAccountType = "CHECKING"

BankCode: 9-digit Bank Routing Number which is required for the ECheck payment type.

obj.BankCode = "123456789"

BankName: Name of Bank, required for eCheck transactions.

obj.BankName = "My Bank Co"

CardName: This property accepts the name on the credit card. If first name and lastname are required and not set card name will be used.

obj.CardName = "Thomas Greenfield"

CardNumberStorage: When DbConnection is used, this property controls how the credit card number should stored in database. Options are: Disabled, FullEncrypted, FullHashOnly, Last4Digits, FirstLast4Digits. When setting to FullEncrypted, EncryptionKey property must set.

Certificate: Certificate property is required for some processors including CyberSource, VerisignPayflowPro and Linkpoint. This references a directory which contains the payflowpro certificate provided by verisign or the CyberSource Transaction Security Key directory or the actual certificate for Linkpoint.

obj.certificate = "C:\verisign\cert"

obj.certificate = "C:\cybersource\keys"

obj.certificate = "C:\linkpoint\mycert.pem"

City: Sets the city of the person who is being charged.

obj.city - "Los Angeles"

ClientIP: Returns the IP address of the current user, this information is passed to some processors which perform additional fraud checks. This property is automatically obtained by the component and can also be set directly using this property. This will be passed to supported processors and also will be pushed to the transaction database if the ConnectionString property is enabled.

Code : CV2 / CVV2 code for enhanced fraud control. This is the 3 or 4 digit value on credit cards that helps to ensure the person submitting the credit card details is the actual card holder.

obj.Code = "854"

Company: A string value which controls the company name. This property can be used with authorize.net, Echo and Moneris.

obj.Company = "MyCompany Inc."

ConnectionString: If this property is set to a valid database connection string all transaction details are pushed to the transactions table. The db system supports access and SqlServer databases natively. When this property is set the logging will occur automatically when the charge method is called. No other method or property settings are required for database transaction logging. For a sample database please see the /database directory included with the .netCHARGE bundle.

Obj.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;data source=" + Server.MapPath("dotnetcharge.mdb");

Obj.ConnectionString = @"server=servername;uid= ;pwd=,database=dotnetchargeSQL";

You can check the ErrorMessage to troubleshoot the database transaction logging.

Response.Write(Obj.ErrorMessage);

Country : Sets the country of the person who is being charged.The format of the country name maybe different for each processor/gateway. e.g. UnitedStates, US, USA. Please see the specific description of the processor/gateway for additional details. This property is often not required.

obj.Country = "US"

EncryptionKey: Password must be at least 7 characters long and include both letters and numbers. When DbConnection is used with CardNumberStorage.FullEncrypted, this property must be set, but with CardNumberStorage.Last4Digits or FirstLast4Digits, CryptoPasword is optional.

obj.EncryptionKey ="my1pass2234"

Note: You can use the following method to update the credit card number with the new password in the DB:

int updatedRecods = UpdateEncryptedDataDB(string oldPassword, string newPassword, string confirmNewPassword)

Currency: The currency of the transaction which usually depends on the merchant account.

obj.Currency = CurrencyCode.USD

CustomerID: A string value which controls the customer id. This property can be used with most processors but the length and format differ. See the specific processor / gateway in the documentation for more information.

Description: The description for the charge. This will be passed to supported processors and also will be pushed to the transaction database if the ConnectionString property is enabled.

Email: Card holder email address.

obj.Email = "name@test.com"

ErrorCode: Error code (Read only). If the Charge method returns 3, this value is populated from the value returned from the gateway / processor, and if the Charge method returns 2, this value is set by .netCHARGE.

obj.ErrorCode

ErrorMessage : Full human readable error message. Read only. If the Charge method returns 3, this value is populated from the value returned from the gateway / processor, and if the Charge method returns 2, this value is set by .netCHARGE.

obj.ErrorMessage

Fax: A string value which controls the fax number of the card holder. This property is supported for some processors/gateways like authorize.net, Echo and Moneris.

obj.Fax = "(596) 555-2525"

Server: The server or hostname that the system should connect to. Typically this is not set as the default value for any given processor is used.

Login : Login ID or username for a given gateway. This is the information that uniquely identifies your account with your selected payment processor / gateway. When you signup with a given company, they will provide you with this information.

obj.Login = "user123"

PaymentMethod: Type of payment. Options include: CreditCard and Echeck, defaults to CreditCard.

obj.PaymentMethod = PaymentMethod.Echeck

PreValidate: A boolean which determines if .netCHARGE will check the required properties, credit card expiry and prevalidate the card number with a numeric check before being passed to the processor. It defaults to true.

obj.PreValidate = false

Partner: Verisign specific setting (payflowpro, payflowlink). Defaults to "verisign".

obj.Partner = "SurePay"

Password: Password for your gateway login account.

obj.Password = "mysecret"

Month: The expiration month of the credit card. Credit card expiry validation will be skipped if Month and Year are set to -1.

obj.Month = 02

FirstName : First name of person being charged.

obj.FirstName = "Jim"

LastName: Last Name of person being charged.

obj.LastName = "Smith"

OrderID: The ID of the order being paid for. This would typically come from your shopping cart or order application.

obj.OrderID = "54544DSD44"

OrganizationType: A string value which controls the organization type. This property is optional and can be used with some processors like Authorize.net and Verisign PayFlowPro.

Number: Credit Card number to be charged ( Bank Number if TransactionType is eCheck). Accepted format is flexible and can be passed as a continous string or in groups seperated by spaces or even hyphens. The correct trimmed value will be used in all cases.

obj.Number = "4125165845845845"

obj.Number = "4125 1658 4584 5845"

obj.Number = "4125-1658-4584-5845"

Phone: Card holder phone number.

obj.Phone = "545-555-5656"

Port: An integer which controls the port, used by Linkpoint default is 1139.

obj.Port = 1129

ReferenceNumber: Reference number of a transaction. This property is used both to read the reference number from a successful transaction and to set the reference number when performing an operation on a transaction that has already been run (such as a void, refund or postauthorize if reference number is required).

Page.Response.Write(obj.ReferenceNumber)

obj.ReferenceNumber = "1234565667"

Referrer: Sets the value of the referrer HTTP header which is required and validated by some payment systems prior to accepting the transaction. This value must match with the value set in the payment system's admin settings.

StateProvince: State / Province of person being charged.

obj.StateProvince = "CA"

TestMode: True / False value determines if gateway test mode is enabled or not. Test mode changes the host value for some processors that require it, to the test specific hostname.

obj.TestMode = True

Timeout: An integer which controls the timeout in seconds .netCHARGE will wait for the processor response. Default is 45 seconds.

obj.Timeout = 60

TransactionFields / Batch.Fields: Controls the database mappings for transaction fields as well as the table name used. If transaction logging is enabled, it will use the default schema provided. The system will support your own custom mappings if you with to log to your own established database. Options include Table, ID,TransactionID, TransactionType, AuthCode, AvsCode, OrderID, Amount, Number, Year, Month, BankCode, BankName, Address, City, Country, CustomerID, Email, FirstName, LastName, Phone, StateProvince, ZipPostal, Status, ClientIP, TransactionDate, ErrorMessage, Description, BatchID, Code, ReferenceNumber, SequenceNumber, ReturnedACI, TaxAmount, ShippingAmount, CardLevel, CardName and AuthorizationSourceCode. A property is also provided for mapping batch fields (obj.Batch.Fields). A complete options for Batch table mapping includes: Table, ID, DateCreated, DateSettled, BatchNumber, and ErrorMessage.

obj.TransactionFields="table=Transactions,Amount=TotalAmount"

obj.Batch.Fields="table=Batches"

Note: TaxAmount, ShippingAmount, CardLevel and CardName are not saved by default. If you wish to have this information save for a given transaction you must set obj.TransactionFields = "TaxAmount=TaxAmount,CardName=CardName";

TransactionID: Transaction ID of charge. This property is used both to read the transaction id from a successful transaction and to set the transaction id when performing an operation on a transaction that has already been run (such as a void, refund or postauthorize).

obj.TransactionID = "456sdf564sfd"

TransactionType: Type of transaction, options include: sale (capture), authorize, postauthorize, refund, void, reversal, return, and force. Defaults to sale, if set to an invalid value or to an value the selected processor / gateway does not support, and error will be generated. A sale transaction authorizes and captures funds in one step. When completed successfully, funds have been obtained by the processor. An authorize transaction authorizes the funds, but does not yet capture them. The card holder have the authorized amount temporarily affect their card limit however if the transaction is not finalized no charge will be run or appear on their statement. A postauthorize must be run in order to capture the funds previously secured with an authorize transaction. A refund transaction works to refund or credit a cardholders account. A void transaction eliminates the transaction and typically a void would only be possible before a transaction has been settled.

obj.TransactionType = "authorize"

TransactionType may also be set with an enumeration with the following options: Sale, Authorize, PostAuthorize, Return, Refund, Void, Credit, and Reversal.

obj.TransactionType = TransactionType.Authorize

Year: The expiration year of the credit card. Credit card expiry validation will be skipped if Month and Year are set to -1.

obj.Year = "2003"

ZipPostal: Zip / Postal of person being charged.

obj.ZipPostal = "90210"

Version: Returns the version of the dotnetcharge.dll being used by the calling script. Read only.

obj.Version


Examples

Navigation: Developer Documentation >

Examples

 Return to chapter overview

Processor / gateway specific examples are provided in both C# and VB.NET. Please see the web directory, select your language preference and then select the gateway / processor of your choice for examples.

In addition, a simple payment form example is included.


Gateways / Processors

Navigation: Developer Documentation >

Gateways / Processors

 Return to chapter overview

.netCHARGE currently supports over 45 gateways / processors. Select the company you are working with from the list below for supported properties and additional usage details. If you do not see the full list, be sure to expand the Gateways / Processors section in the menu to the left.


Amazon FPS

Navigation: Developer Documentation > Gateways / Processors >

Amazon FPS

For service and pricing information please see Amazon's site. Updated to for "API Version 2010-08-28"

Since Amazon requires clients to redirect to, and provide payment details on, their site rather than your own, this can not be considered a traditional payment gateway. .netCHARGE supports Amazon FPS payment processing and callback handling. The main advantage of this payment option is that customers with an amazon.com account can quickly checkout using payment details already on account with amazon.com and they have greater security since the payment details are not directly shared with you, the merchant. In addition, you do not need to obtain a separate merchant account when working with Amazon FPS.

After a customer completes her shopping in your website, the shopping cart total should set to Objcc.Amount property. Then, by calling the obj.Charge method, .netCHARGE processes the request internally and the customer will be transferred to Amazon's site. After the customer completes her payment, they will be transferred back to your website where .netCHARGE processes the transaction and the Charge method returns the status of the transaction.

See the included sample: AmazonPayments.aspx to see how simple it is to use Amazon FPS with .netCHARGE.

Supported Properties:

Login Required

Password Required

UserName Optional

Partner Optional

OrderID Required

Amount Required

Currency Optional

CustomerID Optional

Description Optional

TestMode Optional

TransactionType Optional

TransactionID Optional

ReferenceNumber Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Timeout Optional

Note: Login (Access Key ID) and Password (Secret Access Key) can be retrieved from your Amazon web services account at "http://www.amazon.com/webservices" After signing up and logging in you will see a button over on the right which says "Your Web Services Account". Select AWS identifiers to generate an Access Key ID and Secret Access Key. If you already created these, you can view the values in the same section.

Login: Your Access Key ID (AWSAccessKeyId).

Password: Your Secret Access Key.

OrderID: The unique reference you provide for a specific transaction. This value must be a unique alpha-numeric value up to 128 characters. This value is displayed in both the merchant's and customer's Amazon accounts, in the transaction's details section in front of the "Reference" label.

Amount: The total amount to be billed. For PostAuthorize and Refund, if it is not set, the full amount of the original transaction will be settled or refunded.

Currency: Defaults to USD. Amazon FPS currently supports only USD but in the future Amazon plans to expand currency support to include other values.

CustomerID: (Optional) This value is not stored in the merchants or customers Amazon accounts. It can be used only by the merchants in their own systems to manage customers (it persists across the callback cycle only).

MerchantUrl: This must be set to the return URL on your site where the customer is redirected by Amazon after verifying and confirming the payment. Note: this is the callback URL and must reference the aspx page when you are using .netCHARGE to process / validate the transaction.

TransactionType: Sale, Authorize, PostAuthorize, and Refund

Description: A text describing an order or transaction. Your customers will see this when they view the payment details. This can be set to any string up to 64 characters.

TransactionID: Automatically generated unique reference for each successful transaction. This value is generated by Amazon and is populated to TransactionID property after transaction completion. This value is displayed in the merchant's and customer's Amazon accounts, in transaction's details section in front of "Transaction ID" label. For PostAuthorize and Refund transactions, you must set this property to the TransactionID value returned in the original transaction.

ReferenceNumber: Amazon unique reference for each request regardless of success or failure. This value is generated by Amazon and is populated to ReferenceNumber property after each request. This value is useful for following up on a missing or failed transaction.

TestMode: Set to true for a sandbox account and false for production. Default to false.

The following settings are set automatically by .netCHARGE and are documented only in the case an advanced user requires a manual override. In normal usage these properties would not be set.

UserName: Sets the CallerTokenId.

Partner: Sets the RecipientTokenId.

MerchantName: The tokens friendly name.


AuthorizeNET

AuthorizeNET

.netCHARGE technology is certified with Authorize.NET as part of their certified shopping cart program. It uses the latest Authorize.NET API with all credit card transaction types, echeck, recurring billing and customer profile support Backward compatibility is also provided for legacy Authorize.Net accounts using the ADC direct response system. Pricing and service information can be found here.

Supported Properties:

Amount | Required
AccountType | Optional
AuthCode | Optional
Address | Optional
Address2 | Optional
AvsCode | Optional
BankCode | Optional
BankName | Optional
City | Optional
ClientIP | Optional
Code | Optional
Country | Optional
Company | Optional
Currency | Optional
CustomerID | Optional
Description | Optional
DL | Optional
DLDOB | Optional
DLState | Optional
Email | Optional
Server | Optional
ErrorCode | Optional
ErrorMessage | Optional
Login | Required
TransactionKey | Required
Password | Required
Month | Required
FirstName | Optional
LastName | Optional
Number | Required
OrderID | Optional
OrganizationType | Optional
Phone | Optional
Setting | Optional
StateProvince | Optional
TaxID | Optional
TestMode | Optional
Timeout | Optional
TransactionID | Optional
TransactionType | Optional
Year | Required
ZipPostal | Optional

Login: set to your Authorize.Net Login ID

TransactionKey: set to your TransactionKey for your account.

Password: set to your password only if there is no transactiionKey

TransactionType: Supports transaction types of Sale, Authorize, Postauthorize, Refund, void, and force(capture). For PostAuthorize, Refund (credit) and Void, the TransactionID must set to the transaction ID of a transaction previously authorized by the gateway. For force set AuthCode for a previous transaction not authorized on the gateway.

AvsCode: AVS letter explanations:

A = Address (Street) matches, ZIP does not

B = Address Information Not Provided for AVS Check

E = AVS error

G = Non U.S. Card Issuing Bank

N = No Match on Address (Street) or ZIP

P = AVS not applicable for this transaction

R = Retry – System unavailable or timed out

S = Service not supported by issuer

U = Address information is unavailable

W = 9 digit ZIP matches, Address (Street) does not

X = Address (Street) and 9 digit ZIP match

Y = Address (Street) and 5 digit ZIP match

Z = 5 digit ZIP matches, Address (Street) does not

Authorize.net support Echeck:

PaymentType: CreditCard and Echeck, defaults to CreditCard.

BankAccountType: A string value which controls the bank account type. Options are CHECKING and SAVING, defaults to CHECKING.

Number : Bank Account Number

TransactionType: Sale and Credit, defaults to Sale.

BankCode: Routing number of the bank.

CardName: Name under which the account is maintained at the bank.

BankName: Name of bank at which account is maintained.

EcheckType: Type of echeck transactions: CCD, PPD, TEL or WEB. Default is WEB.

*For more information please see the included authorizenetEcheck.aspx sample.

Customer Authentication support: You can use authenticate customers using 3d party authentication like Cardinal Commerce which is supported in .netCHARGE (see cardinalcommerce.aspx sample) and passing the result to Authorize.Net by setting these properies:

-AuthenticationIndicator: The electronic commerce indicator(ECI) value for a Visa transaction, or the universal cardholder authentication field indicator(UCAF) for a MasterCard transaction.

-AuthenticationValue: The cardholder authentication verification value (CAVV) for a Visa transaction, or the accountholder authentication value (AVV) / universal cardholder authentication field (UCAF) for a MasterCard transaction. In response, it has the results of cardholder authentication verification.

-The Currency property is now supported for Authorize.Net and sets x_currency_code.

Recurring Billing properties:

RecurringBilling: Set to True.

StartDate: Beginning date for the recurring billing cycle used to calculate when payments should be made. Default is now.

BillingCount: Number of payments to be made over the life of the agreement.

SettleInterval: Specifies the time period between two billings. Use LD format where L is one of the following: days, months and D is a number between 1 to 12 for months and 7 to 365 for days. (e.g. "7days" or "2months").

AccountID: Merchant-assigned name for the subscription. (Optional)

ReferenceNumber: Populates the payment gateway assigned identification number for the subscription. Set this value only for "update" and "void" transaction types.

Note: The recurring billing transaction creates a new subscription by default. You can set TransactionType property to "update" or "void" string value for updating or voiding a subscription.

Partial authorization support:

bool AllowPartialAuthorization property, if it is set to true, the ReferenceNumber property can be set to the Split Tender ID which is the value populated from a previous transaction with AllowPartialAuthorization true.

In case of successful transaction, if it was a full authorization, it returns

1 but for partial authorization, it returns 3 with ErrorCode 295 and ErrorMessage "The amount of this request was only partially approved"

In both cases, the following extra properties are populated:

ReferenceNumber: Value that links the current authorization request to the original authorization request. This value is returned in the reply message from the original authorization request.

OriginalAmount: Amount requested in the original authorization

Amount:Balance on the debit card or prepaid card

More details:

When AllowPartialAuthorization=true, AuthorizeNet returns a value called the splitTenderId that you can use to link this authorization request to subsequent transactions. This value is populated to ReferenceNumber property and ReferenceNumber property can be set to that value for the subsequent transactions. All transactions are put in a hold state until the final transaction is received. This is the transaction with a splitTenderId where the remaining amount is approved. At this point, all transactions associated with the splitTenderId will be released from the hold state and will be returned to the original state (Authorization Only, or Authorization and Capture).

You can release all held transactions associated with the splitTenderId by sending a PostAuthorize request.

This type of request is the same as the normal PostAuthorize, except that ReferenceNumber property is used instead of TransactionID property. Once all held transactions are released, the ReferenceNumber property (splitTenderId) can no longer be used.

To cancel an authorization, you should request a void. A void request can be used to cancel the SplitTender group. This type of request is the same as the existing void request, except that ReferenceNumber property is used instead of TransactionID property.

Addition: Supports Account Verification for Visa (Amount $0)

Customer Profiles support:
You can use customer profiles to enable merchants to tokenize and store sensitive customer payment information on our secure servers, which simplifies PCI DSS compliance as well as the payments process for returning customers and recurring transactions.

Setting: Set to "PROFILE"
ReferenceNumber:(customerProfileId) Populated by the payment gateway assigned identification number for the customer profile. Set this value for existing customers.
AccountID: (customerPaymentProfileId) Populated by the payment gateway assigned identification number for the customer payment profile. Set this value for existing customers with a payment profile.
TransactionType: Supports transaction types of Sale, Authorize, Postauthorize, Refund, void, and force (capture). For PostAuthorize, Refund (credit) and Void, the TransactionID must be set to the transaction ID of a transaction previously authorized by the gateway. For force, set AuthCode to an ID for a previous transaction not authorized on the gateway.
TransactionID: It can be set to a reference ID up to 20 characters for Authorize and Sale transactions, and when working with profile. For PostAuthorize, Refund (credit) and Void, the TransactionID must set to the transaction ID of a transaction previously authorized by the gateway.

Create profile or payment: To create profile, a unique value for CustomerID and/or Description and/or Email property must be set. When creating a new customer payment profile for an existing customer profile, ReferenceNumber should be set to the customer profile.
Delete profile or payment: Set ReferenceNumber to a customer profile and TransactionType to "delete". If setting AccountID to a Customer Payment Profile, only that payment profile will be deleted, otherwise the whole customer profile will be being deleted.
Update profile payment: Set ReferenceNumber to a customer profile and TransactionType to "update". If setting AccountID to a Customer Payment Profile ID, only that payment profile will be updated.

Get profile payment: Populates all the customer’s payment profiles to PaymentProfiles property. Set ReferenceNumber to a customer profile and TransactionType to "getcustomerprofile". If setting AccountID to a Customer Payment Profile ID, only that payment profile will be populated.

Note: If setting ReferenceNumber to a customer profile ID and AccountID to a customer payment profile ID, the amount is charged using that payment profile. If AccountID not set, but credit card information is provided, it automatically creates a new customer payment profile ID and charges the amount with the supplied credit card. If ReferenceNumber and AccountID are not set, but you set a unique value for CustomerID and/or Description and/or Email property with credit card information, a new customer and payment profile are created and the amount is charged using that. Authorize.Net will return an error if a customer profile already exist with the same CustomerID and/or Description and/or Email property

NEW: If using your Authorize.Net Public Client Key all credit card information is sent to Authorize.NET's servers from the client browser in a secure way without having the information touch your server, then internally using the token returned by Authorize.Net server to process and charge payments. This method complies with the Payment Card Industry Data Security Standards (PCI DSS). Public Client Key should be used in AuthorizeNetForm.htm and it can be obtained at the Authorize.Net merchant interface, by navigating to Account > Settings > Security Settings > General Security Settings > Manage Public Client Key. There are AuthorizeNetForm.htm and other samples for how to use API public key in the bundle csharp/AuthorizeNET and vbnet/AuthorizeNET folders.

Setting: Set to “callback” in to handle the callback from AuthorizeNET after generating the token. For usage see AuthorizenetCallback.aspx in AuthorizeNET folder.


BankOfAmerica

BankOfAmerica

This gateway has been retired by BoA. They have purchased FirstData and BoA can be used with natively FirstData Secure transport or their Global Gateway

Supported Properties:

Amount | Required
AuthCode | Optional
Address | Required
AvsCode | Optional
BankCode | Not Used
BankName | Not Used
Certificate | Not Used
City | Required
Code | Optional
Country | Required
CustomerID | Not Used
Email | Optional
Server | Optional
ErrorCode | Optional
ErrorMessage | Optional
Login | Required
Password | Optional
Month | Required
FirstName | Required
LastName | Required
Number | Required
OrderID | Optional
Phone | Optional
StateProvince | Optional
TestMode | Not Used
Timeout | Optional
TransactionID | Optional
TransactionType | Optional
Year | Required
ZipPostal | Required

AvsIndidcator: Flag that indicates the status of collection of Card Verification Value information where (0) = Value bypassed or not provided, (1) = CVV value provided, (2) = CVV value present but not readable and (9) = CVV value not present on card

CardName:Name on the credit card.

Supported Transaction Types:

1- sale (Default )

2- authorize

3- postauthorize(Force)

4- refund

The following 5 properties must set to refund or postauthorize an authorized transaction

Ojbcc.OrderID="" //a unique id to prevent duplicate requests.

Objcc.AuthCode=""; //authcode returned when you run the authorize transaction and set again to the returned value

Objcc.TransactionID=""; //transaction id returned when you run the authorize transaction and set again to the returned value

Objcc.UserName=""; //Username is obtained from the API User role in your BankOfAmerica admin site.

Objcc.Password=""; //Password is obtained from the API User role in your BankOfAmerica admin site.

CardName: used instead of FirstName, LastName. If not set it will group firstname and lastname and set CardName to this value.

UserName: required for postauthorize/credit only.

Refferer: The Web Server or IP address that the Post is initiated from must be pre-defined in the password protected Back Office as an "Authorized Website". This is set in your bank of america admin web site.

AvsIndicator: Flag that indicates the status of collection of Card Verification Value information where (0) = Value bypassed or not provided, (1) = CVV value provided, (2) = CVV value present but not readable and (9) = CVV value not present on card


Barclays

Barclays

Pricing and service information can be found here.

Supported Properties:

Amount Required

AuthCode Optional

Address Optional

AvsCode Optional

City Optional

Code Optional

Company Optional

Country Optional

CustomerID Optional

Email Optional

Fax Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Description Optional

Login Required

Password Required

Month Required

FirstName Optional

LastName Optional

Number Required

OrderID Optional

PaymentIndicator Optional

Phone Optional

ReferenceNumber Optional

StateProvince Optional

TestMode Optional

Timeout Optional

TransactionID Optional

TransactionType Optional

UserName Required

Year Required

ZipPostal Optional

Currency Optional

TransactionType: Set to the one of the following transaction types: Sale, Authorize, PostAuthorize, Credit and Void. For PostAuthorize and Void transactions, set OrderID to the OrderID of the original transaction. For Credit, if there is no original transaction, credit card information should be provided.

Login: Set to your Client ID or store ID.

UserName: Set to the sign-on name of the user submitting the transaction.

Password: Set to the password for the user set to the UserName property.

OrderID: Set to a unique string up to 36 characters. If the OrderID is not specified, it will be generated by the Transaction Persistence component using the following formula: AAAAAAAA-BBBB-CDDD-EEEE-FFFFFFFFFFFF

Country: The 3-digit ISO country code (numeric) representing the country. E.g. USA = 840, AUS = 36, CAN= 124, JPN= 392, GBR= 826, EUR=978

PaymentIndicator: Defaults to 1: Payment. Other option is 2: PaymentNoFraud

AvsCode response description:

YY - Address and zip code or postal code match

YN - Address matches only

NY - Postal code match; address not checked

NN - Neither address nor zip code or postal code matches

UU - Address information is unavailable, service is unavailable, or Error; Unknown

Blank - No AVS performed

Code (Cvv2) response description:

1 - CVM match

2 - CVM does not match issuer value

3 - CVM was not processed

6 - CVM invalid or missing

7 - No response from server

Note:

Port 11500 must be open for bi directional communication for this gateway.

IssueDate: Sets the StartDate parameter.

IssueNumber: Sets the IssueNum parameter.


Cardinal Commerce

Cardinal Commerce

CardinalCommerce

CardinalCommerce is a global leader in authenticating digital transactions, deepening insights into Card-Not-Present and 3-D Secure processed transactions. With Cardinal Consumer Authentication (CCA) and the network 3-D Secure programs, you receive full liability for fraudulent orders, regardless of whether issuer participation. The authentication results in AuthenticationValue and CAVV (cardholder authentication verification value) properties can be used to process a credit card payment in any gateways/processors.

Pricing and service information can be found here.

Supported Properties:

Amount | Required
AuthCode | Optional
Address | Optional
Address2 | Optional
AvsCode | Optional
AccountID | Optional
CardName | Required
CardType | Optional
City | Optional
Code | Optional
Country | Optional
Currency | Required
Description | Optional
ErrorCode | Optional
ErrorMessage | Optional
Login | Required
Password | Required
Month | Required
Number | Required
OrderID | Optional
ReferenceNumber | Optional
Server | Optional
TestMode | Optional
Timeout | Optional
TransactionID | Optional
TransactionType | Optional
UserName | Required
Year | Required
ZipPostal | Optional

UserName = "136-04"; Set to Merchant processor identification code. This value is assigned to the Merchant.

MerchantName = "myidcode"; //Set to your Centinel merchant identification code.

AccountID = "password"; // Set to your Centinel Password.A password to secure and verify the transaction originated from Merchant represented by the transaction details. The password value is configured through the Merchant profile

MerchantUrl = "http://yourdomain/dotnetcharge/CardinalCommerce.aspx

If the customer authenticated successfully, the following properties are populated and can be used to process a credit card payment in any gateways/processors.

AuthenticationIndicator: The electronic commerce indicator(ECI) value for a Visa transaction, or the universal cardholder authentication field indicator(UCAF) for a MasterCard transaction.

Possible Values:
02 or 05- Fully Authenticated Transaction
01 or 06- Attempted Authentication Transaction
00 or 07- Non 3-D Secure Transaction

AuthenticationValue: Transaction identifier resulting from authentication processing.

CAVV: Cardholder Authentication Verification Value (CAVV), Authentication Verification Value (AVV), Universal Cardholder Authentication Field (UCAF)


Cybercash

Cybercash

RETIRED (this gateway has been retired and may or may not be offered for legacy use by this gateway vendor).

Pricing and service information can be found here.

Supported Properties

Amount | Required
AuthCode | Optional
Address | Optional
AvsCode | Optional
BankCode | Not Used
BankName | Not Used
Certificate | Not Used
City | Optional
Code | Not Used
Country | Optional
CustomerID | Not Used
Email | Not Used
Server | Optional
ErrorCode | Optional
ErrorMessage | Optional
Login | Required
Password | Required
Month | Required
FirstName | Optional
LastName | Optional
Number | Required
OrderID | Required
Phone | Not Used
Setting | Not Used
StateProvince | Optional
TestMode | Not Used
Timeout | Optional
TransactionID | Optional
TransactionType | Optional
Year | Required
ZipPostal | Optional

Notes:

Supports transaction types of Sale, authorize and PostAuthorize.

AVS code is returned as a symbolic AVS letter.

Cychmck.dll must be registered on the server for this processor. See /bin/readme.txt for additional details.

For setting the name on the credit card for this company, use the CardName property (for the full name provided by the customer) in place of FirstName and LastName.


CyberSource

CyberSource

Pricing and service information can be found here.

Supported Properties:

Amount Required

Address Required

AuthCode Optional

AvsCode Optional

BankCode Not Used

BankName Not Used

Certificate Required

City Required

Code Optional

Country Required

Currency Optional

CustomerID Optional

Email Required

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Password Not Used

Month Required

FirstName Required

LastName Required

Number Required

OrderID Required

Phone Optional

ReferenceNumber Optional

StateProvince Required

TestMode Optional

Timeout Optional

TransactionID Optional

TransactionType Optional

Year Required

ZipPostal Required

Login: Set to the merchant ID assigned by CyberSource.

Certificate: Set to the CyberSource Transaction Security Key directory.

Obj.Certificate= "C:/cybersource/keys"

OrderID: An alphanumeric string up to 50 characters. (Recommended to be

unique). The same reference number should set for postauthorize, reversal or

credit for an already authorized transaction.

IMPORTANT: Cybersource.dll and CybsSecurity.dll must copied to the application's bin directory (for the server version Cybersource.dll must added to the GAC and CybsSecurity.dll must copied to the servers windows directory e.g. c:\windows).

Supports transaction types of Sale, Authorize, PostAuthorize, Credit, Force (Post authorization with verbal authcode) and Reversal. Login, Certificate and ReferenceNumber properties required for all transaction types, other properties marked as "Required" necessary for authorize, sale, and stand-alone credit.

PostAuthorize: TransactionID should set to the returned transactionID from the authorized transaction.

Force: AuthCode should set to the varbally received authorization code.

Credit: If TransactionID set to the returned transactionID from the authorized transaction, creates a follow-on credit by linking the credit to the previouse sale, otherwise it is a stand-alone credit.

Reversal: TransactionID should set to the returned transactionID from the authorized transaction.

CardType: Type of card to authorize. This property should be set only for transactions using the card types with asterisks (**) below. Possible values:

• 001: Visa

• 002: MasterCard, Eurocard ** (European regional brand of MasterCard)

• 003: American Express

• 004: Discover

• 005: Diners Club **

• 006: Carte Blanche **

• 007: JCB **

• 008: Optima

• 014: EnRoute **

• 021: JAL **

• 024: Switch **

• 032: Solo ** (NOTE If you are using a processor other than the Global Payment Service processor, use 024 for Solo cards)

• 033: Visa Electron **

• 034: Dankort **

• 035: Laser **

• 036: Carte Bleue **

• 037: Carta Si **

AVS Codes (only for US):

Code Summary Description

A Partial match Street address matches, but both 5-digit and 9-digit postal code do not match.

B Partial match Street address matches, but postal code not verified. Returned only for non-U.S.-issued Visa cards.

C Not verified Street address and postal code not verified. Returned only for non-U.S.-issued Visa cards.

D Match Duplicate of M. Street address and postal code both match. Returned only for non-U.S.-issued Visa cards. Although D and M are duplicates, it is possible that you will receive both.

E Invalid AVS data is invalid.

G Not supported Non-U.S. issuing bank does not support AVS.

I Not verified Address not verified. Returned only for non-U.S.-issued Visa cards.

J Match This code is returned only if you are signed up to use AAV+ with the American Express Phoenix processor. Card member's name, billing address, and postal code all match. Shipping information verified and chargeback protection guaranteed through the Fraud Protection Program.

K Partial match This code is returned only if you are signed up to use Enhanced AVS or AAV+ with the American Express Phoenix processor. Card member's name matches. Both billing address and billing postal code do not match.

L Partial match This code is returned only if you are signed up to use Enhanced AVS or AAV+ with the American Express Phoenix processor. Card member's name matches. Billing postal code matches, but billing address does not match.

M Match Duplicate of D. Street address and postal code both match. Returned only for non-U.S.-issued Visa cards. Although D and M are duplicates, it is possible that you will receive both.

N No match Street address, 5-digit postal code, and 9-digit postal code all do not match.

O Partial match This code is returned only if you are signed up to use Enhanced AVS or AAV+ with the American Express Phoenix processor. Card member's name matches. Billing address matches, but billing postal code does not match.

P Partial match Postal code matches, but street address not verified. Returned only for non-U.S.-issued Visa cards.

Q Match This code is returned only if you are signed up to use AAV+ with the American Express Phoenix processor. Card member's name, billing address, and postal code all match. Shipping information verified but chargeback protection not guaranteed (Standard program).

R System unavailable System unavailable.

S Not supported U.S. issuing bank does not support AVS.

U System unavailable Address information unavailable. Returned if non-U.S. AVS is not available or if the AVS in a U.S. bank is not functioning properly.

V Match This code is returned only if you are signed up to use Enhanced AVS or AAV+ with the American Express Phoenix processor. Card member name matches. Both billing address and billing postal code match.

W Partial match Street address does not match, but 9-digit postal code matches.

X Match Exact match. Street address and 9-digit postal code both match.

Y Match Street address and 5-digit postal code both match.

Z Partial match Street address does not match, but 5-digit postal code matches.

1 Not supported CyberSource AVS code. AVS is not supported for this processor or card type.

2 Invalid CyberSource AVS code. The processor returned an unrecognized value for the AVS response.

Card Verification Codes (Code property returns):

Code Description

I Card verification number failed processor's data validation check.

M Card verification number matched.

N Card verification number not matched.

P Card verification number not processed.

S Card verification number is on the card but was not included in the request.

U Card verification is not supported by the issuing bank.

X Card verification is not supported by the card association.

1 Card verification is not supported for this processor or card type.

2 The processor returned an unrecognized value for the card verification response.

3 The processor did not return a card verification result code.


Echo

Echo

Echo: http://www.echo-inc.com

Supported Properties:

Amount Required

AuthCode Optional

Address Optional

Address2 Optional

AvsCode Optional

BankCode Required*

BankName Required*

City Optional

Code Optional

Country Optional

IssueNumber Required*

Email Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Password Required

Month Required

FirstName Optional

LastName Optional

Number Required

OrderID Optional

PaymentType Optional

Phone Optional

ReferenceNumber Optional

StateProvince Optional

TestMode Optional

Timeout Optional

TransactionID Optional

TransactionType Optional

Year Required

ZipPostal Optional

Login: set to the merchant echo id.

Password: set to the merchant pin number.

OrderID: set the orderID from the original transaction, it is being to credit/refund or postauthorize.

TransactionTypes: authorize, sale, credit and postauthorize.

PaymentMethod: CreditCard or Echeck (defaults to CreditCard).

ReferenceNumber: This field is present to allow Merchants to track their transactions using trace codes other than those provided by ECHO. ECHONLINE stores this field unchanged. Although its name implies that it is a "trace number," it can contain alphanumeric and graphical characters up to 32.

Echo Echeck:

PaymentMethod: Must be set to PaymentMethod.Echeck (default is CreditCard).

*BankName: The name of the bank on which the draft is drawn.

*BankCode: The Routing-and-Transit (ABA) number of the bank on which the draft (electronic check) is drawn.

*IssueNumber: A serial number requested from the shopper to identify the check. This corresponds to the check serial number on a paper check.

Number: The shopper's checking account number.

DL: Customer driver license number. (Optional)

DLDOB: Customer driver license expiry date [MM/DD/YYYY]. (Optional)

DLState: The state in which the driver license was issued. (Optional)

* required for echeck only

EcheckType: Set to the one of the following values:

DV: Electronic Check Verification

DD: (Default) Electronic Check Debit with Verification

DH: Electronic Check Debit ACH Only

DC: Electronic Check Credit

BankAccountType: Default is "PC". Other options are:

Personal Accounts

PC - Personal Checking

PS - Personal Savings

PL - Personal Loan

Business Accounts

BC - Business Checking

BS - Business Savings

BL - Business Loan


ePoch

ePoch

Pricing and service information can be found here.

Supported Properties:

Amount | Required
AuthCode | Optional
Address | Optional
AvsCode | Not Used
BankCode | Not Used
BankName | Not Used
Certificate | Not Used
City | Optional
Code | Not Used
Country | Optional
CustomerID | Not Used
Email | Optional
Server | Optional
ErrorCode | Optional
ErrorMessage | Optional
Login | Required
Password | Required
Month | Required
FirstName | Optional
LastName | Optional
Number | Required
OrderID | Optional
Phone | Optional
Setting | Not Used
StateProvince | Optional
TestMode | Not Used
Timeout | Optional
TransactionID | Optional
TransactionType | Optional
Year | Required
ZipPostal | Optional

Maximum length of email, 32 characters.

Country must match list provided by processor.

Supported Transaction Types:

1-sale(capture) / captureAVS

2-authorize

3-postauthorize (must pass authcode return from authorize)

4-credit

CaptureAVS requires that the billing address and zip match the details for the card. Using captureavs can result in lower per transaction charges with your bank.

Setting: This value is fixed for each store and is "Character product code" assigned by processor.

Zip 5 or 9 digit with no slashes for US.


eProcessing

eProcessing

Pricing and service information can be found here.

Supported Properties:

Amount | Required
AuthCode | Optional
Address | Optional
AvsCode | Optional
BankCode | Optional
BankName | Optional
Certificate | Not Used
City | Optional
Code | Optional
Country | Optional
CustomerID | Optional
Email | Optional
Server | Optional
ErrorCode | Optional
ErrorMessage | Optional
Login | Required
Password | Required
Month | Required
FirstName | Optional
LastName | Optional
Number | Required
OrderID | Optional
Phone | Optional
Setting | Not Used
StateProvince | Optional
TestMode | Optional
Timeout | Optional
TransactionID | Optional
TransactionType | Optional
Year | Required
ZipPostal | Optional

Supports transaction types of Sale(capture), authorize and postauthorize.

AVS letter explanations:

A = Address (Street) matches, ZIP does not

B = Address Information Not Provided for AVS Check

E = AVS error

G = Non U.S. Card Issuing Bank

N = No Match on Address (Street) or ZIP

P = AVS not applicable for this transaction

R = Retry – System unavailable or timed out

S = Service not supported by issuer

U = Address information is unavailable

W = 9 digit ZIP matches, Address (Street) does not

X = Address (Street) and 9 digit ZIP match

Y = Address (Street) and 5 digit ZIP match

Z = 5 digit ZIP matches, Address (Street) does not

Password is manditory for authorize and postauthorize transactions


ESecPayments

ESecPayments

Pricing and service information can be found here.

Supported Properties:

Amount Required

AuthCode Optional

Address Not Used

AvsCode Not Used

Code Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Password Required

Month Required

CardName Not Used

Number Required

OrderID Required

StateProvince Not Used

Testmode Optional

Timeout Optional

TransactionID Optional

TransactionType Optional

Year Required

ZipPostal Not Used

Login: 7-character merchant ID supplied by SecurePay.

Password: your payment password which can be changed via SecurePay's

Merchant Management facility.

OrderID: An alphanumeric string that allows the merchant's processing system to identify an individual transaction.

TransactionType: Sale, Authorize, PostAuthorize, Refund and Void(Reversal)

AuthCode: Set for postAuthorize type and must match the AuthCode returned in the response to the original authorization.

TransactionID: Set for refund and reversal types and must match the TransactionID returned in the response to the original payment.


Elavon Processor

Elavon Processor

Previously known as Nova Native, now Elavon Native (the company changed names).

With the Elavon native processor support you can skip the gateway fees and work directly against the Elavon processor. Pricing and service information can be found here. With this unique native processor offering you in effect become your own gateway provider.

Supported Properties:

Amount | Required
AuthCode | Optional
Address | Optional
AvsIndicator AvsCode | Optional Optional
Code | Optional
CustomerID | Optional
Server | Optional
ErrorCode | Optional
ErrorMessage | Optional
Login | Required
Password | Required
Month | Required
Number | Required
OrderID | Optional
Tax | Optional
TestMode | Optional
Timeout | Optional
TransactionID | Optional
TransactionType | Optional
Year | Required
ZipPostal | Optional

For native processor support .netCHARGE implements advanced transaction synchronization, queuing and number management which enables a native processor to be used as easily as a gateway. These features depend on a centralized cache system which is application specific. You must ensure that any transactions processed with .netCHARGE against a native processor are done though the same application (as defined in Internet Information Server) and that .netCHARGE, through this application, is the only system processing transactions against your merchant account.

When you obtain a Elavon merchant account you will be sent a merchant equipment report including the Terminal Bin and Terminal ID for your account. You should set the Login property of .netCHARGE equal to the Terminal ID provided and set the Password property of .netCHARGE to the Terminal Bin (AKA Term Bin or Bank Number).

Account Setup: Your Elavon account should be in host mode and auto-close should be enabled for the account to automatically settle each night. If your account is not already setup with this option, please contact Elavon to have the setting change made.

Supports transaction types of Sale, authorize, postauthorize, credit (refund) and void.

AuthCode must set to postauthorize a previously authorized transaction.

TransactionID must set to void an authorized or sale transaction.

Tax: set to the tax amount. Typically this would not be used and only obj.Amount would be set.

AvsIndicator: defaults to 0

0 : No AVS Requested

1: Credit Card Authorization with full AVS. Both Address and ZipPostal properties should be set.

2: AVS Only, do not auth credit card but perform full AVS. Both Address and ZipPostal properties should be set.

3: Credit Card Authorization with Zip Code AVS Only. ZipPostal property should be set.

4: AVS Only with Zip Code Only. ZipPostal property should be set.

PaymentIndicator: defaults to 6

1 = MO/TO (single)

2 = Recurring Payment

3 = Installment Payment

4 = Unknown/Other

5 = Secure EC with C/H Certificate

6 = Non authenticated Security Transaction w/ Merchant Certificate

7 = Non Authenticated Security Transaction w/o Merchant Certificate

i.e., Channel Encrypted

8 = Non Secure Transaction

9 = Key Entered, Card Present

CVV2* Code response values:

M = CVV2 Match

N = CVV2 No match

P = Not Processed

S = Issuer indicates that CVV2 data should be present on the card, but the merchant has indicated that the CVV2 data is not present on the card

U = Issuer has not certified for CVV2 or Issuer has not provided Visa with the CVV2 encryption Keys

* A bad CVV2 code will always be approved. If you don't wish to accept the transaction you should examine the return value for CVV2 in the Code property, then perform a void for that transaction.

AvsCode response values:

X = Exact AVS Match

Y = Address (Street) and 5 digit Zip match

A = Address (Street) matches, Zip does not.

W = 9 digit Zip matches, Address (Street) does not

Z = 5 digit Zip matches, Address (Street) does not

N = No Match on Address (Street) or Zip

U = Address information is unavailable (domestic issuer)

R = Retry, System unavailable or Timed out

G = Card issued by a non-US issuer that does not participate in the AVS System

B = Street address match, Postal code in wrong format. (International issuer)

C = Street address and postal code in wrong formats

D = Street address and postal code match (international issuer)

I = Address information not verified by international issuer.

M = Street Address and Postal code match (international issuer)

P = Postal codes match, Street address not verified due to incompatible formats.

O = No Response sent


Elavon viaKlix

Elavon viaKlix

Viaklix was Converge’s predecessor. However for security and limitations of viaklix’s database capacity it was discontinued and it’s servers repurposed. Virtual merchant is now called Converge, the name was re-branded for the sake of cultivating our software’s identity and other marketing reasons. If you were using Viaklix you will need to see about getting set up with converge. To do so, you may reach the sales team at 866-548-6826.

Previously known as Nova viaKlix (company changed names).Pricing and service information can be found here.

Supported Properties:

Amount | Required
AuthCode | Optional
Address | Optional
AvsCode | Optional
BankCode | Not Used
BankName | Not Used
Certificate | Not Used
City | Optional
Code | Optional
Company | Optional
Country | Optional
CustomerID | Optional
Email | Optional
Server | Optional
ErrorCode | Optional
ErrorMessage | Optional
Login | Required
Password | Required
Month | Required
FirstName | Optional
LastName | Optional
Number | Required
OrderID | Optional
Phone | Optional
Setting | Not Used
StateProvince | Optional
Tax | Optional
TestMode | Optional
Timeout | Optional
TransactionID | Optional
TransactionType | Optional
Year | Required
ZipPostal | Optional

Supports transaction types of Sale(capture) and refund(credit)

Login is your merchant_id (sometimes referred to as your Account ID or your viaKLIX ID) and Password is your PIN that matches your Account to the terminal you are using. CustomerID is optional and is set to the viaKlix ssl_customer_code. UserName is optional and set to viaKlix userId.

For setting the name on the credit card for this company, use the CardName property (for the full name provided by the customer) in place of FirstName and LastName.

Tax: Set this property to the order's tax amount.

Please see the included viaklix.aspx for usage.

Length limitations:

Address: Max length 30

Address2: Max length 30

OrderID: Max length 10


Elavon Converge (VirtualMerchant)

Elavon Converge (VirtualMerchant)

 Return to chapter overview

Previously known as Nova VirtualMerchant (company changed names) and Elavon Virtual Merchant the name was re-branded to Converge for the sake of cultivating our software’s identity and other marketing reasons. . Pricing and service information can be found here.

Supported Properties:

Amount Required

AuthCode Optional

Address Optional

Address2 Optional

AvsCode Optional

City Optional

Code Optional

Company Optional

Country Optional

CustomerID Optional

Description Optional

Email Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Logging Optional

Login Required

Password Required

Month Required

FirstName Optional

LastName Optional

Number Required

OrderID Optional

Phone Optional

StateProvince Optional

Tax Optional

TestMode Optional

Timeout Optional

TransactionID Optional

TransactionType Optional

UserName Optional

Year Required

ZipPostal Optional

Login: your merchant_id (sometimes referred to as your Account ID or your VirtualMerchant ID)

Password: your PIN that matches your Account to the terminal you are using. If you have more than one terminal assigned to your account, you need to make sure that the PIN you are using corresponds to the correct terminal.

UserName: (optional) if it is not set, login is being used. Each account will have one Merchant Admin user and can have multiple Employee Users, who may or may not have access to run transactions on the terminal that is integrated with your Website. When specifying a User Name, make sure that the submitted password (PIN ) matches the User Name that you are submitting and the terminal on which you wish to run the transaction. When an account has more than one Terminal, it is the combination of Login, Password and Username that Virtual Merchant will use to determine which of the terminals the transaction is being submitted to. The terminal itself will not be submitted to Virtual Merchant. For accounts with only one user, Virtual merchant uses “webpage” for user name. If getting error, please check this value with Elavon Virtual Merchant.

CustomerID: (optional) customer code.

TransactionType: Supports transaction types of Sale, Authorize, PostAuthorize (Force) and Credit (Return).

For PostAuthorize, the authCode of the authorized transaction should be set to AuthCode property. You can convert an authorized transaction to force transaction through virtual terminal as well.

For Sale transaction, check "Auto Settlement" check box in virtual terminal. It is in "System setup" section.

You can void a transaction only through the virtual terminal. The option is in "Current Batches -> Main" link.

Length limitations:

Address: Max length 30

Address2: Max length 30

OrderID: Max length 10

CVV2 Code response values:

M = CVV2 Match

N = CVV2 No match

P = Not Processed

S = Issuer indicates that CVV2 data should be present on the card, but the merchant has indicated that the CVV2 data is not present on the card

U = Issuer has not certified for CVV2 or Issuer has not provided Visa with the CVV2 encryption Keys

AvsCode response values:

X = Exact AVS Match

Y = Address (Street) and 5 digit Zip match

A = Address (Street) matches, Zip does not.

W = 9 digit Zip matches, Address (Street) does not

Z = 5 digit Zip matches, Address (Street) does not

N = No Match on Address (Street) or Zip

U = Address information is unavailable (domestic issuer)

R = Retry, System unavailable or Timed out

G = Card issued by a non-US issuer that does not participate in the AVS System

B = Street address match, Postal code in wrong format. (International issuer)

C = Street address and postal code in wrong formats

D = Street address and postal code match (international issuer)

I = Address information not verified by international issuer.

M = Street Address and Postal code match (international issuer)

P = Postal codes match, Street address not verified due to incompatible formats.

O = No Response sent

Common errors and resolution:

1)

Error code: 4002

HTTP POST transactions are not allowed for this account.

Resolution: You will need to log into the virtual terminal. Select the terminal link at the top of the page, and then select "System setup" link and check "Enable HTTP Transaction" checkbox. Finally, apply update button.

2)

Error code: 4003

HTTP POST transactions are not allowed for this HTTP Referrer.

Resolution: You will need to log into the virtual terminal. Select the terminal link at the top of the page, and then select "System setup" link and un-check "Use HTTP Referrers" or add your URL to the authorized referrers list. Finally, apply update button.


FirstData (Secure Transport Link)

FirstData (Secure Transport Link)

 Return to chapter overview

FirstData purchased ConcordEFSnet and sunset the API. They made a native API called Secure Transport Link (previously known as EFSnet emulation). .netCHARGE has been certified and tested with this new API for native FirstData support.

Pricing and service information can be found here.

Supported Properties:

Amount Required

Address Optional

AuthCode Optional

AvsCode Optional

ClientIP Optional

City Optional

Code Optional

Country Optional

Currency Optional

CustomerID Optional

Email Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Password Required

Month Required

CardName Optional

Number Required

OriginalAmount Optional

Phone Optional

ReferenceNumber Required

StateProvince Optional

Setting Optional

TestMode Optional

Timeout Optional

TransactionID Optional

TransactionType Optional

Year Required

ZipPostal Optional

Login property should set to the StoreID assigned by Concord.

Password property should set to the StoreKey assigned by Concord.

ReferenceNumber: A unique numeric string up to 12 digits.

It supports transaction types of Sale, Authorize, PostAuthorize, Void, Refund, Credit and Force.

Login, Password, ReferenceNumber and Amount properties are required for all transaction types, other properties marked as "Required" necessary for authorize, sale, and credit.

Void: TransactionID should set to the returned transactionID from the original transaction.

PostAuthorize and Refund: TransactionID should set to the returned transactionID from the original transaction. OriginalAmount also can be set if the PostAuthorize/Refund amount is different from the original amount.

Force: AuthCode should set to the verbally received authorization code.

New: Supports Track2 through Setting property which is required for card-swiped transactions.


FirstData Global Gateway

FirstData Global Gateway

Pricing and service information can be found here.

Supports First Data Global Gateway Connect 1 and Connect 2 Buypass Form methods. Although in First Data Global Gateway online administration "Connect Setup" section, the following URLs are set (Submission Form URL, Confirmation page URL, Failure page URL) .netCHARGE utilizes “Buypass Form” method, therefore, these URLs are not being used and the user doesn't leave your web site for making a payment. The payment is processed in the background and the result is returned to the same payment page.

Supported Properties:

Amount Required

AuthCode Optional

Address Optional

AvsCode Optional

CardName Optional

City Optional

ClientIP Optional

Code Optional

Country Optional

Company Optional

CustomerID Optional

Description Optional

Email Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Password Required (Only for Connect 2)

Month Required

Referrer Required (Only for Connect 1)

Number Required

OrderID Optional

Phone Optional

Fax Optional

StateProvince Optional

TestMode Optional

Timeout Optional

TransactionID Optional

TransactionType Optional

Year Required

ZipPostal Optional

Login: set to your store number provided by First Data Global Gateway in merchant's welcome email.

Connect 1: Supports transaction types of Sale (capture), authorize and postauthorize. For other types like void, refund and credit use the web admin.

Connect 2 (New): Besides the above properties, the following properties are available in Connect 2.

Password:(Required) set to your shared secret value. The shared secret can be obtain though your administration section in your online First Data Global Gateway account. In "Connect 2.0 Setup", click on generate button. Then select export, it opens a file dialogue box that enables you to download and access the Shared Secret value.

Tax: (optional) tax amount, defaults to $0. The tax amount should not be added to Amount, it is added by dotnetCHARGE internally.

Shipping: (optional) shipping amount, defaults to $0. The shiiping amount should not be added to Amount, it is added by dotnetCHARGE internally.

ReferenceNumber: populates the return tdate value which is used when processing a PostAuthorize or Void transaction. .

TimeZone: (optional) Time zone of the transaction, defaults to PST. Valid values are: GMT, EST, CST, MST, PST.

Supported Transaction Types:

1- Sale (Default )

2- Authorize

3- PostAuthorize(Force): set the OrderID of the transaction being captured. Set the ReferenceNumber to the value returned for the transaction being captured.

4- Void: set the OrderID of the transaction being voided. Set the ReferenceNumber to the value returned for the transaction being voided.

AvsCode: After processing a transaction, AvsCode property has 3 letters showing the result of AVS, the first 2 letters are the status of AVS and the 3rd letter the card type, the most important ones are:

YY: Address and zip code match.

NY: Only the zip code matches.

YN: Only the address matches.

NN: Neither the address nor the zip code match.

FAQ:

"Your store is not configured in the system" Resolution: Verify your account is setup as Connect 1 or Connect 2 methods not API method. If your account is a production account, TestMode should not be set or set to False; otherwise, please set it to True.

Recurring Billing (New):
RecurringBilling: Set to True.
StartDate: Beginning date for the recurring billing cycle used to calculate when payments should be made. Default is one day after now.
BillingCount: The number of installments of the recurring payment. Numeric value between 1-999. Default is 12.
SettleInterval: Specifies the time period between two billings. Use LD format where L is one of the following: d for day, w for week, m for month, y for year and D is the frequency of the installment. Combines with the periodicity to determine when the installments occur. Numeric value between 1-999. (e.g. "d30" or "m6").
Setting: The number of failures to allow before the merchant is notified by email. Numeric value between 1-5. Default is 3.


FirstData Global Gateway E4

FirstData Global Gateway E4

Note: this has been rebranded to Payeezy

Pricing and service information can be found here.

Supported Properties:

Amount Required

AuthCode Optional

Address Optional

Address2 Optional

AvsCode Optional

CardName Required

City Optional

ClientIP Optional

Code Optional

Country Optional

CustomerID Optional

Email Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Password Required

TransactionKey Required

TerminalID Required

Month Required

Number Required

Phone Optional

StateProvince Optional

TestMode Optional

Timeout Optional

TransactionID Optional

TransactionType Optional

Year Required

ZipPostal Optional

Login: set to your Gateway ID in this format Axxxxx-xx. It is in online account, ECOMM terminal section.

Password: set your Password, minimum 8 digit alphanumeric password that is uniquely associated with each Gateway ID.

TransactionKey: set to HMAC Key, It is in your online account, ECOMM terminal -> API Access section.

TerminalID: set to key id. It is in your online account, ECOMM terminal -> API Access section

Country: 2 digits country code.

AuthCode: populates the return Authorization_Num value which is used when processing a PostAuthorize, refund or Void of the original transaction.

TransactionID: populates the return Transaction_Tag value which is used when processing a PostAuthorize, refund or Void of the original transaction

Supported Transaction Types:

1- Sale (Default)

2- Authorize

3- PostAuthorize: set the AuthCode and TransactionID of the transaction being captured.

4- Void: set the AuthCode and TransactionID of the transaction being voided.

5- Refund: set the AuthCode and TransactionID of the transaction being refunded.

AvsCode: After processing a transaction, AvsCode property has 1 letter showing the result:

Supported AVS Results:

X = exact match, 9 digit zip

Y = exact match, 5 digit zip

A = address match only

W = 9 digit zip match only

Z = 5 digit zip match only

N = no address or zip match

U = address unavailable

G = non-North American issuer, does not participate

R = issuer system unavailable

E = not a Mail\Phone order

S = service not supported

Q = Bill to address did not pass edit checks

D = International street address and postal code match

B = International street address match, postal code not verified due to incompatible formats

C = International street address and postal code not verified due to incompatible formats

P = International postal code match, street address not verified due to incompatible format

1 = Cardholder name matches

2 = Cardholder name, billing address, and postal code match

3 = Cardholder name and billing postal code match

4 = Cardholder name and billing address match

5 = Cardholder name incorrect, billing address and postal code match

6 = Cardholder name incorrect, billing postal code matches

7 = Cardholder name incorrect, billing address matches

8 = Cardholder name, billing address, and postal code are all incorrect

3D Secure Authentication:

ApplySecure3D = 1;//To enable set to 1, otherwise not set

UserName = "136-04"; //Set to Merchant processor identification code. This value is assigned to the Merchant.

MerchantName = "myidcode"; //Set to your Centinel merchant identification code.

AccountID = "password"; // Set to your Centinel Password. A password to secure and verify the transaction originated from Merchant represented by the transaction details. The password value is configured through the Merchant profile

MerchantUrl = "http://yourdomain/dotnetcharge/FirstDataGlobalGatewaye4.aspx";

TransactionOrigin: (Optional) Specifies the order channel where the transaction was initiated.

The Payer Authentication program "Learn More" logos are required to be placed on the payment details page of the checkout process.

For more information visit: http://www.cardinalcommerce.com to processes the 3D secure validation for First Data Global Gateway.


GlobalPayments

GlobalPayments

Pricing and service information can be found here.

Supported Properties:

Amount Required

Address Optional

AuthCode Optional

AvsCode Optional

CardName Optional

City Optional

Code Optional

CustomerID Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Password Required

Month Required

Number Required

OrderID Optional

StateProvince Optional

Timeout Optional

Tax Optional

TransactionID Optional

TransactionType Optional

Year Required

ZipPostal Optional

Login: Set to the user name assigned in the Global Transport Server.

Password: Set to the password for the user name assigned in the Global Transport Server.

TransactionType: Sale, Authorize, PostAuthorize, Void, Return, Credit and Force. Default is Sale. For Void, Return and PostAuthorize, TransactionID must set to the TransactionID returns from the original transaction. For credits, each merchant account set up in Global Transport has a configuration parameter to either allow or disallow the credit transaction. If credits are not allowed, the following error “Original Transaction ID Not Found” will occur when a “blind credit” is processed.

OrderID: Maximum length is 25 characters.

TransactionID: For Void, Return and PostAuthorize, TransactionID must set to the TransactionID returns from the original transaction.

AuthCode: For Force transaction type, AuthCode must set to the AuthCode returns from the original authorized transaction.

Tax: tax amount. The tax amount should be added to Amount as well.

Recurring Billing

In order to perform a recurring transaction, an initial Sale transaction must occur first. Once the original Sale transaction is processed, the TransactionID should be stored and set to TransactionID for future billing. If Amount is not set, the recurring billing charges to same amount of the original transaction.

RecurringBilling: Set to True.

SequenceNumber: (optional) this designates which number in the sequence the transaction is; it must be a positive integer smaller than or equal to the BillingCount.

BillingCount: (optional) this designates the total number of charges that will be made; it must be a positive integer greater than or equal to the SequenceNumber.

TransactionID: Set to the TransactionID of the initial sale transaction.

AvsCode response values:

X = Exact AVS Match

Y = Address (Street) and 5 digit Zip match

A = Address (Street) matches, Zip does not.

W = 9 digit Zip matches, Address (Street) does not

Z = 5 digit Zip matches, Address (Street) does not

N = No Match on Address (Street) or Zip

U = Address information is unavailable (domestic issuer)

R = Retry, System unavailable or Timed out

E = Error: Transaction unintelligible for AVS or edit error found in the message that prevents AVS from being performed

G = Card issued by a non-US issuer that does not participate in the AVS System

B = Street address match, Postal code in wrong format. (International issuer)

C = Street address and postal code in wrong formats

D = Street address and postal code match (international issuer)

I = Address information not verified by international issuer.

M = Street Address and Postal code match (international issuer)

P = Postal codes match, Street address not verified due to incompatible formats.

O = No Response sent

S = Not Supported: Issuer doesn't support AVS service

0 = No response sent

5 = Invalid AVS response

CVV2 code response values:

M = Match

N = No Match

P = Not Processed

S = Issuer indicates that the CV data should be present on the card, but the merchant has indicated that the CV data is not present on the card.

U = Unknown / Issuer have not certified for CV or issuer has not provided Visa/MasterCard with the CV encryption keys.

X = Server Provider did not respond


GoogleCheckout

GoogleCheckout

RETIRED (this gateway has been retired, as google cancelled the service, and may or may not be offered for legacy use by this gateway vendor).

Since Google requires clients to redirect to and provide payment details on their site rather than your own, this can not be considered a traditional payment gateway. .netCHARGE does support basic Google checkout processing and notification handling.

.netCHARGE includes 2 features for integrating with Google checkout:

1) Charge Method with Processor.GoogleCheckout parameter: After a customer completes her shopping in your website, the shopping cart total should set to Objcc.Amount property. Then, by calling obj.Charge method, .netCHARGE processes the request internally and the customer will be transferred to Google checkout's site.

See the included samples: GoogleCheckout.aspx to see how simple it is to use Google with .netCHARGE.

Supported Properties:

Amount Required

Login Required

Password Required

OrderID Required

Description Optional

TestMode Optional

TransactionType Optional

TransactionID Optional

ReferenceNumber Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Timeout Optional

Tax Optional

Shipping Optional

Amount: The total of the customer's shopping cart.

Login: The Merchant ID which is available on the Settings: Integration Center page of the Merchant Center.

Password: The Merchant Key which is available on the Settings: Integration Center page of the Merchant Center.

OrderID: It is being used for setting item_name element. If it is not set, .netCHARGE automatically generates an order id. This order id is different from google order id, the google order id is being used to change the order status like void, refund or postauthorize a transaction.

TransactionType: Sale, Authorize, PostAuthorize, Void and Refund. If you want to run the Sale transaction which authorize and charge at the same time, you must set the second radio box "Automatically authorize and charge the buyer's credit card" in Google seller admin, settings tab, Preferences page. If you want to authorize a transaction first, then charge it later. Set the first radio box "Automatically authorize the buyer's credit card for the full amount of the order." in Google seller admin, settings tab, Preferences page.

When running Void, Refund or PostAuthorize transaction types, .netCHARGE returns immediate result of success or fail. If it is failed, the ErrorMessage property populates the reason of fail. "Ship" transaction type can be used to notify Google of an order delivery. "tracking-number" can be set to ReferenceNumber property, "carrier" to Shipping property and any string to Email if you want to send an email to the customer.

Currency: The currency of the transaction which usually depends on the merchant account. This is optional and may not be supported for your account. Contact google to determine which option is possible.

obj.Currency = CurrencyCode.USD

Description: It is required for Void and Refund transactions and used for setting reason for those transaction types. It is optional for all other transaction types.

TransactionID: This property must set to the TransactionID (google-order-number) from the transaction is being PostAuthorize, Refund or Void.

ReferenceNumber: The serial-number that uniquely identifies a Google Checkout notification. This value only populates for PostAuthorize, Void and Refund transaction types.

Tax: Set to a single tax rate or a tax xml schema. The tax xml can be in a file or as a string and must be start and end with <tax-tables> element. See Google checkout docs for more information.

Objcc.Tax = 0.075;

Objcc.Tax ="mytax.xml";

Objcc.Tax = @"<tax-tables>

<default-tax-table>

<tax-rules>

<default-tax-rule>

<rate>0.0775</rate>

<tax-area>

<us-country-area country-area="FULL_50_STATES"/>

</tax-area>

</default-tax-rule>

</tax-rules>

</default-tax-table>

</tax-tables>";

Shipping: Set to a single shipping amount or a shipping xml schema. The shipping xml can be in a file or as a string and must be start and end with <shipping-methods> element. See Google checkout docs for more information.

Objcc.Shipping = 0.075;

Objcc.Shipping ="myShipping.xml";

Objcc.Shipping = @" <shipping-methods>

<flat-rate-shipping name="UPS Ground">

<price currency="USD">4.00</price>

</flat-rate-shipping>

<flat-rate-shipping name="UPS 2nd Day Air">

<price currency="USD">8.20</price>

</flat-rate-shipping>

</shipping-methods>";

2) Handling callback notifications:set Setting property to callback( obj.Setting ="callback") : Like all other processors, Google utilizes .netCHARGE's method in order to determine the success of a transaction but rather than implementing this call in your billing page on your site you use a separate processing page. This page waits to be notified by Google about the transaction's status. AuthCode property shows the type of the notifications. The following Google's notifications are handled by .netCHARGE. In order-state-change-notification, Description property populates the type of change. This is a description of all notification types:

1-new-order-notification: After Google receives the cart, it creates a new order and sends you the new-order-notification. The following properties populated for this notification: TransactionID (google-order-number) ,CustomerID (buyer-id), Amount, Tax and Shipping. The following information from the buyer's shipping address: Address, Address2, City, Company, LastName (contact-name), Country, Email, Fax, Phone, ZipPostalCode and StateProvince.

2-risk-information-notification: After the new order is successfully processed by Google, you will receive the risk-information-notification. This notification includes the customer's billing address, a partial credit card number and other values to help you verify that an order is not fraudulent. Google Checkout sends a risk-information-notification message after completing its risk analysis on a new order. The following properties populated for this notification: TransactionID (google-order-number) ,CustomerID (buyer-id), ClientIP, AvsCode, Code (cvn-response) and CardNumber (partial-cc-number). The following information from the buyer's billing address: Address, Address2, City, Company, CardName (contact-name), Country, Email, Fax, Phone, ZipPostalCode and StateProvince.

Possible values for AvsCode() property are:

Y - Full AVS match (address and postal code)

P - Partial AVS match (postal code only)

A - Partial AVS match (address only)

N - No AVS match

U - AVS not supported by issuer

Possible values for Code property (cvn response) are:

M - CVN match

N - No CVN match

U - CVS not available

E - CVN error

3- charge-amount-notification: Google Checkout sends a charge-amount-notification after successfully executing a charge-order order processing command. You should not assume that Google has charged your customer until you have received the charge-amount-notification. This notification is typically sent within seconds of the corresponding charge-order request. The following properties populated for this notification: TransactionID (google-order-number) ,CustomerID (buyer-id), Amount (latest-charge-amount) and OriginalAmount (total-charge-amount). After receiving this notification, you can call obj.LoadDB("risk-information-notification") to get the customer's billing information or obj.LoadDB("new-order-notification") to get the customer's shipping information.

4- chargeback-amount-notification: Google Checkout sends a chargeback-amount-notification when a customer initiates a chargeback against the order and Google approves the chargeback. The following properties populated for this notification: TransactionID (google-order-number), CustomerID (buyer-id), Amount (latest-chargeback-amount) and OriginalAmount (total-chargeback-amount)

5- refund-amount-notification: Google Checkout sends a refund-amount-notification after successfully executing a refund order transaction. You should not assume that Google has granted a refund until you receive the refund-amount-notification. This notification is typically sent within seconds of the corresponding refund-order request. The following properties populated for this notification: TransactionID (google-order-number), CustomerID (buyer-id), Amount (latest-refund-amount) and OriginalAmount (total-refund-amount)

6- order-state-change-notification: Google Checkout sends an order-state-change-notification message that shows the order can now be charged. . The following properties populated for this notification: TransactionID (google-order-number), CustomerID (buyer-id) and Description. Description property shows the new-financial-order-state which are:

REVIEWING - Google Checkout is reviewing the order.

CHARGEABLE - The order is ready to be charged.

CHARGING - The order is being charged; you may not refund or cancel an order until is the charge is completed.

CHARGED - The order has been successfully charged; if the order was only partially charged, the buyer's account page will reflect the partial charge.

PAYMENT_DECLINED - The charge attempt failed. Charge method return 3.

CANCELLED - The seller canceled the order; an order's financial state cannot be changed after the order is canceled.

CANCELLED_BY_GOOGLE: Google canceled an order. Google may cancel an order if the credit card authorization fails and the customer does not provide a new credit card within 72 hours.

Charge method returns 3 and populate the reason of cancellation in ErrorMessage property.

Add Parameter Usage: Only for advanced users familiar with the Google checkout XML. You can add using AddParameter as follows, it adds inside the <item> element:

Objcc.AddParameter("item/digital-content", "");

Objcc.AddParameter("item/digital-content/display-disposition",

"PESSIMISTIC");

Objcc.AddParameter("item/digital-content/email-delivery", "true");

result in the xml code is:

<item>

...................

<digital-content>

<display-disposition>PESSIMISTIC</display-disposition>

<email-delivery>true</email-delivery>

</digital-content>

You can add any other custom element by passing the path as first

parameter and value in the second parameter of AddParameter method.


HSBC

HSBC

Pricing and service information can be found here. .netCHARGE uses XML API and supports HSBC UK and non UK accounts.

Supported Properties:

Amount Required

AuthCode Optional

Address Optional

AvsCode Optional

City Optional

Code Optional

Company Optional

Country Optional

CustomerID Optional

Email Optional

Fax Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Description Optional

IssueDate Optional

IssueNumber Optional

Login Required

Password Required

Month Required

FirstName Optional

LastName Optional

Number Required

OrderID Optional

PaymentIndicator Optional

Phone Optional

ReferenceNumber Optional

StateProvince Optional

TestMode Optional

Timeout Optional

TransactionID Optional

TransactionType Optional

UserName Required

Year Optional

ZipPostal Optional

Currency Optional

TransactionType: Set to the one of the following transaction types: Sale, Authorize, PostAuthorize, Credit and Void. For PostAuthorize, Credit and Void transactions, set OrderID to the OrderID of the original transaction. For Credit, if there is no original transaction, credit card information should be provided.

Login: Set to the client ID associated with the entity or user submitting the transaction.

UserName: Set to the user ID of the user submitting the transaction.

Password: Set to the password for the user set to the UserName property.

OrderID: Set to a unique string up to 36 characters. If the OrderID is not specified, it will be generated by the Transaction Persistence component (HSBC) using the following formula: AAAAAAAA-BBBB-CDDD-EEEE-FFFFFFFFFFFF

Country: The 3-digit ISO country code (numeric) representing the country. E.g. USA = 840, AUS = 36, CAN= 124, JPN= 392, GBR= 826, EUR=978

PaymentIndicator: Defaults to 1: Payment. Other option is 2: PaymentNoFraud

AvsCode response description:

YY - Address and zip code or postal code match

YN - Address matches only

NY - Zip code or postal code matches

NN - Neither address nor zip code or postal code matches; address is not parsable

UU - Address information is unavailable, service is unavailable, or Error; Unknown

FF - Issuer does not participate in AVS

Blank - No AVS performed

Code (Cvv2) response description:

0 - Card type does not support CVM

1 - CVM match

2 - CVM did not match issuer value

3 - CVM was not processed

4 - CVM should be on the card but cardholder indicated otherwise

5 - CVM not supported by issuer

6 - Not valid

7 - No response from server


Ingenico (Ogone)

Ingenico (Ogone)

 Return to chapter overview

Pricing and service information can be found at http://payment-services.ingenico.com Formerly Ogone http://www.orgone.com

Supported Properties:

Amount Required

AuthCode Optional

Address Optional

AvsCode Optional

BankCode Not Used

BankName Not Used

Certificate Not Used

City Not Used

ClientIP Optional

Code Optional

Country Not Used

Currency Optional

CustomerID Not Used

Email Optional

Description Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Password Required

Month Required

FirstName Optional

LastName Optional

CardName Optional

Number Required

OrderID Optional

Phone Not Used

Setting Not Used

StateProvince Optional

TestMode Optional

Timeout Optional

TransactionID Optional

TransactionType Optional

Year Required

UserName Optional

ZipPostal Optional

-TransactionTypes: authorize, sale, credit. For postauthorize, you should go to administration site and request a payment.

-Login property must set to the affiliation number of the merchant with Ogone DirectLink (PSPID) and Password to the merchant (PSWD) or the user (USERID) with Ogone DirectLink. UserName property is optional, only for merchants

using the User Manager should set USERID.

TransactionKey: Set to SHA-IN pass phrase, to set SHA-IN passphrase: go to "Configuration" > "Technical information" > "Data and origin verification" > "Checks for e-Commerce".

For using .netCHARGE, go to "Configuration" > "Technical information" > “Global security parameters” and check “SHA-256 and “UTF-8”


Innovative

Innovative

Also known as Innovative Merchant Solutions (IMS) or QuickBooks merchant services.

Pricing and service information can be found here.

Supported Properties:

Amount Required

AuthCode Optional

Address Optional

Address2 Optional

AvsCode Optional

City Optional

Code Optional

Country Optional

Email Optional

Fax Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

UserName Required

Password Required

Month Required

CardName Required

Number Required

OrderID Optional

Phone Optional

StateProvince Optional

TransactionID Optional

TestMode Optional

Timeout Optional

TransactionType Optional

Year Required

ZipPostal Optional

UserName: Set to a valid user name given by IGS.

Password: Set to IGS user password.

TransactionType: options include Sale, Authorize, PostAuthorize, Force (voice authorization), Void, and Credit. For PostAuthorize, credit and void you must set the AuthCode and TransactionID to the original transactions AuthCode and TransactionID.


Intellipay

Intellipay

Pricing and service information can be found here.

Supported Properties:

Amount Required

AuthCode Optional

Address Optional

AvsCode Optional

City Optional

Country Optional

CustomerID Optional

Description Optional

Email Optional

Fax Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Password Required

Month Required

FirstName Optional

LastName Optional

Number Required

OrderID Required

Phone Optional

StateProvince Optional

TestMode Optional

Timeout Optional

TransactionID Optional

TransactionType Optional

Year Required

ZipPostal Optional

Supports transaction types of Sale(capture), authorize and Postauthorize. You must set the authcode returned from the the authorized transaction in order to run a postauthorize transaction on it.

AVS Codes:

W 9-digit zip match only

X Address & 9-digit zip match

Y Address & 5-digit zip match

Z 5-digit zip match only

N No match on address or zip

U Domestic address verification unavailable

G Global (international) non-avs participant

R Retry (system unavailable)

S Service not supported by issuer

E Error; service not available for this transaction

Expects a 2 letter country code for country.

OrderID must be numeric and is only required for VISA transactions.

Expects a 2 letter state code for state.


ioNgate

ioNgate

This gateway is no longer offering services and is now deprecated.

Pricing and service information can be found here.

Supported Properties:

Amount | Required
AuthCode | Optional
Address | Required
AvsCode | Optional
BankCode | Not Used
BankName | Not Used
Certificate | Not Used
City | Required
Code | Optional
Country | Optional
CustomerID | Optional
Email | Optional
Server | Optional
ErrorCode | Optional
ErrorMessage | Optional
Login | Required
Password | Not Used
Month | Required
FirstName | Required
LastName | Required
Number | Required
OrderID | Optional
Phone | Optional
Setting | Not Used
StateProvince | Required
TestMode | Not Used
Timeout | Optional
TransactionID | Not Used
TransactionType | Not Used
Year | Required
ZipPostal | Required

State must be 2 digit state code, uppercase.

AVS code result interpretation:

Y - Exact Match.

N - No Match.

A - Address Match only.

Z - Zip Code Match Only.

S - Service Not Supported.

U - Address Information Not Available.

X - Address Information Not Available.

R - Retry - System Unavailable or Timed Out.

W - Zip Code OK.

E - Error Response for Merchant Service Category Code.

G - Country of customer not supported by AVS

For setting the name on the credit card for this company, use the CardName property (for the full name provided by the customer) in place of FirstName and LastName.

Country: Set to 2 digits ISO 3166-1 country code. It is internally converted to the format required by the gateway.


Itransact

Itransact

Pricing and service information can be found here.

Supported Properties:

Amount | Required
AuthCode | Optional
Address | Required
AvsCode | Optional
BankCode | Optional
City | Required
Code | Optional
Country | Required
CustomerID | Optional
Email | Required
Server | Optional
ErrorCode | Optional
ErrorMessage | Optional
Login | Optional
Password | Required
Month | Required
FirstName | Required
LastName | Required
Number | Required
OrderID | Required
Phone | Optional
StateProvince | Optional
Timeout | Optional
TransactionID | Optional
TransactionType | Optional
UserName | Required
Year | Required
ZipPostal | Required

For iTransactXML (XMLTrans2.cgi module) use iTransactxml.aspx, it is a complete credit card and eCheck solutions:

UserName: This value is found (and can be reset) in the Account Settings of the Control Panel on an API enabled account.

Login: (optional) this is the five digit gateway ID number of the account. This field is designed for use with the iTransact Reseller API, but it is an optional field for the Gateway API.

Password: Set to API key

TransactionType: Supports transaction types of Sale, Authorize, Postauthorize, Refund, void, and force (capture). For PostAuthorize, Refund (credit) and Void, the TransactionID must set to the transaction ID of a transaction previously authorized by the gateway. For force set AuthCode for a previous transaction not authorized on the gateway.

PaymentType: CreditCard and Echeck, defaults to CreditCard

iTransactXML supports Echeck: .

BankAccountType: A string value which controls the bank account type. Options are CHECKING and SAVING, default to CHECKING.

Number: Bank Account Number

BankCode: Routing number of the bank.

CardName: Name under which the account is maintained at the bank.

OrganizationType: "personal" or "business".

EcheckType: Type of echeck transactions: CCD, PPD, TEL or WEB. Default is WEB.

OrderID: Set to an arbitrary value, it is set to "Description" parameter because there is no OrderID parameter in iTransactXML.

iTransactXML sets the following properties after a successful transaction:

AuthCode

AvsCode

Code

TransactionID

For simple iTransact method, use Itransact.aspx sample, it only supports sale transaction.


LinkPoint

LinkPoint

Now called FirstData Global Gateway (previously Linkpoint)

Legacy documentation follows:

Pricing and service information can be found here.

Supported Properties:

Amount Required

AuthCode Optional

Address Optional

AvsCode Optional

CardName Optional

City Optional

ClientIP Optional

Code Optional

Country Optional

Company Optional

CustomerID Optional

Description Optional

Email Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Logging Optional

Login Required

Password Not Used

Month Required

Referrer Required

Number Required

OrderID Optional

Phone Optional

Fax Optional

StateProvince Optional

TestMode Optional

Timeout Optional

TransactionID Optional

TransactionType Optional

Year Required

ZipPostal Optional

Supports transaction types of Sale (capture), authorize and postauthorize. For other types like void, refund and credit use the linkpoint admin.

Login:set to your store number provided by linkpoint in merchant's welcome email.

NEW: Recurring Billing

RecurringBilling: Set to True.

StartDate: Beginning date for the recurring billing cycle used to calculate when payments should be made.

BillingCount: Number of payments to be made over the life of the agreement.

Integer value from 1 to 999.

SettleInterval: Specifies the time period between two billings. Use LD format where L is one of the following: d (day), w (week), m (month) or y (year) and D is a number between one and 999. (e.g. 2 weeks: "w2", 1 month: "m1").


LinkPointCOM

LinkPointCOM

RETIRED (this gateway has been retired and may or may not be offered for legacy use by this gateway vendor).

Use LinkPoint instead which uses a new API that does not have a COM dependency.

Pricing and service information can be found here.

Supported Properties:

Amount Required

AuthCode Optional

Address Optional

AvsCode Optional

BankCode Not Used

BankName Not Used

CardName Optional

Certificate Required

City Optional

ClientIP Optional

Code Optional

Country Optional

Company Optional

CustomerID Not Used

Description Optional

Email Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Password Not Used

Month Required

OrderID Required

Phone Optional

Number Required

Referrer Not Used

ReferenceNumber Optional

Setting Optional

StateProvince Optional

TestMode Optional

Timeout Optional

TransactionID Optional

TransactionType Optional

Year Required

ZipPostal Optional

Login: Set to your store number provided by linkpoint in merchant's welcome email.

Transaction Types:

Supports transaction types of Sale (capture), Authorize, PostAuthorize, Void, Refund and Credit. OrderID must be unique for Sale and Authorize transactions. For Void, Refund, and PostAuthorize, OrderID must be set to an OrderID from a prior Sale or Authorized transaction.

Certificate property is required:

This references a certificate file provided by Linkpoint

obj.certificate = "C:\linkpoint\mycert.pem"

LpiCom_6_0.dll must be registered on the server for this processor:

See /bin/readme.txt for additional details.

Other Options:

TransactionOrigin="ecommerce"; //default, moto: mail/telephone order , retail: retail transaction

TestMode: Setting TestMode =true, sends the data to the link point test server "staging.linkpt.net" instead of the production server "secure.linkpt.net". You can also control the result mode in each server by using the Setting property. Set to LIVE for live mode, GOOD for an approved response in test mode, DECLINE for a declined reponse in test mode, or DUPLICATE for a duplicate response in test mode. Defaults to LIVE. You must ensure you account is property setup for each server you wish to process against.

Note: Port 1129 or 1139 must be open for bi directional communication for this gateway.


MCPS

MCPS

Pricing and service information can be found here.

Supported Properties:

Amount | Required
AuthCode | Optional
Address | Optional
AvsCode | Optional
BankCode | Optional
BankName | Optional
Certificate | Not Used
City | Optional
Code | Optional
Country | Optional
CustomerID | Optional
Email | Optional
Server | Optional
ErrorCode | Optional
ErrorMessage | Optional
Login | Required
Password | Required
Month | Required
FirstName | Optional
LastName | Optional
Number | Required
OrderID | Optional
Phone | Optional
Setting | Not Used
StateProvince | Optional
TestMode | Optional
Timeout | Optional
TransactionID | Optional
TransactionType | Optional
Year | Required
ZipPostal | Optional

Supports transaction types of Sale(capture), authorize and postauthorize.

AVS letter explanations:

A = Address (Street) matches, ZIP does not

B = Address Information Not Provided for AVS Check

E = AVS error

G = Non U.S. Card Issuing Bank

N = No Match on Address (Street) or ZIP

P = AVS not applicable for this transaction

R = Retry – System unavailable or timed out

S = Service not supported by issuer

U = Address information is unavailable

W = 9 digit ZIP matches, Address (Street) does not

X = Address (Street) and 9 digit ZIP match

Y = Address (Street) and 5 digit ZIP match

Z = 5 digit ZIP matches, Address (Street) does not

Password is manditory for preauth and postauth transactions


Moneris

Moneris

Moneris: http://www.moneris.com

Supported Properties:

Amount Required

AuthCode Optional

Address Optional

AvsCode Not Used

BankCode Not Used

BankName Not Used

Certificate Not Used

City Optional

Code Not Used

Country Optional

CustomerID Not Used

Email Optional

Description Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Password Required

Month Required

FirstName Optional

LastName Optional

CardName Optional

Number Required

OrderID Required

Phone Optional

Setting Not Used

StateProvince Optional

TestMode Optional

Timeout Optional

TransactionID Optional

TransactionType Optional

ReferenceNumber Optional

UserName Not Used

Year Required

ZipPostal Optional

Transaction Types: Authorize, sale, refund, credit and postauthorize.

-Login: Set to your store id.

-Password: set to your api_token.

-OrderID: - Mechant defined unique transaction identifier upto 99 AlphaNumeric, must be unique for every sale, authorize and Independent credit transaction. For Refund and postauthorize the OrderID must reference the original transaction OrderID.

-TransactionID: For Refund and postauthorize the TransactionID must reference the transaction id of the transaction it is being refund or post authorize.

TransactionOrigin="7"; E-Commerce Indicator defaults to 7 ( SSL - nonSET

enabled merchant) Typically this setting would not be changed.

Other options:

1 - Mail Order/Telephone Order - Single

2 - Mail Order/Telephone Order - Recurring

3 - Mail Order Telephone Order - Installment

4 - Mail Order Telephone Order - Unknown Classification

5 - Authenticated Ecommerce Transaction (VBV, SET, SPA)

6 - SSL - SET enable merchant

7 - SSL - nonSET enabled merchant

8 - Non Secure Transaction (Web or Email Based)

9 - SET nonAuthenticated transaction

Note:

Supports both USD and CAD merchant accounts.

objcc.MerchantCountry = CountryCode.USA; //Default is CAN


NaviGate

NaviGate

Gateway for MerchantPlus. Pricing and service information can be found here.

Supported Properties:

Amount Required

AuthCode Optional

Address Optional

AvsCode Optional

City Optional

ClientIP Optional

Code Optional

Country Optional

CustomerID Optional

Description Optional

Email Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

TransactionKey Required

Password Required

Month Required

FirstName Optional

LastName Optional

Number Required

OrderID Optional

Phone Optional

StateProvince Optional

TestMode Optional

Timeout Optional

TransactionID Optional

TransactionType Optional

Year Required

ZipPostal Optional

Company Optional

Note: You may be provided with a TransactionKey for your account, a Password or both.

Supports transaction types of sale, authorize, postauthorize, refund and void.

AVS letter explanations:

A = Address (Street) matches, ZIP does not

B = Address Information Not Provided for AVS Check

E = AVS error

G = Non U.S. Card Issuing Bank

N = No Match on Address (Street) or ZIP

P = AVS not applicable for this transaction

R = Retry – System unavailable or timed out

S = Service not supported by issuer

U = Address information is unavailable

W = 9 digit ZIP matches, Address (Street) does not

X = Address (Street) and 9 digit ZIP match

Y = Address (Street) and 5 digit ZIP match

Z = 5 digit ZIP matches, Address (Street) does not


NetBilling

NetBilling

Pricing and service information can be found here.

Supported Properties:

Amount | Required
AuthCode | Optional
Address | Optional
AvsCode | Optional
BankCode | Not Used
BankName | Not Used
Certificate | Not Used
City | Optional
Code | Optional
Country | Optional
CustomerID | Not Used
Email | Optional
Server | Optional
ErrorCode | Optional
ErrorMessage | Optional
Login | Required
Password | Not Used
Month | Required
FirstName | Optional
LastName | Optional
Number | Required
OrderID | Not Used
Phone | Optional
Setting | Not Used
StateProvince | Optional
TestMode | Not Used
Timeout | Optional
TransactionID | Optional
TransactionType | Optional
Year | Required
ZipPostal | Optional

Support transaction types of Sale(capture), authorize, postauthorize, credit and refund. TransactionID must set to refund.

For setting the name on the credit card for this company, use the CardName property (for the full name provided by the customer) in place of FirstName and LastName.


OptimalPayments

OptimalPayments

Pricing and service information can be found here.

.netCHARGE uses Optimal's Direct Payment API.

Supported Properties:

Amount Required

AuthCode Optional

Address Required

Address2 Optional

AvsCode Optional

City Required

Code Optional

Country Required

Description Optional

Email Required

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Password Required

Month Required

CardName Optional

Number Required

OrderID Required

Phone Required

ReferenceNumber Optional

StateProvince Required

TestMode Optional

TerminalID Required

Timeout Optional

TransactionID Optional

TransactionType Optional

Year Required

ZipPostal Required

Login: The account transaction processing ID associated with the merchant.

Password:The account transaction processing password associated with the merchant ID specified.

TerminalID: The merchant account against which the request is made. The currency of the transaction is inferred from the account specified. The currency of each account is assigned when it is created.

OrderID: A unique alphanumberic value up to 255 character associated with each request.

TransactionType: Supports transaction types of sale, authorize, postauthorize, void, and credit. For postauthorize and credit set the TransactionID to the original transaction. For void set the TransactionID to the original transaction and ReferenceNumber to the reference number (settleNumber) return from the original transaction.

Code: property is read / write. Before a transaction it should be set to the card code provided by the customer. After a transaction is run it will contain the result of the code (CVV2) validation.

AvsCode result description:

X Exact. Nine-digit zip code and address match.

Y Yes. Five-digit zip code and address match.

A Address matches, but zip code does not.

W Nine-digit zip code matches, but address does not.

Z Five-digit zip code matches, but address does not.

N No part of the address matches.

U Address information is unavailable.

R Retry. System unable to process.

S AVS not supported.

E AVS not supported for this industry.

B AVS not performed.

Q Unknown response from issuer/banknet switch.


PayCom

PayCom

NOTE: This gateway has transitioned to ePoch please see that listing for current usage.

Pricing and service information can be found here.

Supported Properties:

Amount | Required
AuthCode | Optional
Address | Optional
AvsCode | Not Used
BankCode | Not Used
BankName | Not Used
Certificate | Not Used
City | Optional
Code | Not Used
Country | Optional
CustomerID | Not Used
Email | Optional
Server | Optional
ErrorCode | Optional
ErrorMessage | Optional
Login | Required
Password | Required
Month | Required
FirstName | Optional
LastName | Optional
Number | Required
OrderID | Not Used
Phone | Optional
Setting | Not Used
StateProvince | Optional
TestMode | Not Used
Timeout | Optional
TransactionID | Optional
TransactionType | Optional
Year | Required
ZipPostal | Optional

Maximum length of email, 32 characters.

Country must match list provided by processor.

Supported Transaction Types:

1-sale(capture) / captureAVS

2-authorize

3-postauthorize (must pass authcode return from authorize)

4-credit

CaptureAVS requires that the billing address and zip match the details for the card. Using captureavs can result in lower per transaction charges with your bank.

Setting: This value is fixed for each store and is "Character product code" assigned by processor. Zip 5 or 9 digit with no slashes for US.

For setting the name on the credit card for this company, use the CardName property (for the full name provided by the customer) in place of FirstName and LastName.


Payeezy

Payeezy

Note: this was previously called FirstData global Gateway E4

Pricing and service information can be found here.

Supported Properties:

Amount Required

AuthCode Optional

Address Optional

Address2 Optional

AvsCode Optional

CardName Required

City Optional

ClientIP Optional

Code Optional

Country Optional

CustomerID Optional

Email Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Password Required

TransactionKey Required

TerminalID Required

Month Required

Number Required

Phone Optional

StateProvince Optional

TestMode Optional

Timeout Optional

TransactionID Optional

TransactionType Optional

Year Required

ZipPostal Optional

Login: set to your Gateway ID in this format Axxxxx-xx. It is in online account, ECOMM terminal section.

Password: set your Password, minimum 8 digit alphanumeric password that is uniquely associated with each Gateway ID.

TransactionKey: set to HMAC Key, It is in your online account, ECOMM terminal -> API Access section.

TerminalID: set to key id. It is in your online account, ECOMM terminal -> API Access section

Country: 2 digits country code.

AuthCode: populates the return Authorization_Num value which is used when processing a PostAuthorize, refund or Void of the original transaction.

TransactionID: populates the return Transaction_Tag value which is used when processing a PostAuthorize, refund or Void of the original transaction

Supported Transaction Types:

1- Sale (Default)

2- Authorize

3- PostAuthorize: set the AuthCode and TransactionID of the transaction being captured.

4- Void: set the AuthCode and TransactionID of the transaction being voided.

5- Refund: set the AuthCode and TransactionID of the transaction being refunded.

AvsCode: After processing a transaction, AvsCode property has 1 letter showing the result:

Supported AVS Results:

X = exact match, 9 digit zip

Y = exact match, 5 digit zip

A = address match only

W = 9 digit zip match only

Z = 5 digit zip match only

N = no address or zip match

U = address unavailable

G = non-North American issuer, does not participate

R = issuer system unavailable

E = not a Mail\Phone order

S = service not supported

Q = Bill to address did not pass edit checks

D = International street address and postal code match

B = International street address match, postal code not verified due to incompatible formats

C = International street address and postal code not verified due to incompatible formats

P = International postal code match, street address not verified due to incompatible format

1 = Cardholder name matches

2 = Cardholder name, billing address, and postal code match

3 = Cardholder name and billing postal code match

4 = Cardholder name and billing address match

5 = Cardholder name incorrect, billing address and postal code match

6 = Cardholder name incorrect, billing postal code matches

7 = Cardholder name incorrect, billing address matches

8 = Cardholder name, billing address, and postal code are all incorrect

3D Secure Authentication:

ApplySecure3D = 1;//To enable set to 1, otherwise not set

UserName = "136-04"; //Set to Merchant processor identification code. This value is assigned to the Merchant.

MerchantName = "myidcode"; //Set to your Centinel merchant identification code.

AccountID = "password"; // Set to your Centinel Password. A password to secure and verify the transaction originated from Merchant represented by the transaction details. The password value is configured through the Merchant profile

MerchantUrl = "http://yourdomain/dotnetcharge/FirstDataGlobalGatewaye4.aspx";

TransactionOrigin: (Optional) Specifies the order channel where the transaction was initiated.

The Payer Authentication program "Learn More" logos are required to be placed on the payment details page of the checkout process.

For more information visit: http://www.cardinalcommerce.com to processes the 3D secure validation for First Data Global Gateway.


PayFlowLink

PayFlowLink

Pricing and service information can be found here.

NOTE: PayFlow products were sold to PayPal from Versign. This was previously known as Verisign PayFlowLink

Supported Properties:

Amount | Required
AuthCode | Optional
Address | Optional
AvsCode | Optional
BankCode | Not Used
BankName | Not Used
Certificate | Not Used
City | Optional
Code | Optional
Country | Optional
CustomerID | Not Used
Description | Optional
Email | Optional
Fax | Optional
Server | Optional
ErrorCode | Not Used
ErrorMessage | Optional
Login | Required
Password | Not Used
Month | Required
FirstName | Optional
LastName | Optional
Number | Required
OrderID | Optional
Phone | Optional
Setting | Optional
StateProvince | Optional
TestMode | Not Used
Timeout | Optional
TransactionID | Not Used
TransactionType | Optional
Year | Required
ZipPostal | Optional

Support transaction types of Sale, authorize and postauthorize.

TransactionID must set to the TransactionID returned from a previously authorized transaction when using PostAuthorize.

Code (Cvv2) response description:

Y : The submitted value matches the data on file.

N : The submitted value does not match the data on file.

X : The cardholder's bank does not support this service.


PayFlowPro

PayFlowPro

Pricing and service information can be found here. Payflowpro was previously offered by Verisign and is now offered by PayPal. This implementation is native and does not have any COM dll dependencies.

NEW: Support for US, CA and UK merchants.

Supported Properties:

Amount Required

AuthCode Optional

Address Optional

AvsCode Optional

Certificate Not used

City Optional

Code Optional

Company Optional

Country Optional

CustomerID Optional

Description Optional

Email Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Password Required

Month Required

CardName Optional

FirstName Optional

LastName Optional

Number Required

OrderID Optional

ReferenceNumber Required

Partner Optional

StateProvince Optional

TestMode Optional

Timeout Optional

TransactionID Optional

TransactionType Optional

Year Required

ZipPostal Optional

Supports transaction types of Sale, authorize, postauthorize, credit, refund, void, NEW: PreAuthorize ($0 amount authorization) . If you just want to hold the funds and charge them later, you can authorize and then postauthorize later.

Login: Your merchant login ID that you created when you registered for the Payflow Pro account.

Password: The 6- to 32-character password that you defined while registering for the account. This value is case-sensitive.

UserName: If you set up one or more additional users on the account, this value is the ID of the user authorized to process transactions. If, however, you have not set up additional users on the account, USER has the same value as Login (VENDOR)

This value is case-sensitive.

Partner: The ID provided to you by the authorized PayPal Reseller who registered you for the Payflow Pro service. If you purchased your account directly from PayPal, use PayPal. This value is case-sensitive.

ReferenceNumber: A unique string up to 32 printable characters. This unique value identifies this request from this merchant to prevent duplicate transaction. This property is automatically set if the value is not provided.

TransactionID must set to the return value from a previously authorize or sale transaction for postAuthorize, refund and void transaction types.

Code property is read / writes. Before a transaction it should be set to the card code provided by the customer. After a transaction is run it will contain the result of the code (CVV2) validation.

AuthCode: Populate the AUTHCODE parameter.

AvsCode: has maximum 3 letters with the following meaning - AVS compares the submitted street address and postal code with the values on file at the cardholder.s bank. The response includes values for AVSADDR and AVSZIP (First 2 letters in AvsCode property) Y = match, N = no match, X = cardholders bank does not support AVS. The 3rd letter in AvsCode property is The International AVS response (IAVS) indicates whether AVS response is international (Y), USA (N), or cannot be determined (X).

Since version 4.0.1714, if a response value doesn't exist for one of these three: AVSADDR, AVSZIP or IAVS, a space is inserted in that position.

NEW- Echeck

Number: Magnetic Ink Check Reader. This is the entire line of numbers at the bottom of all checks. It includes the transit number, account number, and check number.

Code: Account holder's next unused (available) check number

OrganizationType: P for personal (default) or C for company. If personal, then a value for either DL Proprety should set to Driver's License Number and DLState set to State code or TaxID property set to Social Security Number (SSN) as an identifier.

For company the TaxID proprety should set to Federal Tax ID.

TransactionType: Sale (default) and Void. TransactionID must set to the return value from a previously authorize or sale transaction for void transaction type.

AuthCode: HOSTCODE populated in AuthCode property.

TransactionID: PNREF populated in TransactionID property.

NEW- Recurring Billing

RecurringBilling: Set to True.

AccountID: Set to the name for the profile (user-specified). Can be used to search for a profile. In response, PROFILEID populated in AccountID property.

StartDate: Beginning date for the recurring billing cycle used to calculate when payments should be made. Use tomorrow's date or a date in the future.

BillingCount: Number of payments to be made over the life of the agreement.

A value of 0 means that payments should continue until the profile is deactivated.

SettleInterval: Specifies how often the payment occurs, set to one of the following four characters values:

WEEK: Every week on the same day of the week as the first payment.

BIWK: Every Two Weeks - Every other week on the same day of the week as the first payment.

SMMO: Twice Every Month - The 1st and 15th of the month. Results in 24 payments per year. SMMO can start on 1st to 15th of the month, second payment 15 days later or on the last day of the month.

FRWK: Every Four Weeks - Every 28 days from the previous payment date beginning with the first payment date. Results in 13 payments per year.

MONT: Every month on the same date as the first payment. Results in 12 payments per year.

QTER: Quarterly - Every three months on the same date as the first payment.

SMYR: Twice Every Year - Every six months on the same date as the first payment.

YEAR: Yearly - Every 12 months on the same date as the first payment.

Note: Recurring billing transaction adds a new recurring billing by default. You can set TransactionType property to other string value for setting Action parameter.

PayflowProExpress

Note: PayflowPro may require that if you use this gateway you also offer users of your web site the option to use PayflowPro Express. Contact PayPal for information on the specific business rule (non technical) requirements for their services.

Express Checkout allows your customers to complete transactions in very few steps. It lets them use shipping and billing information stored securely at PayPal to check out, so they don't have to re-enter it on your site.

Data flow: After customers complete their shopping in your website, by pressing 'Checkout by PayPal', the customers will be redirected to PayPal PayflowPro website, where they login to their account and confirm the billing and shipping information. They will be returned to the paypalexpresspayment.aspx page which was set already to MerchantUrl property.

The customers can review their orders and make payment through their PayPal account in your website.

Properties' Description:

Login: Your merchant login ID that you created when you registered for the Payflow Pro account.

Password: The 6- to 32-character password that you defined while registering for the account. This value is case-sensitive.

UserName: If you set up one or more additional users on the account, this value is the ID of the user authorized to process transactions. If, however, you have not set up additional users on the account, USER has the same value as Login (VENDOR)

This value is case-sensitive.

Partner: The ID provided to you by the authorized PayPal Reseller who registered you for the Payflow Pro service. If you purchased your account directly from PayPal, use PayPal. This value is case-sensitive.

MerchantUrl: Set to the return URL. Return URL is the URL to where the buyer will be directed after choosing a funding source and ship to address out of their PayPal account.

ObjCC.MerchantUrl ="http://yourdomain.com//payflowproexpresspayment.aspx"

CancelUrl: Set to the URL where you would like to send your customers if they cancel their orders.

ObjCC.CancelUrl ="http://yourdomain.com//payflowproexpress.aspx"

Setting: Determine the action through the express payment process .Set to one of the following options: SetExpressCheckout, GetExpressCheckoutDetails, or DoExpressCheckoutPayment.

SetExpressCheckout and GetExpressCheckoutDetails usually are set by default.

Amount: Set to the order's amount. This value must be set before calling Charge method with SetExpressCheckout or DoExpressCheckoutPayment setting.

CustomerID: Unique PayPal PayflowPro customer account number (PAYERID) which is populated to the CustomerID property in GetExpressCheckoutDetails step and must be set this value to CustomerID property before calling Charge method with DoExpressCheckoutPayment setting.

TransactionID: A time stamped token by which you identify to PayPal PayflowPro that you are processing this payment with Express Checkout. This value is populated to the TransactionID property in SetExpressCheckout step and must be set this value to TransactionID property before calling Charge method with DoExpressCheckoutPayment setting. This value exists in the query string returns from PayflowPro.

Description: Order's description which is set at the beginning in SetExpressCheckout setting.

OrderID: Order's Invoice number which is set at the beginning in SetExpressCheckout setting and populated in GetExpressCheckoutDetails setting.

FirstName: The buyer's first name which is populated after processing GetExpressCheckoutDetails setting.

LastName: The buyer's last name which is populated after processing GetExpressCheckoutDetails setting.

Email: The buyer's email which is populated after processing GetExpressCheckoutDetails setting.

AuthCode: Populate the PPREF parameter after completing payment (DoExpressCheckoutPayment) process.

TestMode: Set to true when using the test server, otherwise false.

Shipping Address: The buyer's address information which is populated after processing GetExpressCheckoutDetails setting.You can set Address, City, ZipPostal, StateProvince and Country properties in SetExpressCheckout to override the buyer's shipping information in their PayPal account.

Important Note: If you use the include database, Amount and CustomerID are automatically saved and loaded from the database through the payment process, otherwise you have to set these properties in the payment process.

For more information see PayPalProExpress.aspx and PayPalExpressPayment.aspx.


Paymentech Native

Paymentech Native

NetConnect: http://www.paymentech.net

Since Jan 2016 Chase (who purchased Paymentech) requires merchant certification on top of .netCHARGE certification already completed. Contact chase for specific requirements, though no development is required as .netCHARGE has been validated against the latest specification and is in production usage.

Supported Properties:

Amount Required

AuthCode Optional

Address Optional

AvsCode Optional

BankCode Not Used

BankName Not Used

Certificate Not Used

City Optional

Code Optional

Country Not Used

CustomerID Not Used

Email Not Used

Description Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Password Required

Month Required

FirstName Not Used

LastName Not Used

CardName Not Used

Number Required

OrderID Optional

Phone Not Used

Setting Not Used

StateProvince Not Used

TestMode Optional

Timeout Optional

TransactionID Optional

TransactionType Optional

TerminalNumber Required

UserName Required

Year Required

ZipPostal Optional

Note: You must configure your account with Paymentech Native (NetConnect) for HCS (Host Capture setting) and "Host Auto Close" to work with .netCHARGE. In order for the merchant's batch to be included in the Paymentech Host Auto Close process, the merchant parameter file on the host must indicate that the merchant is Auto Close."

Transaction Types: Authorize, sale, refund, void, reversal and postauthorize.

-Login is the 12 digit PNS Merchant ID. This value is assigned by Paymentech.

-Password is the NetConnect Password for the Merchant's account. This value is provided by Paymentech. Passwords are 8- 32 characters in length and must contain at least one numeric entry.

-TerminalNumber is the 1-3 digit PNS Terminal ID. This value is assigned by Paymentech.

-UserName is the NetConnect user name for the Merchant's account. This value is provided by Paymentech. Usernames are 8-32 characters in length.

-AuthCode property only set for reversal and postauthorize transaction types and it is the auth code of the already authorized transaction.

-TransactionID property only set for void. Set it to the transactionid of the transaction you wish to void.

NetConnect is USD only for US merchants only. See also Paymentech's Orbital Gateway offering which also supports CDN merchants and currency.


Paymentech Orbital

Paymentech Orbital

PaymentTechOrbital: http://www.paymentech.net

NEW updates with XML Orbital version 7.0

Since Jan 2016 Chase (who purchased Paymentech) requires merchant certification on top of .netCHARGE certification already completed. Contact chase for specific requirements, though no development is required as .netCHARGE has been validated against the latest specification and is in production usage.

Supported Properties:

Amount Required

AuthCode Optional

Address Optional

Address2 Optional

AvsCode Optional

BankCode Optional

BankAcountType Optional

City Optional

Code Optional

Country Optional

Currency Optional

Description Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Password Optional

Month Required

CardName Required

Number Required

OrderID Optional

RecurringBilling Optional

StateProvince Optional

TestMode Optional

TerminalID Optional

Timeout Optional

TransactionID Optional

TransactionType Optional

Year Required

ZipPostal Optional

Note: You must configure your account with Paymentech Orbital for "End of Day Autosettle" to work with .netCHARGE.

Transaction Types: Authorize, sale, refund, void, reversal, force, preAuthorize ($0 amount authorization) and postauthorize. For Void, Return and PostAuthorize, OrderID and TransactionID must set to the TransactionID returns from the original transaction. For Return, the original credit card number can be used instead of TransactionID.

Partial approval support: By setting AllowPartialAuthorization to true, the authorization can be split if there are insufficient funds to authorize the full amount. In this case, Charge method still returns 1, but the requested amount is set to OriginalAmount property and the partial approval amount is set to Amount property. Therefore, for checking whether the transaction fully or partially approved, just check if OriginalAmount > 0, if yes, get the approval amount from Amount property.

Login: property is your merchant id.

Password: This field is used to set platform's bin number. Salem Platform is "000001" and Tampa platform is "000002", default is "000002".

UserName: It is required only if merchant is not set up for IP-based authentication. Set it to Orbital Connection Username and Password in this format: "OrbitalConnectionUsername;OrbitalConnectionPassword".

TerminalID: Merchant Terminal ID assigned by Paymentech. If not set, it is set to "001".

AuthCode: property only set for force transaction type.

Amount: should not set for full amount void transaction.

TransactionID: set from the original transaction value returned if processing a void, reversal, refund or postauthorize. For refund, credit card information can be submitted instead of transactionID.

CardName:For setting the name on the credit card for this company, use the CardName property (for the full name provided by the customer) in place of FirstName and LastName.

Country: One of these 4 country codes. UK, GB, CA or US.

Currency: One of these 4 CurrencyCodes. EUR, GBP, CAD or USD currency code, default is USD.

MerchantName: The Merchant Name field should be what is most recognizable to the cardholder [Company name or trade name]. See credit card statement message customization below for more information on accepted values and size limitations.

CardType: It is set internally by checking the provided credit card number programmatically, but you can set it explicitly if you wish. For European Direct Debit, set CardType to "ED" and PaymentType to PaymentType.Echeck

AuthenticationIndicator: Only required for International Maestro and Switch. Options are: 5 Authenticated Transaction and 6: Attempted Authentication. When it is set to 5, the 14 characters Accountholder Authentication Value must be set to CAVV property.

OrderID: up to 22 alphanumeric characters and the first 8 characters should be unique for each transaction. If it is not set, it is generated by .netCHARGE.

Paymentech Orbital Echeck: This method of payment is only available to Salem platform merchants.

PaymentType = PaymentType.Echeck

BankCode: Bank routing and transit number for the customer. All US Bank Routing Numbers are 9 digits and All Canadian Bank Routing Numbers are 8 Digits. For European Direct Debit, it is Bank Sort Code.

BankAccountType: Default is "C". Other options are:

C - Consumer Checking [US or Canadian]

S - Consumer Savings [US Only]

X - Commercial Checking [US Only]

Number: Customer DDA account number

Common error and resolution:

ErrorCode:protocolerror

ErrorMessage: remote server returned an error (412) precondition failed

Resolution: Add your servers IP address to the Paymentech gateway. This is required before it will accept communication from it.

Credit card statement message customization (advanced):

Salem:

- CREDIT - Three options, which conditionally affects the Description [see below]:

Max 3 bytes, Max 7 bytes or Max 12 bytes

- ECheck: Max 15 bytes

Tampa: Max 25 bytes.

Description: Product description.

Salem:

- CREDIT:

If MerchantName = 3 bytes - then Max = 18 bytes

If MerchantName = 7 bytes - then Max = 14 bytes

If MerchantName = 12 bytes - then Max = 9 bytes

- ECheck: 10 bytes Max

Tampa:

- This field will not show on Cardholder statements for Tampa Merchants.

If MerchantName is set, one of the following propreties (MerchantPhone, MerchantEmail or MerchantUrl) must be set.

MerchantPhone: Customer Service Phone Number in this format: xxx-xxxxxxx or xxx-xxx-xxxx

MerchantEmail: Merchant email.

MerchantUrl: Merchant Url.

Recurring Billing: In order to perform a recurring transaction, the Managed Billing feature should be enabled for the account.

Recurring billings bill cardholders for future payments according to a predefined schedule.

Recurring billings can be configured to happen on a weekly, monthly,

or yearly basis. It only creates a profile while processing an Authorize or Sale transaction. If the authorization for the credit card has been declined, the new created profile would be deleted automatically, but the AccountID (profileID) for the deleted profile can not be used anymore. A profile can be deleted by setting the profileID to the AccountID property and TransactionType to Cancel. For updating a profile, you have to use the online Orbital Recurring and Managed Billing system.

Required properties:

RecurringBilling: Set to True.

AccountID: Set to the name for the profile (user-specified). If it is not set, a new profileID is generated and in response, it is set to AccountID.

StartDate: Beginning date for the recurring billing cycle used to calculate when payments should be made. Use tomorrow's date or a date in the future.

BillingCount: Number of payments to be made over the life of the agreement. Valid values: 1–999999

SettleInterval: Specifies how often the payment occurs, the value pattern is a subset of a standard CRON expression, comprising 3 fields separated by white space:

Field Allowed Values Allowed Special Chars

Day-of-month 1–31 , - * ? / L W

Month 1–12 or JAN–DEC , - * /

Day-of-week 1–7 or SUN–SAT , - * ? / L #

Examples:

Weekly: Every Monday = "? * MON", Every Sunday, June through August="? JUN-AUG SUN"

Monthly: First day of each month = "1 * ?", Last Friday of every month = "? * FRIL"

Yearly: 1st of January = "1 JAN ?", 1st weekday of January = "1W JAN ?"

Note: Orbital platforms Tampa and Salem both support different currencies and have been certified for USD, CAN, GBP and EUR with .netCHARGE. .netCHARGE uses Direct Programming v. 5.2 - xml and supports both Salem platform and Tampa (PNS) platform.

Certification from Paymentech now includes Account Verification for Visa and MasterCard ( Amount $0). For other card types, Paymentech suggests to use amount 0.01.


PayPal

PayPal

Pricing and service information can be found here.

PayPal website payments standard support has been added since this payment option remains popular as there are no setup fees and it can be used without having an SSL certificate for your site. It allows individuals and small merchants to process credit card payments quickly and easily with manageable per transaction fees. As your ecommerce implementation grows you will likely want to setup your own merchant account, acquire an SSL certificate for your site and move to PayPal Pro or one of the other supported processors so that your site visitors can remain within your stores site during payment processing.

.netCHARGE includes 2 samples for integrating with PayPal Website:

1) PaypalForm.html: This simple html pages demonstrates how the merchants can setup their account email, image URL, return URL, Cancel URL and Currency code in admin settings section and the customer's information in customer's section and passing the data to paypal regarding your customers transaction. Setting the appropriate properties will pre-populate the paypal signup form and include details on the correct charge amount and order Id being paid for. The admin setting fields would typically be hidden in a live merchant's website. The form can be directly customized and integrated in your site as you wish.

2) Charge Method: Like all other processors, PayPal utilizes .netCHARGE's charge() method in order to determine the success of a transaction but rather than implementing this call in your billing page on your site you use a separate processing page. This page waits to be notified by PayPal that your transaction is complete and the charge method returns success or failure. In the case of failure for a given transaction all is not lost since a transaction can be pending (for example an echeck waiting to be cleared). In such a case another notification will occur with a success or failure at a later date. The key thing to note here is that the user leaves your site with the form and is directed to PayPal's secure site where they provide payment details and complete the transaction, you don't know if the payment is made or if it is successful until the automated system from PayPal sends a message to your configured postback page (paypal.aspx) which indicates success or failure. In this page you would put your billing processing logic that takes action on the success of payment being made for the order.

See the included samples: paypal.aspx and paypalform.html to see how simple it is to use paypal's IPN system with .netCHARGE.

Supported Properties:

Amount Optional

AuthCode Optional

Address Optional

AvsCode Not Used

BankCode Not Used

BankName Not Used

Certificate Not Used

City Optional

Code Not Used

Country Not Used

CustomerID Not Used

Email Not Used

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Password Not Used

Month Optional

FirstName Optional

LastName Optional

Number Optional

OrderID Optional

Phone Optional

StateProvince Optional

TestMode Optional

Timeout Optional

TransactionID Optional

TransactionType Not Used

Year Optional

ZipPostal Optional

Sample Usage:

1-Process description: Gather information from your client and post to paypal site. After the client completes her payment, the paypal system posts back to paypal.aspx automatically and .netCHARGE processes the result, returning 1 for success and 3 for failure.

2-To set paypal.aspx in your paypal account, in the PayPal Profile tab, follow "Instant Payment Notification Preferences" line and check the "Instant Payment Notification(IPN)" checkbox and specify a full URL to the paypal.aspx page in your site. e.g. (http://yourdomain.com/paypal.aspx)

3-Paypalform.html:

-The admin settings must be set to your account's information and usually they are set as hidden fields so they would not be visible to the users making payments on your site.

-As you can see in this page, it has a form which posts to "https://www.paypal.com/cgi-bin/webscr" after a client pushes the "Pay" button.

A merchant that wants to accept payments pay through paypal must have an account with paypal and if she doesn't, can sign up for a free paypal account through the paypal sandbox website. (https://www.sandbox.paypal.com/cgi-bin/webscr) .For testing Paypalform.html with the paypal sandbox, please change the action URL to https://www.sandbox.paypal.com/cgi-bin/webscr.

4-PayPal.aspx:

-set Objcc.Login ="yourvalidemail@domain.com"; //Please enter your login id (email address).

It also populates the following properties if the associated value returns from Paypal:

OrderID, Amount, FirstName, LastName, Address, Country, City, State, ZipPostal, Email, CustomerID, Company, AvsCode (from address_status variable with Confirmed or Unconfirmed values), ErrorCode (this property is populated from payment_status if the value is not 'Completed'), AuthCode (from auth_id, if payment_status is 'completed' but there is no value for auth_id, it is set to 'SUCCESS').

For getting other variables returned from paypal IPN service but not populated in .netCHARGE properties by default, you can use GetParameter method:

Page.Response.Write("<br>residence_country: " + Objcc.GetParameter("residence_country"));

For more information please see paypal.aspx and paypalform.html samples in the bundle.


PayPalAdvanced

PayPalAdvanced

PayPal Payments Advanced:

Pricing and service information can be found here. With PayPal Payments Advanced customers stay on your site for the entire checkout process with this all-in-one payment option while meeting security requirements.

• Accept credit card payments without requiring the buyer to have a PayPal account
• Integrates direct card payments and PayPal payments in a single payment-processor solution
• Get PayPal's industry-leading security & fraud-prevention systems including Advanced Fraud Management Filters
• Take advantage of comprehensive PayPal's online reports that help you measure sales and manage your business easily.
• Currently available to Merchants in the US

Data flow: After customers complete their shopping, in payment page the PayPal template C is displayed. This template can be customized in your PayPal account manager (see #11 in the next section). The customers have options to make payment using 'Checkout with PayPal', "Checkout BillMelater" or pay with any credit or debit card. The customers selecting the first or second options will be redirected to PayPal PayflowPro website, where they login to their account and confirm the billing and shipping information. They will be returned to the PayPalAdvancedpayment.aspx page which was set already to MerchantUrl property. But the customers using the 3rd option to pay with their own credit or debit card, after entering their card information and click pay, the information is submitted to PayPal in the background and the result is displayed in the same page in your website. The customers can review their orders and make payment through their PayPal account in your website.

Account Setup in PayPal Website:

1. Go to the PayPal Payments Advanced website to register for PayPal Payments Advanced if you haven't already; Approval may take up to 2 business days.

2. Log into your PayPal Manager account for PayPal Payments Advanced

3. Click Service Settings at the top of the page

4. Under Hosted Checkout Pages, click Set Up

5. Most of the settings on this page should not be changed; they are either correct at their default settings

6. Set Transaction Process Mode: Live

7. Under the section Silent Post for Data Transfer, set Use Silent Post: YES

8. Check the box for Void transaction when my server fails to receive data sent by the silent post.

9. Under Security Options: Set Enable Secure Token: YES.

10. Scroll to the bottom and click Save Changes

11. Under Hosted Checkout Pages, click Customize, Click Layout C, Click Save and Publish.

Supported Properties:

Amount Required

AuthCode Optional

Address Optional

AvsCode Optional

City Optional

Code Optional

Company Optional

Country Optional

Company Optional

CustomerID Optional

Description Optional

Email Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Password Required

FirstName Optional

LastName Optional

OrderID Optional

CancelUrl Required

MerachantUrl Required

Partner Optional

Phone Optional

Server Optional

StateProvince Optional

TestMode Optional

Timeout Optional

TransactionID Optional

TransactionType Optional

ZipPostal Optional

Supports transaction types of Sale, Authorize, PostAuthorize, Credit, Refund, void, and PreAuthorize ($0 amount authorization) . If you just want to hold the funds and charge them later, you can authorize and then postauthorize later. Template C only used for Sale, Authorize and PreAuthorize, for other transaction types, use PayPalAdvancedPayment.aspx directly.

Login: Your merchant login ID that you created when you registered for the PayPal Payflow account.

Password: The 6- to 32-character password that you defined while registering for the account. This value is case-sensitive.

UserName: If you set up one or more additional users on the account, this value is the ID of the user authorized to process transactions. If, however, you have not set up additional users on the account, USER has the same value as Login (VENDOR)

This value is case-sensitive.

Partner: The ID provided to you by the authorized PayPal Reseller who registered you for the Payflow Pro service. If you purchased your account directly from PayPal, use PayPal. This value is case-sensitive.

Server: It populates the src value for template C in iframe after calling Charge method.

MerchantUrl: Set to the return URL. Return URL is the URL to where the buyer will be directed after choosing a funding source and ship to address out of their PayPal account, or background response when using their own credit or debit card. (Template C)

ObjCC.MerchantUrl ="http://yourdomain.com/PayPalAdvancedpayment.aspx"

CancelUrl: Set to the URL where you would like to send your customers if they cancel their orders.

ObjCC.CancelUrl ="http://yourdomain.com/PayPalAdvanced.aspx"

TransactionID must set to the return value from a previously authorize or sale transaction for postAuthorize, refund and void transaction types.

Code property is read / writes. Before a transaction it should be set to the card code provided by the customer. After a transaction is run it will contain the result of the code (CVV2) validation.

AuthCode: Populate the AUTHCODE parameter.

AvsCode: has maximum 3 letters with the following meaning - AVS compares the submitted street address and postal code with the values on file at the cardholder.s bank. The response includes values for AVSADDR and AVSZIP (First 2 letters in AvsCode property) Y = match, N = no match, X = cardholders bank does not support AVS. The 3rd letter in AvsCode property is The International AVS response (IAVS) indicates whether AVS response is international (Y), USA (N), or cannot be determined (X). If a response value doesn't exist for one of these three: AVSADDR, AVSZIP or IAVS, a space is inserted in that position.


PayPalPro

PayPalPro

Pricing and service information can be found here. (see merchant tools, web site payments pro).

Supported Properties:

Amount Required

AuthCode Optional

Address Required

Address2 Optional

AvsCode Optional

City Required

ClientIP Optional

Code Optional

Country Required

Currency Optional

CustomerID Optional

Description Optional

Email Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Password Required

Certificate Required

Month Required

FirstName Required

LastName Required

Number Required

OrderID Optional

Server Optional

Setting Optional

StateProvince Required

TestMode Optional

Timeout Optional

TransactionID Optional

TransactionType Optional

Year Required

ZipPostal Required

Login: Your API username, which is auto-generated by PayPal when you apply for a API Signature to use the PayPal Web Services API. You can see this value on https://www.paypal.com/ in your Profile under API Access > Request API Credentials.

Objcc.Login = "name_api1.mydomain.com"

Password: Your API password, which you specify when you apply for an API Signature to use the PayPal Web Services API.

Objcc.Password = "UNDVYX1PYC8R9PBW"

Certificate: Your API Signature. You can see this value on https://www.paypal.com/ in your Profile under API Access > Request API Credentials.

ObjCC.Certificate = "DL-V4IsrtvUqweMtAgcmFoz0-A-1ABfWa-Z5gPpHNf4OpwaHq5xVGP7u"

Follow these steps to generate your API Signature. If you are testing with a Sandbox account, repeat these steps for both your Sandbox and Live accounts. We recommend opening a separate web browser to perform these steps.

1. Log in to your PayPal Business account.

2. Click the Profile sub tab located in the top navigation area.

3. Click the API Access link under the Account Information header.

4. Click the Get Started link under the Request API Credentials heading.

5. Click the API signature radio button under the Credential Type heading.

6. Complete the API Credential Request form by clicking the agreement checkbox and clicking submit.

Setting: (optional) the email address of a third-party for whom you are sending requests to the PayPal Web Services API. Your API username must have be granted permission by this third-party to make any particular PayPal API request.

Country: Set to the two-character country codes defined by International Standards Organization (ISO) 3166.

TransactionType: options are Sale, Authorize, PostAuthorize, Void, and Refund.

For a PostAuthorize transaction, set the TransactionID to the TransactionID of the original authorized transaction and set the amount you want to capture. If the amount is less than the original authorized amount, you can set the OriginalAmount property to the authorized amount to prevent voiding the remaining amount; otherwise the remaining amount will be voided automatically. Description setting is optional.

For Void transaction set the TransactionID to the TransactionID of the original authorized transaction. Description setting is optional.

For Refund transaction, set the TransactionID to the TransactionID of the original payment, and the amount should be set if it is a partial refund. Description setting is optional.

IssueNumber: For UK Users.

IssueDate: For UK users.

CardType: It is set internally by using credit card number, but you can set it explicitly if you wish to override the automated setting.

AvsCode result description:

A: Address, Address only (no ZIP)

B: International "A", Address only (no ZIP)

C: International "N", None

D International "X", Address and Postal Code

E: Not allowed for MOTO (Internet/Phone) transactions

F: UK-specific "X", Address and Postal Code

G: Global Unavailable

I: International Unavailable

N: No, None

P: Postal (International "Z"), Postal Code only (no Address)

R: Retry

S: Service not supported

U: Unavailable

W: Whole ZIP, Nine-digit ZIP code (no Address)

X: Exact match, Address and nine-digit ZIP code

Y: Yes Address and five-digit ZIP

Z: ZIP, Five-digit ZIP code (no Address)

All others: Error

CVV2 code result description:

M: Match CVV2

N: No match

P: Not Processed

S: Service not supported

U: Unavailable

X: No response

All others: Error

PayPalProExpress

Note: PayPal requires that if you use this Pro direct support you also offer users of your web site the option to use PayPal Express. Contact PayPal for information on the specific business rule (non technical) requirements for their services.

Express Checkout allows your customers to complete transactions in very few steps. It lets them use shipping and billing information stored securely at PayPal to check out, so they don't have to re-enter it on your site. Users will redirect to paypal when using PayPalProExpress. If users elect to use PayPalPro instead they will remain within your site.

Data flow: After customers complete their shopping in your website, by pressing 'Checkout by PayPal', the customers will be redirected to PayPal website, where they login to their account and confirm the billing and shipping information. They will be returned to the paypalexpresspayment.aspx page which was set already to MerchantUrl property.

The customers can review their orders and make payment through their PayPal account in your website.

Properties' Description:

Login: Your API username, which is auto-generated by PayPal when you apply for a API Signature to use the PayPal Web Services API. You can see this value on https://www.paypal.com/ in your Profile under API Access > Request API Credentials.

Objcc.Login = "name_api1.mydomain.com"

Password: Your API password, which you specify when you apply for an API Signature to use the PayPal Web Services API.

Objcc.Password = "UNDVYX1PYC8R9PBW"

Certificate: Your API Signature. You can see this value on https://www.paypal.com/ in your Profile under API Access > Request API Credentials.

ObjCC.Certificate = "DL-V4IsrtvUqweMtAgcmFoz0-A-1ABfWa-Z5gPpHNf4OpwaHq5xVGP7u"

MerchantUrl: Set to the return URL. Return URL is the URL to where the buyer will be directed after choosing a funding source and ship to address out of their PayPal account.

ObjCC.MerchantUrl ="http://yourdomain.com//paypalexpresspayment.aspx"

CancelUrl: Set to the URL where you would like to send your customers if they cancel their orders.

ObjCC.CancelUrl ="http://yourdomain.com//paypalproexpress.aspx"

Setting: Determine the action through the express payment process .Set to one of the following options: SetExpressCheckout, GetExpressCheckoutDetails, or DoExpressCheckoutPayment.

SetExpressCheckout and GetExpressCheckoutDetails usually are set by default.

Amount: Set to the order's amount. This value must be set before calling Charge method with SetExpressCheckout or DoExpressCheckoutPayment setting.

CustomerID: Unique PayPal customer account number (PAYERID) which is populated to the CustomerID property in GetExpressCheckoutDetails step and must be set this value to CustomerID property before calling Charge method with DoExpressCheckoutPayment setting.

TransactionType: options are Sale, Authorize, PostAuthorize. For Authoirze / PostAuthorize transaction, you must set the TransactionType property to Authorize in both paypalProExpress.aspx and paypalProExpressPayment.aspx. The process is same as Sale, but in PayPal admin, orders overview, the status is "Pending" and the type is "Authorization". Then, there are 2 ways to capture a previously authorized transaction. The first method is to use the PayPal web admin interface to capture and complete the transaction. The second method is to use PayPalPro.aspx page, set TransactionType to PostAuthorize and set the TransactionID to the AuthCode of the original authorized transaction and set the amount you want to capture. If the amount is less than the original authorized amount, you can set the OriginalAmount property to the authorized amount to prevent voiding the remaining amount; otherwise the remaining amount will be voided automatically.

TransactionID: A time stamped token by which you identify to PayPal that you are processing this payment with Express Checkout. This value is populated to the TransactionID property in SetExpressCheckout step and must be set this value to TransactionID property before calling Charge method with DoExpressCheckoutPayment setting. This value exists in the query string returns from PayPal.

Description: Order's description which is set at the beginning in SetExpressCheckout setting.

OrderID: Order's Invoice ID which is set at the beginning in SetExpressCheckout setting and populated in GetExpressCheckoutDetails setting.

FirstName: The buyer's first name which is populated after processing GetExpressCheckoutDetails setting.

LastName: The buyer's last name which is populated after processing GetExpressCheckoutDetails setting.

Email: The buyer's email which is populated after processing GetExpressCheckoutDetails setting.

TestMode: Set to true when using the sandbox test server, otherwise false.

Shipping Address: The buyer's address information which is populated after processing GetExpressCheckoutDetails setting.You can set Address, City, ZipPostal, StateProvince and Country properties in SetExpressCheckout to override the buyer's shipping information in their PayPal account.

Important Note: If you use the include database, Amount and CustomerID are automatically saved and loaded from the database through the payment process, otherwise you have to set these properties in the payment process.

For more information see PayPalProExpress.aspx and PayPalExpressPayment.aspx.

3D Secure Authentication (NEW):

ApplySecure3D = 1;//To enable set to 1, otherwise not set

UserName = "136-04"; //Set to Merchant processor identification code. This value is assigned to the Merchant.

MerchantName = "myidcode"; //Set to your Centinel merchant identification code.

AccountID = "password"; // Set to your Centinel Password.A password to secure and verify the transaction originated from Merchant represented by the transaction details. The password value is configured through the Merchant profile

MerchantUrl = "http://yourdomain/dotnetcharge/PayPalPro.aspx";

TransactionOrigin: (Optional) Specifies the order channel where the transaction was initiated.

The Payer Authentication program "Learn More" logos are required to be placed on the payment details page of the checkout process.

For more information visit: http://www.cardinalcommerce.com who processes the 3D secure validation for paypal.

NEW: If you’ve purchased both PayPal Pro and recurring billing from PayPal, you use Payflow Pro (login, user, partner, and password) to create recurring billing transaction.


PayReady

PayReady

Pricing and service information can be found here.

Supported Properties:

Amount Required

AuthCode Optional

Address Required

AvsCode Optional

City Required

Code Optional

Company Optional

Country Required

CustomerID Optional

Email Required

Fax Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Password Not Used

Month Required

FirstName Required

LastName Required

Number Required

OrderID Optional

Phone Required

ReferenceNumber Optional

StateProvince Required

TestMode Not Used

Timeout Optional

TransactionID Optional

TransactionType Optional

Year Required

ZipPostal Optional

Supports transaction types of Sale (capture), authorize and postauthorize. When running an authorize you must store the TransactionID and set the value to the TransactionID property when requesting a postauthorize.

CustomerID is optional for PayReady. This can be any characters up to 30. For example: obj.CustomerID = "ID3425432"

CVV2 response description:

M: Card Code passed

N: Card Code failed

P: Issuer did not return code

S: Merchant indicated that the Card code is missing

U: Issuer doesn't participate in the Card Code program

AVS code response description:

X: Exact match, 9-digit zip

Y: Exact match, 5-digit zip

A: Address match only

W: 9-digit zip match only

Z: 5-digit zip match only

N: No address nor zip match

U: Address unavailable

G: Non-US Issuer

R: Issuer system unavailable

E: Not a mail/phone order

S: Service not supported


PlanetPayment

PlanetPayment

Pricing and service information can be found here.

Supported Properties:

Amount | Required
AuthCode | Optional
Address | Optional
Address2 | Optional
AvsCode | Optional
AccountID | Optional
CardName | Required
CardType | Optional
City | Optional
Code | Optional
Country | Optional
Currency | Required
Description | Optional
ErrorCode | Optional
ErrorMessage | Optional
Login | Required
Password | Required
Month | Required
Number | Required
OrderID | Optional
ReferenceNumber | Optional
Server | Optional
TestMode | Optional
Timeout | Optional
TransactionID | Optional
TransactionType | Optional
UserName | Required
Year | Required
ZipPostal | Optional

Login: The userId for the entity, This property is required for all transaction types.

Password: The password for the userId. This property is required for all transaction types.

UserName: The entity for the request. By default this is the channel's ID.
It can be the division, merchant or channel identifier. Division is for requesting registrations only, merchant only in combination with channel dispatching, i.e. channel is the default for sending payment transactions.

OrderID: Merchant-provided reference number, should be unique for your transactions. Some receivers require this ID. This identifier is often used for reconciliation.

Country: ISO 3166-1 two characters country code of the cardholder's billing address. Examples: "US", "GB".The currency must be supported by one of your merchant accounts or the transaction will be rejected.

Currency: Three-letter currency code to ISO 4217 Examples: "GBP", "EUR" and "USD".

AvsCode: After a transaction, response from AVS:

A = Address does match, zip code does not match
Z = Address does not match, zip code does match
N = Address and zip code do not match
U = Technical or logical error. AVS cannot be applied on card or address (not UK or US issuer), issuer is not available, etc.
F = Address and Postal Code Matches

Code: After a transaction, response from CVV checks:

M - CVV2 Match
Indicates that the issuer was able to verify the CVV2 value provided by the merchant.
N - CVV2, CVC2, Discover CID or AMEX CID do not match
Indicates that the issuer was not able to verify the CVV2 value provided by the merchant.
P - Not Processed
Indicates that the issuer was unable to verify the CVV2 value provided by the merchant because either their verification system was not functioning, or not all of the information needed to verify the CVV2 value (such as the expiration date) was included in the request.
S - CVV2, CVC2, Discover CID or AMEX CID data is not present on the card, but the issuer indicated it should be present
Indicates that the issuer was unable to perform CVV2 verification, and notifies the merchant that the card should contain a CVV2 value.
U - Unsupported by issuer or issuer is unable to process request
Indicates that the issuer is not participating in the CVV2 service, or that the issue has not provided the card Brand with the required encryption keys needed to perform verification, or that STIP has responded with unavailable response.

TransactionType: Sale, PreAuthorize, PostAuthorize, Void, Refund, Credit, Cancel. The above setting is for Authorize, Credit and Sale transactions,

For PostAuthorize, Void and Cancel, the TransactiionID property should be set to the TransactionID returns from the original transaction.

Store the data during a payment:

A payment's data can be stored at the same time as the payment by setting RecurringBilling to true. It automatically creates a profile for the customer and populates the registration id in AccountID property. For any future payment, there is no need to provide customer's information, only set AccountID proeperty to the registration id.

PaymentType: CreditCard and Echeck, defaults to CreditCard.

Echeck Properties:
Number: Bank Account Number or the IBAN (International Bank Account Number) associated with the bank account. Either the number or the iban are required.
TransactionType: Sale and Credit, defaults to Sale.
BankCode:The code associated with the bank account or the BIC (Bank Identifier Code (SWIFT)) number of the bank account. Either the bankCode or the bic are required.
CardName: Name under which the account is maintained at the bank.
Country: ISO 3166-1 two characters country code of the bank account (ISO 3166-1).


PlugnPay

PlugnPay

PlugnPay: http://www.plugnpay.com

Supported Properties:

Amount Required

AuthCode Optional

Address Optional

AvsCode Optional

BankCode Not Used

BankName Not Used

Certificate Not Used

City Optional

Code Optional

Country Optional

CustomerID Not Used

Email Optional

Description Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Password Required

Month Required

FirstName Optional

LastName Optional

CardName Optional

Number Required

OrderID Optional

Phone Not Used

Setting Not Used

StateProvince Optional

TestMode Not Used

Timeout Optional

TransactionID Optional

TransactionType Optional

Year Required

ZipPostal Optional

Transaction Types: Authorize, sale, credit, return, void, reversal, force and postauthorize.

-Login property is the username issued by PlugnPay at time of sign-up.

-Password required for all administration transactions: PostAuthorize, reversal, return, Credit and void.

For setting the name on the credit card for this company, use the CardName property (for the full name provided by the customer) in place of FirstName and LastName.


Protx

Protx

This gateway has transitioned to sagepay.

Pricing and service information can be found here.

Revised with new API (7/18/2007)

Supported Properties:

Amount Required

AuthCode Optional

Address Optional

AvsCode Optional

AccountID Optional

Code Optional

Currency Optional

Description Required

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Month Required

Number Required

OrderID Required

TestMode Optional

Timeout Optional

TransactionID Optional

TransactionKey Optional

ReferenceNumber Optional

TransactionType Optional

Year Required

ZipPostal Optional

Supports transaction types: Sale, Authorize, PostAuthorize, Void, Refund, Credit, Force, PreAuthorize, Cancel and Settle. The above setting is for sale and authorize transactions, for other types read the following notes.

PreAuthorize (AUTHENTICATE) request merely authenticate the buyer and use Settle or Cancel later to charge or cancel the transaction. The following properties are mandatory for Settle or Cancel an already preauthorize (authenticated) transaction:

1- TransactionID: Set to the TransactionID for the original Transaction.

2- TransactionKey: Set to the SecurityKey for the original Transaction.

3- ReferenceNumber: Set to the OrderID for the original Transaction.

The following properties are mandatory for postAuthorize, void and refund transaction types.

1- AuthCode: set to the authcode return from the original successful transaction.

2- TransactionID: Set to the TransactionID for the original Transaction.

3- TransactionKey: Set to the SecurityKey for the original Transaction.

4- ReferenceNumber: Set to the OrderID for the original Transaction.

*OrderID property should set to a unique value for Refund, but should not be set for PostAuthorize and Void.

Force (Manual) is a transaction that already authorized by phone and AuthCode property can set to the manual Authorization Code obtained from your acquirer during Code 10 checks.

Other Notes:

Login: Used to authenticate the Vendor – maximum 20 characters. The Vendor uses the same Login Name to examine the Vendor's own transaction records. This property is required for all transaction types.

OrderID: Code from the Vendor that uniquely identifies this Payment/Credit request. The same code must never be re-used. Maximum size is 50 characters. This property is required for all transaction types except PostAuthorize, Void and Cancel.

AvsCode and Code: After a transaction, the results of these two properties are the same because Protx return the result of Avs code and CV2 code as a single field.

AccountID: Sub-merchant ID. It is useful for Vendors with multiple portals.

IssueDate: DateTime property which can be used to set StartDate for credit card.

ApplySecure3D: an integer controls the secure3D behavior. Default is -1 which disable secure3D feature.

ApplySecure3D options:

0 = If 3D-Secure checks are possible and rules allow, perform the checks and apply the authorization rules.

1 = Force 3D-Secure checks for this transaction only (if your account is 3D-enabled) and apply rules for authorization.

2 = Do not perform 3D-Secure checks for this transaction only and always authorize.

3 = Force 3D-Secure checks for this transaction (if your account is 3D-enabled) but ALWAYS obtain an auth code, irrespective of rule base.

Note: When setting ApplySecure3D property, the cardholder is authenticated before authorization. If the result of authentication shifts the liability or the authorization rules allow, it is automatically processed the authorization, otherwise, returns status 3, with ErrorCode and ErrorMessage.

MerchantUrl: This URL is being used by the issuing bank to redirect the customer to your web site. It is required only when using secure3D.

Objcc.MerchantUrl = "http://yourdomain.com/dotnetcharge/protx.aspx"


PSiGate

PSiGate

Pricing and service information can be found here.

Supported Properties:

Amount Required

AuthCode Optional

AvsCode Optional

Address Optional

Address2 Optional

CardName Optional

City Optional

ClientIP Optional

Code Optional

Country Optional

Company Optional

CustomerID Optional

Description Optional

Email Optional

Fax Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Password Required

Month Required

Number Required

OrderID Optional

Phone Optional

Port Required

StateProvince Optional

TestMode Optional

Timeout Optional

TransactionID Optional

TransactionType Optional

Year Required

ZipPostal Optional

Login: Set to the StoreID that PSiGate provides it within the PSiGate Welcome Email.

Password: Set to the Passphrase that PSiGate provides it within the PSiGate Welcome Email.

Port: Set to the production port PSiGate proivides it.

Transaction Types: Supports transaction types of sale, authorize, postauthorize, void, and credit. For postauthorize set the OrderID the same as the original authorized transaction and the TransactionID (reference number) to the transaction id of the authorized transaction. For void set the TransactionID (reference number) to the transaction id of the original transaction.

Credit: The OrderID of the order you wish to confirm.

Void: The OrderID references the Sale, PostAuthorize or Credit you wish to void. The ReferenceNumber (unique TransRefNumber) is returned by each transaction request and references that request.

Force: The AuthCode (CardAuthNumber stores the authorization number) given by a financial institution during a voice authorization. The value must match the value given by the financial institution or the settlement request will be rejected.

Note: Port 27934 must be open for bi directional communication for this gateway, port 27989 for test mode.


PSiGateCOM

PSiGateCOM

RETIRED (this gateway has been retired and may or may not be offered for legacy use by this gateway vendor).

Use PSiGate instead which uses a new API that does not have a COM dependency.

Pricing and service information can be found here.

Supported Properties:

Amount | Required
AuthCode | Optional
Address | Optional
AvsCode | Not Used
BankCode | Not Used
BankName | Not Used
Certificate | Required
City | Optional
Code | Optional
Country | Optional
CustomerID | Not Used
Email | Optional
Server | Optional
ErrorCode | Not Used
ErrorMessage | Optional
Login | Required
Password | Not Used
Month | Required
FirstName | Optional
LastName | Optional
Number | Required
OrderID | Optional
Phone | Optional
Setting | Not Used
StateProvince | Optional
TestMode | Not Used
Timeout | Optional
TransactionID | Optional
TransactionType | Optional
Year | Required
ZipPostal | Optional

Supports transaction types of Sale(capture), authorize, postauthorize and credit. When running a postauthorize the orderid must be set to the same orderid used when running the authorize.

Password is mandatory for postauth transactions.

Certificate property is required. This references a certificate file provided by Linkpoint obj.certificate = "C:\linkpoint\mycert.pem"


QuickBooks

QuickBooks

Pricing and service information can be found here.

.netCHARGE supports “Quick books Merchant Services Account” and can be sign up here: http://payments.intuit.com/

Login and password are not online user name and password (online user name is usually an email and password) but you need to create an application and setting login to ApplicationLogin (e.g. test.myaccount.com ) and password to Connection Ticket (e.g. TGT-26-zYtIW4N2UZEMNpgGZj26Hf). Set TestMode=true, only for testing with PTC test server, otherwise set to false. Please review Quickbooks.aspx and for further help contact Quickbooks support at (866) 697-9600.

Supported Properties:

Amount Required

AuthCode Optional

Address Optional

AvsCode Optional

AccountID Optional

CardName Optional

Code Optional

Description Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Password Required

Month Required

Number Required

TestMode Optional

Tax Optional

Timeout Optional

TransactionID Optional

ReferenceNumber Required

TransactionType Optional

TransactionOrigin Optional

Year Required

ZipPostal Optional

Supports transaction types: Sale, Authorize, PostAuthorize, Void, Refund and Credit. The above setting is for sale, authorize and credit transactions. For PostAuthorize, Void and Refund, set TransactionID to the TransactionID has been returned from the original Transaction.

Notes:

Login: Set to your application login. This property is required for all transaction types.

Password: Set to your connection ticket. This property is required for all transaction types.

AccountID: (Optional) Set to your AppID.

ReferenceNumber: This value need only be unique for the merchant sending the request for a period of 15 minutes.

AvsCode: After a transaction, response from AVSStreet and AVSZip checks.

Code: After a transaction, response from CV2 checks. Y indicates a match N indicates a mismatch

Recurringilling: The value true indicates that this is a recurring charge, that is, the credit card will be re billed at specified periods of time. The value false indicates that the charge is a one-time only charge.

Setting: The default qbmsxml version is "4.0" but you can change it by using this property.

TransactionOrigin: (optional) If set to "ecommerece", "IsECommerce" is set to true, otherwise false.


QuickCommerce (ECX)

QuickCommerce (ECX)

 Return to chapter overview

This gateway has since been acquired by Authorize.net

Legacy details:

Pricing and service information can be found here.

Supported Properties:

Amount | Required
AuthCode | Optional
Address | Optional
AvsCode | Not Used
BankCode | Not Used
BankName | Not Used
Certificate | Not Used
City | Optional
Code | Not Used
Country | Optional
CustomerID | Not Used
Email | Optional
Fax | Optional
Server | Optional
ErrorCode | Not Used
ErrorMessage | Optional
Login | Required
Password | Not Used
Month | Required
FirstName | Optional
LastName | Optional
Number | Required
OrderID | Optional
Phone | Optional
Setting | Not Used
StateProvince | Optional
TestMode | Not Used
Timeout | Optional
TransactionID | Not Used
TransactionType | Optional
Year | Required
ZipPostal | Optional

Supports transaction types Sale and Authorize.


RBSWorldPay

RBSWorldPay

WorldPay's strength is its support for international merchants along with its one stop solutions providing both a gateway and merchant account to get customers processing credit cards on their site in no time. You should RBS WorldPay to determine if you qualify for an account that is compatible with .netCHARGE.

Supported Properties:

Amount Required

AuthCode Optional

Address Optional

AccountID Optional

AvsCode Optional

BankCode Optional

BankName Optional

BankAddress Optional

City Optional

Code Optional

Country Optional

Description Required

Email Optional

FirstName Optional

LastName Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Password Required

Month Required

Number Required

OrderID Required

Phone Optional

StateProvince Optional

TestMode Optional

Timeout Optional

TransactionID Optional

TransactionType Optional

Year Required

ZipPostal Optional

Notes:

Login: Your login name is the relevant merchant code (to look up the merchant code(s) allocated to your organization, login to the Merchant Interface and refer to the status box in the left-hand side of the page).

Password: Your password is set in RBS WorldPay administration, contact RBS WorldPay for details.

AccountID: Set to your Installation ID, login to the Merchant Interface and scroll down to the Installations area on the Merchant Interface Welcome page.

OrderID: The ordercode is a unique reference for an order. The maximum length is 64 characters. For purchase details the first 15 characters are used. For PostAuthorize, Refund and Cencel, it should be set to the OrderID of the original transaction.

TransactionType: Supports sale (default), authorize, credit, postauthorize, cancel ( same as void) and refund.

Refund: Refunds can be processed after a payment has reached the CAPTURED status. If a payment still has the AUTHORISED status, it can be cancelled but not refunded. Refunds can never exceed the original captured amount. It is possible to do (several) partial refund(s).

Currency: This processor has very wide international support. It also enables you to charge in difference currencies. The default is USD.

IssueDate: (optional) DateTime property used to set worldpay's dayOfMonth, month and year parameters for credit card dates in addition to expiry information.

IssueNumber: Sets the issueNumber parameter.

Description: The maximum length of description is 50 characters. In case an order with airline element is used, the first 20 characters should contain the name of the airline.

For setting the name on the credit card for this company, use the CardName property (for the full name provided by the customer) in place of FirstName and LastName.

ApplySecure3D: Set to 1 to enable secure3D feature.

MerchantUrl: This URL is being used by the issuing bank to redirect the customer to your web site. It is required only when using secure3D.

Objcc.MerchantUrl = "http://yourdomain.com/dotnetcharge/worldpay.aspx"


Realex

Realex

Pricing and service information can be found here.

Supported Properties:

Amount Required

AuthCode Optional

AvsCode Optional

BankName Optional

BankCode Optional

Code Optional

CardName Required

Country Optional

CustomerID Optional

Currency Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Description Optional

Login Required

Password Required

Month Required

Number Required

IssueNumber Required

OrderID Required

ReferenceNumber Optional

Timeout Optional

TransactionID Optional

TransactionType Optional

UserName Required

Year Required

ZipPostal Optional

Login: Set to your Realex payments assigned merchant ID (NOT the merchant number that the bank assign you)

UserName: Set to the Realex payments account to use. If it is not set, then the default account is used.

Password: Set to your shared secret password.

TransactionType: Set to the one of the following transaction types: Sale, Authorize, PostAuthorize, Refund, Force and Void. Default is Sale.

Sale and Authorize: Use the above table for setting different properties. If you received an authcode from the voice authorization center, or alternative source, set it to AuthCode property and set the TransactionType to Sale.

PostAuthorize: In order to settle an already authorized transaction, the OrderID, ReferenceNumber and AuthCode must match the values from the original transaction.

Force: (offline in Realex) If the transaction rejected with the error: 101 / referral B or Contact Auth Centre, you should call your authorization center and after getting an authcode, use Force transaction type to settle it. Set the OrderID and ReferenceNumber the values from the original transaction and the Authcode property to the value received from the call center.

Refund: (Rebate in Realex) In order to ensure a valid refund transaction, the OrderID, ReferenceNumber and AuthCode must match the values from the original transaction. It can be up to 115% of the value of the original transaction, using the original currency and using the same account used in the original transaction. Also, it is required to set the Setting property to the refund password, which is used for refundhash XML element.

OrderID: Set to a unique string up to 50 alpha-numeric characters. If the OrderID is not specified, it will be generated by .netCHARGE.

Country: Realex payments use the country names in ISO 3166-1 country codes.

CustomerID: Up to 50 characters.

IssueNumber: Only required for Switch card.

BankName: returns the issuing bank name.

BankCode: returns the country code of the issuing bank.

TransactionID: returns the batch id of the transaction.

Setting: set to the refund password which only required for Refund transaction type.

CardType: This property is set automatically by using the credit card number, but if you getting this error (That Card Number does not correspond to the card type you selected), you can set the CardType explicitly to the correct card type.

Code: The possible values for CVN are

M: CVV Matched

N: CVV Not Matched

I: CVV Not checked due to circumstances (error etc)

U: CVV Not checked as Issuer not certified

AvsCode: It has the values for avspostcoderesponse and avsaddressresponse.

E.g. UM which U is related to avspostcoderesponse and M is related to avsaddressresponse. The possible values are:

M: Matched

N: Not Matched)

I: Problem with check)

U: Unable to check (not certified etc))

P: Partial Match)

ApplySecure3D: Set to 1 to enable secure3D feature.

MerchantUrl: This URL is being used by the issuing bank to redirect the customer to your web site. It is required only when using secure3D.

Objcc.MerchantUrl = "http://yourdomain.com/dotnetcharge/protx.aspx"

Notes: when setting Apply3DSecure, if ErrorCode = "110", ErrorMessage is "Not Enrolled", it means "unable to verify enrollment", and there will be no shift in liability under this scenario. If ErrorCode = "520", ErrorMessage is "Incorrect Root Element Name (Should be ThreeDSecure)", it means "invalid response from enrolment server", and there will be no shift in liability under this scenario. If ErrorCode = "N" means the card holder did not a valid password and did not authenticate successfully, and there will be no shift in liability under this scenario. If ErrorCode = "U" means that the card holder authentication is temporarily unavailable, and there will be no shift in liability under this scenario.

For the above scenarios, if you decide to go ahead and process the authorization, you should set Apply3DSecure=-1, AuthenticationIndicator=7 for VISA and AuthenticationIndicator=0 for MasterCard card.


SagePay

SagePay

Pricing and service information can be found here.

Supported Properties:

Amount Required

AuthCode Optional

Address Required

AvsCode Optional

AccountID Optional

CardName Required

CardType Optional

City Required

Country Required

Code Optional

Currency Optional

Description Required

FirstName Required

LastName Required

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Month Required

Number Required

OrderID Required

TestMode Optional

Timeout Optional

TransactionID Optional

TransactionKey Optional

ReferenceNumber Optional

TransactionType Optional

Year Required

ZipPostal Required

Supports transaction types: Sale, Authorize, PostAuthorize, Void, Refund, Credit, Force, PreAuthorize, Cancel and Settle. The above setting is for sale and authorize transactions, for other types read the following notes.

PreAuthorize (AUTHENTICATE) request merely authenticate the buyer and use Settle or Cancel later to charge or cancel the transaction. The following properties are mandatory for Settle or Cancel an already preauthorize (authenticated) transaction:

1- TransactionID: Set to the TransactionID for the original Transaction.

2- TransactionKey: Set to the SecurityKey for the original Transaction.

3- ReferenceNumber: Set to the OrderID for the original Transaction.

The following properties are mandatory for postAuthorize, void and refund transaction types.

1- AuthCode: set to the authcode return from the original successful transaction.

2- TransactionID: Set to the TransactionID for the original Transaction.

3- TransactionKey: Set to the SecurityKey for the original Transaction.

4- ReferenceNumber: Set to the OrderID for the original Transaction.

*OrderID property should set to a unique value for Refund, but should not be set for PostAuthorize and Void.

Force (Manual) is a transaction that already authorized by phone and AuthCode property can set to the manual Authorization Code obtained from your acquirer during Code 10 checks.

Repeat Transaction:

When setting TransactionType = dotnetCHARGE.TransactionType.Sale,

but not setting credit card number, it is a repeat transaction and

the following properties should be set from the original transaction:

Objcc.ReferenceNumber="1231156446"; //RelatedVendorTxCode, VendorTxCode for the original payment Trans¬action the repeat payment is to use as a template.

Objcc.TransactionID = "123468990"; //RelatedVPSTxID, VPSTxID from the original payment Transaction the repeat payment is to use as a template.

Objcc.AuthCode = "1234567788999"; //RelatedTxAuthNo, The TxAuthNo original payment as sent by the VSP in step A3. This adds security that the Vendor holds the full information on the related transaction.

Objcc.TransactionKey = ""; //RelatedSecurityKey , SecurityKey for the original payment Transaction the repeat payment is against. This adds security that the Vendor holds the full information on the previous Transaction.

Other Notes:

Login: Used to authenticate the Vendor – maximum 20 characters. The Vendor uses the same Login Name to examine the Vendor's own transaction records. This property is required for all transaction types.

OrderID: Code from the Vendor that uniquely identifies this Payment/Credit request. The same code must never be re-used. Maximum size is 50 characters. This property is required for all transaction types except PostAuthorize, Void and Cancel. Country: ISO 3166-1 two characters country code of the cardholder's billing address. Examples: "US", "GB".The currency must be supported by one of your merchant accounts or the transaction will be rejected.

Currency: Three-letter currency code to ISO 4217 Examples: "GBP", "EUR" and "USD".

AvsCode: After a transaction, response from AVS and CV2 checks. Will be one of the following: "ALL MATCH", "SECURITY CODE MATCH ONLY", "ADDRESS MATCH ONLY", "NO DATA MATCHES" or "DATA NOT CHECKED".

Code: After a transaction, response from CV2 checks. Will be one of the following: "NOTPROVIDED", "NOTCHECKED", "MATCHED", "NOTMATCHED"

AvsIndicator: Using this flag you can fine tune the AVS/CV2 checks and rule set you've defined at a transaction level. This is useful in circumstances where direct and trusted customer contact has been established and you wish to override the default security checks. Options are:

0 = If AVS/CV2 enabled then check them. If rules apply, use rules (default).

1 = Force AVS/CV2 checks even if not enabled for the account. If rules apply, use rules.

2 = Force NO AVS/CV2 checks even if enabled on account.

3 = Force AVS/CV2 checks even if not enabled for the account but DON'T apply any rules.

AccountID: Sub-merchant ID. It is useful for Vendors with multiple portals.

IssueDate: DateTime property which can be used to set StartDate for credit card. The Start date only required for some Maestro, Solo and Amex.

IssueNumber: The card Issue Number (some Maestro and Solo cards only)

Billing Address: The Billing Address section is optional, but if one part of the address is provided, all non-optional properties (FirstName, LastName, Address, City, ZipPostal, Country) MUST be set.

ApplySecure3D: an integer controls the secure3D behavior. Default is -1 which disable secure3D feature.

ApplySecure3D options:

0 = If 3D-Secure checks are possible and rules allow, perform the checks and apply the authorization rules.

1 = Force 3D-Secure checks for this transaction only (if your account is 3D-enabled) and apply rules for authorization.

2 = Do not perform 3D-Secure checks for this transaction only and always authorize.

3 = Force 3D-Secure checks for this transaction (if your account is 3D-enabled) but ALWAYS obtain an auth code, irrespective of rule base.

Note: When setting ApplySecure3D property, the cardholder is authenticated before authorization. If the result of authentication shifts the liability or the authorization rules allow, it is automatically processed the authorization, otherwise, returns status 3, with ErrorCode and ErrorMessage.

MerchantUrl: This URL is being used by the issuing bank to redirect the customer to your web site. It is required only when using secure3D.

Objcc.MerchantUrl = "http://yourdomain.com/dotnetcharge/sagepay.aspx"

PayPal support: You can set CartType ="PAYPAL", and your customers use PayPal like other credit cards. This facility is available to merchants who have a PayPal Business Account.

If you do not already have a PayPal Business Account,

then you can open one here.

The steps for using PayPal:

1-Set up PayPal on "My Sage Pay" account.

2-Adjust the settings in your PayPal account to accept payments through Sage Pay

3-Log into your unique My Sage Pay account and adjust your account to add PayPal as a payment method

MerchantUrl: This URL is being used by SagePay to redirect the customer to your web site upon completion of a PayPal transaction. It is required only when using PayPal.

Objcc.MerchantUrl = "http://yourdomain.com/dotnetcharge/sagepay.aspx"


SecurePay

SecurePay

Pricing and service information can be found here.

Supported Properties:

Amount Required

AuthCode Optional

Address Required

AvsIndicator Optional

AvsCode Optional

City Required

Code Optional

Country Not used

Description Optional

Email Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Password Not used

Month Required

CardName Required

Number Required

OrderID Optional

Phone Not used

ReferenceNumber Optional

StateProvince Required

TestMode Not used

Timeout Optional

TransactionType Optional

Year Required

ZipPostal Required

Login: The unique Merchant identifier assigned to the Merchant by SecurePay.Com.

TransactionType: options are Sale, Authorize, PostAuthorize, Void, and Credit. For PostAuthorize set the AuthCode to the original transaction AuthCode. For Void set the ReferenceNumber to the reference number return from the original transaction. (only valid for same day of the original transaction, otherwise use the credit option.)

OrderID is set to the "Comment2" field in SecurePay.Com.

AvsIndicator: One of the following options:

0 : when you do not want to do an AVS Check.

1 : when you want a transaction authorization and a Full AVS (both street address and zip code).

2 : when you want an AVS only, Full AVS but do not authorize the Credit Card.

3 : when you want Credit Card Authorization and Zip Code AVS Only.

4 : when you want AVS with Zip Code only, do not authorize the Credit Card.

AvsCode result description:

A = Address (Street) matches, Zip does not.

E = AVS Error

G = Issuing bank does not subscribe to the AVS system.

N = no match on Address or Zip Code.

R = Retry, system unavailable or timed out.

S = Service not supported by issuer.

U = Address information unavailable.

W = 9 digit Zip matches, Address does not.

X = Exact AVS match.

Y = Address and 5 digit zip code match.

Z = 5 digit Zip Code matches, Address does not.


SkipJack

SkipJack

Pricing and service information can be found here.

Supported Properties:

Amount | Required
AuthCode | Optional
Address | Required
AvsCode | Optional
BankCode | Not Used
BankName | Not Used
Certificate | Not Used
City | Required
Code | Optional
Country | Optional
CustomerID | Not Used
Description | Optional
Email | Required
Fax | Optional
Server | Optional
ErrorCode | Optional
ErrorMessage | Optional
Login | Required
Password | Not Used
Month | Required
FirstName | Optional
LastName | Optional
Number | Required
OrderID | Required
Phone | Required
Setting | Not Used
StateProvince | Required
TestMode | Optional
Timeout | Optional
TransactionID | Optional
TransactionType | Optional
Year | Required
ZipPostal | Optional

For setting the name on the credit card for this company, use the CardName property (for the full name provided by the customer) in place of FirstName and LastName.

Transaction Types Supported:

Supports transaction types of Sale, Authorize, PostAuthorize, Credit,Reversal (change the amount of already authorized transaction) and Void (delete the transaction).

For PostAuthorize, Credit, and Void transaction types:

-Your must request that SkipJack to bind the developer serial number (100583258271) to your login serial number. You may contact them on the support line at 888-368-8507 option 1 or via email at support@skipjack.com

-Set the TransactionID returned from the original transaction or orderID (f it is unique) used by the original transaction.

-The Amount can be set to alter the existing transaction amount. This

amount is only valid for Void and Credit.


Stripe

Stripe

Pricing and service information can be found here.

Supported Properties:

Amount Required

Address Optional

Address2 Optional

AvsCode Optional

CardName Optional

City Optional

Code Optional

Country Optional

CustomerID Optional

Currency Optional

Description Optional

Email Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Month Required

Number Required

OrderID Optional

ReferenceNumber Optional

StateProvince Optional

TestMode Optional

Timeout Optional

TransactionID Optional

TransactionType Optional

Year Required

ZipPostal Optional

Login: Set to your private API key.

CustomerID: Set to an existing customer id. If provided, the credit card number property is not being used. If setting to "create", a new customer object is created and a reference to the customer is populated to this property. You can save it and use it later instead of passing credit card information again. All information is stored at stripe.

ReferenceNumber: Populated to the fingerprint of the charge transaction.

Country: Two-letter ISO code representing the country of the billing address.

AvsCode: If ZipPostal and Address properties are set, this property populates 2 values: “zip code result, address result”, possible values include: pass, fail, or unchecked.

TransactionID: Populated by the ID of the sales transaction. It can be used to Refund the charge.

Code: If a CVC was provided, results of the check are returned: pass, fail, or unchecked.

TransactionTypes: Supports Sale and Refund. For Refund, TransactionID should be set to the transaction id of the original charge.

TestMode: For testing, you need to set your API key test in Login property, this property is only populated after a transaction to indicate if it was a test or not.

Recurring Billing:

RecurringBilling: Set to True.

StartDate: Beginning date for the recurring billing cycle used to calculate when payments should be made. Default is now.

BillingCount: The quantity you'd like to apply to the subscription you're creating. For example, if your plan is $10/user/month, and your customer has 5 users, you could pass 5 as the quantity to have the customer charged $50 (5 x $10) monthly.

SettleInterval: Specifies the time period between two billings. Use DL format where L is one of the following: month or year and D is the number of the unit specified in the interval parameter. For example, you could specify the unit of 3 and an interval of 'month' for quarterly billing (every 3 months). (e.g. 3month).

AccountID: Merchant-assigned ID and name for the subscription.

CustomerID: Populated by Stripe when creating a new customer to subscribe the customer to a plan. Set this value when trying to cancel a subscription and set TransactionType to “cancel”. Each customer can have only one active subscription.

NEW: If using your Stripe public API key all credit card or bank account information are sent to Stripe server from the client browser in a secure way without having the information touch your server, then internally using a token returns by Stripe server to process a charge payment. This method complies with the Payment Card Industry Data Security Standards (PCI DSS). Your Stripe public key can be found in your Stripe account, through top right menu select "Account Settings", and then click on "API Keys" tab. There are Stripeform.htm and other samples for how to use API public key in the bundle csharp/Stripe and vbnet/Stipe folders.

Setting: Set to “callback” in to handle the callback from Stipe after generating the token. For usage see StripeCallback.aspx in Stipe folder.


TransFirst

TransFirst

Pricing and service information can be found here.

Supported Properties:

Amount Required

Address Optional

Address2 Optional

AvsCode Optional

CardName Required

City Optional

Code Optional

Country Optional

CustomerID Optional

Company Optional

Email Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

TransactionKey Required

Month Required

Number Required

OrderID Optional

StateProvince Optional

TestMode Optional

Timeout Optional

TransactionID Optional

TransactionDate Optional

TransactionType Optional

Year Required

ZipPostal Optional

Login: Merchant Gateway ID.

TransactionKey: Merchant Registration Key.

CustomerID: The customer id up to 25 characters.

AuthCode: The authorization code received from the issuer when the transaction is approved.

TransactionID: Populates the ID for the authorize or sale transaction. It can be used to settle an authorized transaction and Void or Refund a sales transaction. A transaction can be voided before midnight and can be refunded after midnight of the original transaction.

AvsCode: If ZipPostal and Address properties are set, this property populates the address verification service result code.

Code: If a CVC was provided, it populates the CVV2/CVC2/CID results code from the auth response.

TransactionTypes: Supports Sale, Authorize, PostAuthorize (Settle), Void, Refund (Credit) and Force. For PostAuthorize, Void and Refund, TransactionID should be set to the transaction id of the original charge. For Force, AuthCode should be set to the authorization code received from the external source.

TransactionDate: Only used for Force transaction type. If it is not set, the current date time is used.

OriginalAmount: If only partial of the requested amount has been approved, the approval amount is populated to Amount property and the requested amount is set to OriginalAmount property.

ACH Debit: The required properties for processing ACH debit:

PaymentMethod: Set to PaymentMethod.Echeck.

Number: Set to the customer's checking/savings account number.

BankCode: Set to the routing number of the customer's bank.

BankAccountType: CHECKIING or SAVING

All the contact information is required for ACH: CardName, Address, City, StateProvince, and Phone


TrustCommerce

TrustCommerce

Pricing and service information can be found here.

Supported Properties:

Amount Required

AuthCode Optional

Address Optional

Address2 Optional

AvsCode Optional

City Optional

Code Optional

Country Optional

Email Required

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Password Required

Month Required

CardName Optional

Number Required

Phone Optional

StateProvince Required

TestMode Optional

Timeout Optional

TransactionID Optional

TransactionType Optional

Year Required

ZipPostal Optional

Currency Optional

Login: The customer ID number assigned to you by TrustCommerce.

Password:The password for your customer id as assigned by TrustCommerce.

TransactionType: options are sale, authorize, postauthorize, credit and force. For postauthorize and credit set the TransactionID to the already authorized/settle transaction. For force set the AuthCode to the already authorized transaction.

Code: property is read / write. Before a transaction it should be set to the card code provided by the customer. After a transaction is run it will contain the result of the code (CVV2) validation.

AvsCode: can set to "y" or "n" for AVS requested option. Default is "n"

AvsCode possible result description:

X : Exact match, 9 digit zip code.

Y: Exact match, 5 digit zip code.

A: Street address match only.

W: 9 digit zip code match only.

Z: 5 digit zip code match only.

N: No match on street address or zip code.

U: AVS unavailable on this card.

G: Non-US card issuer, AVS unavailable.

R: Card issuer system currently down, try again later.

E: Error, ineligible - not a mail/phone order.

S: Service not supported.

0: General decline or other error.


Verisign PayFlowPro

Verisign PayFlowPro

RETIRED (this gateway has been retired and may or may not be offered for legacy use by this gateway vendor).

Use PayFlowPro instead which uses a new API that does not have a COM dependency.

NOTE: PayFlow products were sold to PayPal from Versign. See PayFlowPro for current / new account usage with paypal. Note new PayFlowPro support does not require the COM dll.

Supported Properties:

Amount Required

AuthCode Optional

Address Optional

AvsCode Optional

BankCode Not Used

BankName Not Used

Certificate Required

City Optional

Code Optional

Company Optional

Country Optional

CustomerID Not Used

Description Optional

Email Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Password Required

Month Required

FirstName Optional

LastName Optional

Number Required

OrderID Optional

Phone Optional

Setting Optional

StateProvince Optional

TestMode Optional

Timeout Optional

TransactionID Optional

TransactionType Optional

Year Required

ZipPostal Optional

Supports transaction types of Sale, authorize, postauthorize, refund and void. If you just want to hold the funds and charge them later, you can first authorize and then postauthorize.

TransactionID must set to the return value from a previously authorize or sale transaction for postAuthorize, refund and void transaction types.

Certificate property is required for PayflowPRO. This references the directory which contains the payflowpro certificate provided by verisign. For example:

obj.certificate = "C:\verisign\cert"

Internally this property is setting an environment variable as the Versign system requires this. Because of this change to the certificate property for this processor will not take effect until your web service is reset. This would only come into play if you originally set the value incorrect and then needed to correct it.

PFProCOM.dll must be registered on the server for this processor. See /bin/readme.txt for additional details.

The Code property is read / write. Before a transaction it should be set to the card code provided by the customer. After a transaction is run it will contain the result of the code (CVV2) validation.

AvsCode: has maximum 3 letters with the following meaning - AVS compares the submitted street address and postal code with the values on file at the cardholder.s bank. The response includes values for AVSADDR and AVSZIP (First 2 letters in AvsCode property) Y = match, N = no match, X = cardholders bank does not support AVS. The 3rd letter in AvsCode property is The International AVS response (IAVS) indicates whether AVS response is international (Y), USA (N), or cannot be determined (X).

Since version 4.0.1714, if a response value doesn't exist for one of these three: AVSADDR, AVSZIP or IAVS, a space is inserted in that position.

NEW- Echeck Support Added:

Number: Magnetic Ink Check Reader. This is the entire line of numbers at the bottom of all checks. It includes the transit number, account number, and check number.

Code: Account holder's next unused (available) check number

OrganizationType: P for personal (default) or C for company. If personal, then a value for either DL Proprety should set to Driver's License Number and DLState set to State code or TaxID property set to Social Security Number (SSN) as an identifier.

For company the TaxID proprety should set to Federal Tax ID.

TransactionType: Sale (default) and Void. TransactionID must set to the return value from a previously authorize or sale transaction for void transaction type.

AuthCode: HOSTCODE populated in AuthCode property.

TransactionID: PNREF populated in TransactionID property.

*See PayflowPro/payflowproecheck.aspx in the csharp and vbnet directories for an usage sample.


Vital Native Processor

Vital Native Processor

With the Vital processor support you can skip the gateway fees and work directly against the Vital processor (aka VisaNet). Pricing and service information can be found here. Recertified November 2010.

Supported Properties:

Amount Required

AuthCode Optional

Address Optional

AvsCode Optional

AgentBankNumber Required

AgentChainNumber Required

City Not Used

Code Optional

ConnectionString Required

Country Not Used

EncryptionKey

Currency Optional

Email Not Used

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Password Required

Month Required

MerchantName Required

MerchantCity Required

MerchantPhone Required

MerchantState Required

MerchantZipPostal Required

MerchantCountry Required

Number Required

OrderID Optional

Phone Not Used

StateProvince Not Used

ReferenceNumber Optional

TestMode Not Used

Timeout Optional

TransactionID Optional

TransactionType Optional

TerminalNumber Required

TerminalID Required

TimeZone Optional

SettleInterval Optional

SettleHourInterval Optional

Year Required

ZipPostal Optional

Notes:

For native processor support .netCHARGE implements advanced transaction synchronization, batch and record number management which enables a native processor to be used as easily as a gateway. These features depend on a centralized cache system which is application specific. You must ensure that any transactions processed with .netCHARGE against a native processor are done though the same application as defined in Internet Information Server and that .netCHARGE, through this application, is the only system processing transactions against your merchant account.

AuthorizationSourceCode: The source of the authorization code. The received value (code) is stored in the database.

Login: A 12-digit unique number, assigned by the signing merchant's bank or processor.

Password: A 6-digit Bank Identification number (BIN)

StoreNumber: A 4-digit store number

TerminalNumber: A 4-digit terminal number

MerchantName: The merchant name as provided by the signing member or processor. (up to 25 characters) If the property is set to a value more than 25 characters, .netCHARGE will use the first 25 characters.

MerchantPhone: Customer Service Phone Number in this format: xxx-xxxxxxx

MerchantState: The merchant state/province code provided by the signing member or processor.(2-character)

MerchantZipPostal: Within the United States, the 5 or 9-character numeric zip code of the address of the store location is used. Outside the United States, this property is assigned by the signing member or processor.

MerchantCity: The merchant location/city provided by the signing member or processor. (up to 13 character)

AgentBankNumber: A 6-digit number contains an agent number assigned by the signing member or processor.

AgentChainNumber: A 6-digit number contains a merchant chain identification number assigned by the signing member or processor.

TerminalID: A 8-digit number contains the number to accommodate a POS device tracking number. (V number)

OrderID: A string of alphanumeric characters up to 25. It is inserted to Transactions table after successful authorization and post to Vital system for settlement. If the property set to a value more than 25 characters, .netCHARGE only uses the first 25 characters for settlement.

TransactionType: Supports sale (default), authorize, postauthorize, force, void, refund, reversal and settle. Settle type, settle the open batch if exist. (samples for all types provided.)

SettleInterval: Determines the interval to automatically settle a batch after a specific number of transactions. By default this value in 1 which case the batch is settled after each transaction. For stores with more than 999 transaction weekly, this property should set to more than 1 because the batch number (1-999) should not be repeated within a 5 business day period. Both SettleHourInterval and SettleInterval may be used at the same time and whichever occurs first will trigger a new batch.

SettleHourInterval: Determines the interval to automatically settle a batch after a specific number of hours. By default this value is 0 which settles each transaction within its own batch automatically. For the stores with more than 999 transaction weekly, this property should set to more than 0 because the batch number (1-999) may not be repeated during a 5 business day period. Both SettleHourInterval and SettleInterval may be used at the same time and whichever occurs first will trigger a new batch.

MerchantCategoryCode: A 4-character numeric value contains a number assigned

by the signing member or processor to identify a merchant industry classification. This is done in accordance with their industry classification (standardized).

MerchantCategoryCode= 5999; //default is 5999:MISC. SPECIALTY RETAIL

DeviceCode: A 1-character value to identity the device type of the merchant

submitting the authorization request. Possible values:

O: Unknown or Unsure

C: P.C.

D: Dial terminal

E: Electronic Cash Register

I: In-Store Promotion

M:Main Frame

Q:Third party developer

R:POS port

S:POS partner

Z: Suppress PS2000/ Merit response fields.

DeviceCode="Q"; //default is Q

IndustryCode: A 1-character value to identity the industry type of the

merchant submitting the authorization request. Possible values:

0: Unknown or Unsure

A: Auto Rental

B: Bank/Financial Institution

D: Direct Marketing

F: Food/Restaurant

G: Grocery Store/Supermarket

H: Hotel

L: Limited Amount Terminal

O: Oil Company/Automated Fueling System

P: Passenger Transport

R: Retail

IndustryCode="D"; //default is D

Language: A 2-character numeric language indicator designates the language

to be used in formatting the authorization response text message.

Language="00"; //default is English, Other options: Spanish 01, Portuguese

02

RequestedACI: A 1-character value to identify an authorization request as

potentially qualifying for CPS(Custom Payment Services) and MasterCard Merit

programs. Possible values:

N: Device is not CPS capable

Y: Device is CPS capable

P: CPS capable- Manually keyed Hotel/Lodging transaction or Preferred

customer authorization request for Hotel, Auto Rental, and Passenger

Transport Industries.

-MasterCard request authorization characteristics indicator:

N: Device is not Merit capable

Y: Device is Merit capable

P: MasterCard TIPS(Travel Industries Premiere Service)

R: MasterCard SIIP (recurring payment)

RequestedACI="N"; Default is Y.

NEW:

Partial approval support: if there are insufficient funds to authorize the full amount. In this case, Charge method still returns 1, but the requested amount is set to OriginalAmount property and the partial approval amount is set to Amount property. Therefore, for checking whether the transaction fully or partially approved, just check if OriginalAmount > 0, if yes, get the approval amount from Amount property.

CardLevel: This property contains the two-character code created by Visa during the authorization process and is being used during the settlement. If accepting Visa with Vital, please verify CardLevel field exists in Transactions table.

Batch Object:

ID: Unique batch ID in batches table.

Number: A 3-digit batch number between 001-999 generated by .netCHARGE.

Status: Batch result. 1 successful, 2 error return from .netCHARGE , 3 error return from vital processor.

ErrorData: Rejected batch response message.

ErrorFieldNumber: The sequential field number within the data record which generated the rejected batch response message.

ErrorRecordNumber: The sequential number of the data record which caused the rejected batch state.

ErrorRecordType: The data record which generated the rejected batch response. H: header, P: parameter, D: detail, T: trailer.

ErrorType: The nature of a rejected batch. B: blocked terminal, C: card type error, D: device error, E: error in batch, P: vital residency requirement error, S: sequence error, T: transmission error, U: unknown error, V: routing error.

AVS Codes:

A: Address Match.

B: Partial match. Street address matches, but postal code not verified. Returned only for non-U.S.-issued Visa cards.

C: Not verified Street address and postal code not verified. Returned only for non-U.S.-issued Visa cards.

D: Match. Street address and postal code both match. Returned only for non-U.S.-issued Visa cards.

E: Error. Not a mail/phone order

G: Not supported. Non-U.S. issuing bank does not support AVS.

I: Not verified Address not verified. Returned only for non-U.S.-issued Visa cards.

K Partial match This code is returned only if you are signed up to use Enhanced AVS or AAV+ with the American Express Phoenix processor. Card member's name matches. Both billing address and billing postal code do not match.

L Partial match This code is returned only if you are signed up to use Enhanced AVS or AAV+ with the American Express Phoenix processor. Card member's name matches. Billing postal code matches, but billing address does not match.

M: Match.Street address and postal code both match. Returned only for non-U.S.-issued Visa cards.

N:No match.Street address, 5-digit postal code, and 9-digit postal code all do not match.

P: Partial match.Postal code matches, but street address not verified. Returned only for non-U.S.-issued Visa cards.

R:System unavailable.

S: Not supported, U.S. issuing bank does not support AVS.

U:System unavailable Address information unavailable. Returned if non-U.S. AVS is not available or if the AVS in a U.S.

W:Partial match' Street address does not match, but 9-digit postal code matches.

X:Exact match. Street address and 9-digit postal code both match.

Y:Match.Street address and 5-digit postal code both match.

Z:Partial match. Street address does not match, but 5-digit postal code matches.

0: other issues

Vital errors:

ErrorCode:QD

ErrorMessage:0010329

The ErrorCode:QD means a batch with Batch number "001"already settled. (ErrorMessage:0010329 : 001 is batch number and 03209 is batch transmition date : MMDD ) The batch number must not be reused or repeated within five consecutive days.

.netCHARGE stores the last batch number in a static variable and when the server restart or application reset,

it loads the last bach number from database. Please check the database connection if you have an issue with batch number as if it can't get the value from the db it will use 001.

-Error message is "RE ENTER" : That means there is something wrong in the message. It could be almost anything, like sending Alpha chars in a numeric field, or the name of the city is longer than 13 chars, Merchant information is not correct, etc. The information is case sensitive for example, CC.MerchantState property must set to "CA" not "ca".


WorldPay

WorldPay

This gateway has transitioned to RBSWorldPay

WorldPay's strength is its support for international merchants along with its one stop solutions providing both a gateway and merchant account to get customers processing credit cards on their site in no time. You should contact worldpay to determine if you qualify for an account that is compatible with .netCHARGE. New: .netCHARGE supports Business Gateway Plus accounts on RBS Worldpay

Supported Properties:

Amount Required

AuthCode Optional

Address Optional

AccountID Optional

AvsCode Optional

BankCode Optional

BankName Not Used

Certificate Not Used

City Optional

Code Optional

Country Optional

CustomerID Not Used

Description Optional

Email Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Password Required

Month Required

Number Required

OrderID Optional

Phone Optional

StateProvince Not Used

TestMode Optional

Timeout Optional

TransactionID Optional

TransactionType Optional

Year Required

ZipPostal Optional

Notes:

Login: Use your invisible installation id

Password: Authorization password set in invisible worldpay administration, contact worldpay for details.

TransactionID: Mandatory for refund and postauthorize transaction types.

TransactionType: Supports sale (default), authorize, postauthorize (aka force), and refund (if amount is not set a full refund occurs, if it is set a partial refund is run).

Currency: This processor has very wide international support. It also enables you to charge in difference currencies. The default is USD.

IssueDate: (optional) DateTime property used to set worldpay's cardStartMonth and cardStartYear options for credit card dates in addition to expiry information.

IssueNumber: Sets the cardIssueNo parameter.

For setting the name on the credit card for this company, use the CardName property (for the full name provided by the customer) in place of FirstName and LastName.

AvsCode description: AvsCode returns a 3 digit number:

1st character indicates Postcode Avs check.

2nd character indicates address Avs check.

3rd character indicates country comparison check Avs check.

The possible values for each result character are:

0: Not supported

1: Not checked

2: Matched

4: Not match

8: Partially match

Cvv2 Code description: It returns a 1 digit number:

The possible values for each result are:

0: Not supported

1: Not checked

2: Matched

4: Not match

8: Partially match


YourPay

YourPay

NOTE: This gateway has transitioned to FirstData Global Gateway

Pricing and service information can be found here.

Supported Properties:

Amount Required

AuthCode Optional

Address Optional

AvsCode Optional

BankCode Not Used

BankName Not Used

CardName Optional

Certificate Not Used

City Optional

ClientIP Optional

Code Optional

Country Optional

Company Optional

CustomerID Optional

Description Optional

Email Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Required

Password Not Used

Month Required

Referrer Required

Number Required

OrderID Optional

Phone Optional

Fax Optional

StateProvince Optional

TestMode Optional

Timeout Optional

TransactionID Optional

TransactionType Optional

Year Required

ZipPostal Optional

Login: set to your store number provided by yourpay in merchant's welcome email.

Supports transaction types of Sale (capture), authorize and postauthorize. For other types like void, refund and credit use the securepay admin.


YourPayCOM

YourPayCOM

RETIRED (this gateway has been retired and may or may not be offered for legacy use by this gateway vendor).

Use YourPay instead which uses a new API that does not have a COM dependency.

Pricing and service information can be found here.

Supported Properties:

Amount Required

AuthCode Optional

Address Optional

AvsCode Optional

CardName Optional

Certificate Required

City Optional

ClientIP Optional

Code Optional

Company Optional

Country Optional

Description Optional

Email Optional

Server Optional

ErrorCode Optional

ErrorMessage Optional

Login Not Used

Password Required

Month Required

Number Required

OrderID Required

Phone Optional

Setting Optional

StateProvince Optional

TestMode Optional

Timeout Optional

TransactionID Optional

TransactionType Optional

Year Required

ZipPostal Optional

Login: set to your store number provided by yourpay in merchant's welcome email.

Transaction Types:

Supports transaction types of Sale (capture), Authorize, PostAuthorize, Void and Credit. For Sale and Authorize, OrderID property must be unique. For Void, Credit, and PostAuthorize,OrderID property must be a valid OrderID from a prior Sale or Authorize transaction.

Certificate property is required:

This references a certificate file provided by Linkpoint

obj.certificate = "C:\linkpoint\mycert.pem"

LpiCom_6_0.dll must be registered on the server for this processor:

See /bin/readme.txt for additional details.

Other Options:

TransactionOrigin="ecommerce"; //default, moto: mail/telephone order , retail: retail transaction

TestMode: Setting TestMode =true, sends the data to the link point test server "staging.linkpt.net" instead of the production server "secure.linkpt.net". You can also control the result mode in each server by using the Setting property. Set to LIVE for live mode, GOOD for an approved response in test mode, DECLINE for a declined reponse in test mode, or DUPLICATE for a duplicate response in test mode. Defaults to LIVE. You must ensure you account is property setup for each server you wish to process against.


Support

Navigation: »No topics above this level«

Support

 Return to chapter overview

Before contacting support be sure to read the frequent questions listings and review the support policy.


Frequent Questions

Navigation: Support >

Frequent Questions

 Return to chapter overview

What are the security requirements for this product?

.netCHARGE securely passes credit card transaction details from your server to the gateway / processor using SSL. This provides a secure interface between your site / server and the gateway / processor. As with any sensitive information collected on your web site, you are still responsible for securing the communication between your clients web browser and your site / web server. To do this you should obtain a secure certificate and always ensure that any sensitive information is accepted only through a page secured via SSL (https). If you do not have an SSL certificate, you can purchase one here.

Do you support processor / gateway xyz?

A list of currently supported processors and gateways can be found here. If you would like to request the addition of a specific gateway or processor that is not currently supported please let us know. We track every single client request and implement additional systems on a regular basis based on client feedback and demand.

How can I save on gateway fees?

By working with a native processor. .netCHARGE is now certified with and supports Vital, Nova and Paymentech directly. Connect directly from your site to the payment processor and stop paying gateway fees.

What is the difference between a gateway and a processor?

A gateway is a company that provides a web interface to a processor for running transactions. They provide a "gateway" to the processor. They also provide reporting and add-on products such as anti-fraud measures and web based administration and reporting for transactions you have run. The processor is the company that provides your merchant account and actually processes the charges. With .netCHARGE you are able to work directly with a processor but some may still choose to work with gateways for admin and other features they offer.

Is the license cost a one time cost?

Yes, our product is a software solution you license for a one time fee, new versions may carry an upgrade fee depending on the extent of the new features and would only be required if you wished to utilize the new features offered. We have no service based offering and charge no service fees. You would, though your arrangement with your bank and selected gateway, have charges specific to processing credit cards on your account. You would need to contact one of the supported gateways / processors directly to obtain specific pricing on their services.

I already process credit cards in a traditional offline environment, can your software be used for our new online store?

If you already have a merchant account, chances are one of the gateway providers will be able to tie into it so your online and traditional transactions can be settled to the same account. Please contact your preferred gateway provided for additional details.

Does this product work in winform applications?

No, it is webform (ASP.NET) specific at this time. Please let us know if you would be interested in a winforms version by emailing info@dotnetcharge.com

"dotnetcharge.CC not defined" Error Resolution:

- the dll is in the default "bin" directory

-bin directory should be in the root of the application. If you just copy

the sample to the root directory, you should move bin to the root

(e.g "c:/inetpub/wwwroot/bin") or create an application on it.

-Read/execute permission for aspnet are required.

Q: Does HSBC support solo / switch (debit cards)?

Yes, it is supported, start date and issue number must be set for Solo and Switch cards. .netCHARGE sets start date though IssueDate and issue number through IssueNumber properties. .netCHARGE will also set card type to "solo" if CC Number starts with 6334 or 6767.

Getting Error: “Could not load file or assembly 'dotnetCHARGE' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.”

.netCHARGE V. 8.0 or newer versions use .NET 4 runtime, this error indicates your application uses older version, please update your application to use .NET 4 runtime.

Getting Error: “The request was aborted: Could not create SSL/TLS secure channel.”

Please upgrade to .netCHARGE V. 8.0. PayPal and some other payment processors upgraded the protocols used to secure all external connections made to our systems. Transport Layer Security version 1.2 (TLS 1.2) and Hypertext Transfer Protocol version 1.1 (HTTP/1.1) become mandatory for communication with PayPal and some other payment processors in 2016.

Instead of upgrade, the following setting can be added to global.ascx:

protected void Application_Start()

{

System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;

}

Please let us know if you have any questions / comments or suggestions!


Support Policy

Navigation: Support >

Support Policy

 Return to chapter overview

30 days of priority email support is provided with purchase. After this point free support is provided on an as available basis.

Support is offered for evaluations / presales on an as available basis.

Free upgrades are provided within 90 days of purchase.

Priority support contracts may be purchased.


Contacting Support

Navigation: Support >

Contacting Support

 Return to chapter overview

You can contact support by emailing info@dotnetcharge.com

Please be sure to include the following information:

· Your orderid provided when you purchased .netCHARGE
· A detailed description of your problem
· An exact error message if applicable
· Specifics of your server environment


Licensing Information

Navigation: »No topics above this level«

Licensing Information

 Return to chapter overview

This section includes information on pricing as well as the license agreement.


Pricing & Purchase

Navigation: Licensing Information >

Pricing & Purchase

 Return to chapter overview

.netCHARGE is Licensed per store / gateway login:

 | $125 | $395 | $395 | $995
Usage: | A single gateway on one web site (www.yourdomain.com) | Multiple gateways on a single server. | A single processor on one web site (www.yourdomain.com) | Multiple processors or gateways on a single server

SaaS: The licenses listed above do not allow for SaaS (Software as a Service, hosted or service bureau licensing). If you are charging your customers access to a service where they utilize payment functionality through .netCHARGE, a SaaS license would be required. If a customer is utilizing their own merchant account, a SaaS license is required.

Bonus: We are including a free localhost development license with each license of .netCHARGE sold.

When you purchase .netCHARGE you are asked to provide your web site address. Your license is bound to this address and allows for the product to work on this site only, for a single gateway login. With each purchase, a free development license is included which allows you to use the product through localhost for development purposes at no additional charge.

What is a gateway login? This is the login provided by your selected gateway. It allows you to process transactions and have them settled to a single merchant account with a single gateway. If you need to settle accounts for multiple unique merchants, have multiple stores, or a mall environment you would need to purchase multiple licenses or obtain the full server license.

What is a processor? A processor enables direct communcication without a gateway, saving gateway fees.

Upgrades: Free upgrades are included within 90 days of purchase. Upgrades beyond this period are available for a discounted rate of $75 for a web site license and $195 for a web server license. If you are not needing new gateway support (switching gateways for example) there is no need to upgrade to a newer version.


License Agreement

Navigation: Licensing Information >

License Agreement

 Return to chapter overview

This license agreement is a legal agreement between you and Corporate Web Solutions Ltd. for .netCHARGE. By using this product/key you agree to be bound by the terms of this agreement.

This software/key is protected by national and international copyright laws. This software/key is licensed, not sold.

Granted Rights: This license grants you the right to install this software/key for use on a single (1) web site / store for the domain specified when your key was purchased and can not be transferred. In addition, you may use the product for local development purposes on a single (1) computer system. This product/key is licensed per store for a single gateway login. A server version license will allow for use on 1 physical server only.

Limitations: You may not reverse engineer, decompile, or disassemble .netCHARGE. You may not rent or lease this software/key, you may not transfer your rights under this license agreement. A license may not be used for any domain other than that specified at the time of purchase, licenses can not be transfered to different domains. .netCHARGE is designed to be used in web sites for real-time credit card transactions. .netCHARGE depends on third party processors for transaction processing and provides no guarantee, expressed or implied, as to the accuracy of the data or its continued return. .netCHARGE is not a development tool and may not be used in any other application outside of a web server environment. .netCHARGE may not be integrated with or incorporated into any software product or script sold or offered to any 3rd party. A single .netCHARGE license may not be used in an ISP / Mall environment, each site / store must have its own unique license or a server license must be purchased. Server licenses may not be used for providing payment services to 3rd party web sites not housed on the licensed physical server.

Ownership: Corporate Web Solutions Ltd. retains ownership of the software/key.

Liability: In no event shall Corporate Web Solutions be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of information or any other pecuniary loss) arising out of the use of inability to use this software/key, even if Corporate Web Solutions has been advised of the possibility of such damages.

Termination: Without prejudice to any other rights, Corporate Web Solutions may terminate this license agreement if you fail to comply with the terms and conditions of this agreement. In such event, you must destroy all copies of .netCHARGE, any derivative work, and all of its component parts.

General: By installing this software/key you acknowledge that you have read this license agreement, understand it, and agree to be bound by its terms and conditions.


Using the built-in syntax highlighter

Navigation: »No topics above this level«

Using the built-in syntax highlighter

 Return to chapter overview

Help & Manuals syntax highlighter helps you to format programming source code examples. The highlighter is aware of the code syntax and reserved words of Pascal, C++, Visual Basic and SQL statements.

To format a piece of text in code editor style

1 Select the topic text you want to format.
2 On the tool bar, click the drop down arrow of the syntax highlighter button.
3 From the popup menu, select the appropriate formatting style.

Once you have choosen a formatting style, you can apply the same style again by clicking the syntax highlighter button directly.

See also

Customizing the syntax highligher

Pascal syntax examples

C++ syntax examples

Visual Basic syntax examples

SQL examples


Virtual Directory Creation

Navigation: »No topics above this level«

Virtual Directory Creation

 Return to chapter overview

To create a virtual directory you should complete the following steps:

1) Open the MMC (Microsoft Management Console) also called Internet Services Management or commonly refferred to as the IIS administration.

2) You will see a list of snap ins, one of which will be called Internet Information Server. Under this you will see your server name, select this server to view a list of sites running on the server

3) Select the site you wish to add a virtual directory for, right click on this site and select "new", "virtual directory"

4) You will be prompted to enter the alias, this is the name you want to access the content through for example enter "dotnetcharge" and select next

5) You will be promoted to enter the physical path, this is the path where you unpacked .netCHARGE, for example "c:\dotnetcharge\web" you want to point to the web directory as this directory contains the web samples

6) Select "next" and "finish" on the final page.

Your virtual directory is now setup, and you can run the samples through http://www.yoursiteaddress.com/dotnetcharge. Note: you should edit the specific sample you wish to use before testing to set your login and other required details for the payment processor you selected.