We want to make payments easy for developers. Let us do the heavy lifting with these developer tools so you can simply and easily deploy payment and donation solutions.
ManagementLink services are used to obtain merchant account status details on clients, as well as to create secure process Key's on behalf of the client.
This guide provides an explanation of all the available iATS ManagementLink Web services, how they work, and how to set them up.
Functions available in ManagementLink that are explained in this guide:
Available actions include:
North American API Directory: https://www.iatspayments.com/NetGate/ManagementLinkV2.asmx
UK/Int’l API Directory: https://www.uk.iatspayments.com/NetGate/ManagementLinkV2.asmx
How iATS Web Services Work
When clients sign up with iATS they are provided with a unique merchant account. With this account and once you set up the Web services you require, you will be able to process transactions directly from your donor database, website, or online fundraising solution (without having to negotiate with individual credit card companies and payment processing vendors).
Our Web services are standard SOAP messages that are supported by a server-side programming language. If your Web server is Microsoft Internet Information Server (MS IIS), you can use C# to write the server side code to use the Web service. If your server is PHP-based, you can write PHP code to use the Web service.
A SOAP message is an XML file that contains the following elements:
For a full explanation of SOAP messages, please see https://www.w3schools.com/xml/xml_soap.asp.
A C# sample of an iATS consumer Web service is available for download here. In order to run the sample code, you will need Microsoft Visual Studio 2008 or later installed. The sample calls “GetCreditCardJournalCSVV1” method from our ReportLink.asmx Web service to get details (a journal) of a successful credit card transaction in csv type.
A PHP wrapper is available on our Github repository here. The base SOAP request and response structure for the specific services are explained below. To implement the services, you need to complete the code with your information and then integrate the code into your site or software platform. (Please note that all code will be hosted on your servers.) Once the calls are tested, you are good to go!
We have created a sample client code that allows you to test our payment systems. Please see, “Appendix A: Testing iATS Payments Systems” for details on how to use it.
For clients in the UK, you should also test the direct debit request, which requires additional parameters. That test is available below in Appendix B: Testing Direct Debit (UK Only).
For technical assistance, please email webservice@iatspayments.com.
ManagementLink services are used by our Partners to obtain merchant account status details on our mutual clients, as well as to create secure Process Key’s on behalf of the client.
Please note that iATS operates two server systems, one based in North America (NA) and one in the United Kingdom (UK). Clients in the United States and Canada will use the NA servers, while all other clients use our UK servers. The explanation of the specific services that follows will provide the links to each server address as available.
Guide to the ManagementLink Web Services
The guide that follows includes a complete overview of the requests available using our ManagementLink Web services. Each request overview includes the following:
Call to Create a Process Key
This service is for when you want to create a Process Key to use with mutual systems. A Process Key is a secure encrypted version of the “Client Code and Password” that is issued to the client on their iATS Welcome Letter.
This call is available on either our NA or UK system.
SOAP Request and Response Server Addresses
Depending on which server you require, you can find the SOAP request and response structures at the following URLs:
SOAP Request and Response Structure
The code below shows the SOAP request and response structure for the North American version of “CreateSubCodeProcessKey”.
Notes:
Request (NA server, please use link above for UK server)
POST /NetGate/ManagementLinkV2.asmx HTTP/1.1 Host: www.iatspayments.com Content-Type: application/soap+xml; charset=utf-8 Content-Length: length
<?xml version="1.0" encoding="utf-8"?> <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> <soap12:Body> <CreateSubCodeProcessKey xmlns="https://www.iatspayments.com/NetGate/"> <username>string</username> <password>string</password> </CreateSubCodeProcessKey> </soap12:Body> </soap12:Envelope> |
Response
HTTP/1.1 200 OK Content-Type: application/soap+xml; charset=utf-8 Content-Length: length
<?xml version="1.0" encoding="utf-8"?> <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> <soap12:Body> <CreateSubCodeProcessKeyResponse xmlns="https://www.iatspayments.com/NetGate/"> <CreateSubCodeProcessKeyResult>xml</CreateSubCodeProcessKeyResult> </CreateSubCodeProcessKeyResponse> </soap12:Body> </soap12:Envelope> |
Response Example:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <CreateSubCodeProcessKeyResponse xmlns="https://www.iatspayments.com/NetGate/"> <CreateSubCodeProcessKeyResult> <IATSRESPONSE xmlns=""> <AUTHRESULT> <PROCESSKEY>EXAMPLEPROCESSKEYRESULT</PROCESSKEY> <LOGINCLIENTCODE>TEST88</LOGINCLIENTCODE> </AUTHRESULT> </IATSRESPONSE> </CreateSubCodeProcessKeyResult> </CreateSubCodeProcessKeyResponse> </soap:Body> </soap:Envelope> |
Overview of Request Parameters
Here is an overview of the request parameters for the “CreateSubCodeProcessKey” above. Parameters in red are mandatory.
Parameter | Notes/Options | Char. Limit |
username | 6 | |
password |
The table below describes what can be expected for each of the return values:
Explanation of Sample Reply Message Format Values |
||
Return Value |
Occurrence |
Explanation |
STATUS |
Always |
The system-level acknowledgement code that indicates the iATS system status:
|
ERRORS |
Conditional |
Return information when Status = Failure. Return value will depend on the error. |
This service is for when you want to obtain certain merchant account data for our mutual clients. This data includes Process Key, DBA Name, Address, System Country (processing server), Currency, and Transaction Limit.
This call is available on either our NA or UK system.
SOAP Request and Response Server Addresses
Depending on which server you require, you can find the SOAP request and response structures at the following URLs:
SOAP Request and Response Structure
The code below shows the SOAP request and response structure for the North American version of “GetSubCodeStatus”.
Notes:
Request (NA server, please use link above for UK server)
POST /NetGate/ManagementLinkV2.asmx HTTP/1.1 Host: www.iatspayments.com Content-Type: application/soap+xml; charset=utf-8 Content-Length: length
<?xml version="1.0" encoding="utf-8"?> <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> <soap12:Body> <GetSubCodeStatus xmlns="https://www.iatspayments.com/NetGate/"> <username>string</username> <password>string</password> </GetSubCodeStatus> </soap12:Body> </soap12:Envelope> |
Response
HTTP/1.1 200 OK Content-Type: application/soap+xml; charset=utf-8 Content-Length: length
<?xml version="1.0" encoding="utf-8"?> <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> <soap12:Body> <GetSubCodeStatusResponse xmlns="https://www.iatspayments.com/NetGate/"> <GetSubCodeStatusResult>xml</GetSubCodeStatusResult> </GetSubCodeStatusResponse> </soap12:Body> </soap12:Envelope> |
Example of Response:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <GetSubCodeStatusResponse xmlns="https://www.iatspayments.com/NetGate/"> <GetSubCodeStatusResult> <IATSRESPONSE xmlns=""> <AUTHRESULT> <PROCESSKEY>PAAB24B9961FAC07FAA561180F6CB69A7B</PROCESSKEY> <LOGINCLIENTCODE>test88</LOGINCLIENTCODE> <DBANAME>TEST ACCOUNT CDN$</DBANAME> <COUNTRY>CDN-CDN$</COUNTRY> <ADDRESS> <STREET>111 Street</STREET> <CITY>City</CITY> <PROVINCE>State</PROVINCE> <ZIPCODE>Code</ZIPCODE> </ADDRESS> <CURRENCY>CDN</CURRENCY> <TRANSLIMIT>2000.00</TRANSLIMIT> </AUTHRESULT> </IATSRESPONSE> </GetSubCodeStatusResult> </GetSubCodeStatusResponse> </soap:Body> </soap:Envelope> |
Overview of Request Parameters
Here is an overview of the request parameters for the “GetSubCodeStatus” above. Parameters in red are mandatory.
Parameter |
Notes/Options |
Char. Limit |
username |
6 |
|
password |
The table below describes what can be expected for each of the return values:
Explanation of Sample Reply Message Format Values |
||
Return Value |
Occurrence |
Explanation |
STATUS |
Always |
The system-level acknowledgement code that indicates the iATS system status:
|
ERRORS |
Conditional |
Return information when Status = Failure. Return value will depend on the error. |