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.
ReportLink allows you to extract all transactions from the iATS database and import into your database for reporting, etc. Reports include Credit Card and ACH/EFT (direct debit) for approved, failed or refunded transactions.
Functions available in ReportLink that are explained in this guide:
iATS ReportLink Web Services allow you to generate transaction reports for the majority of the services available from the iATS system, giving you easy access to the status and effectiveness of your donation forms.
Most reports can be generated in either XML or CSV.
Available reports include:
North American API Directory: https://www.iatspayments.com/netgate/reportlinkv3.asmx
UK/Int’l API Directory: https://www.uk.iatspayments.com/NetGate/ReportLinkv2.asmx
When you sign up with iATS, we will provide you 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
http://www.w3schools.com/webservices/ws_soap_syntax.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 technical assistance, please email webservice@iatspayments.com.
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 ReportLink Web Services
The guide that follows includes an overview of the requests available using our ReportLink Web services.
Each request overview includes the following:
This section will explain how to use the Web service calls to request a report of approved credit card transactions on a specific date, depending on your desired format:
These calls are available on either our NA or UK system.
SOAP Request and Response Server Addresses
Depending on which service 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 “GetCreditCardApprovedSpecificDateCSV”.
Notes:
Request (This is for NA server, for UK server please use link above)
POST /NetGate/ReportLinkv2.asmx HTTP/1.1 Host: www.uk.iatspayments.com <?xml version="1.0" encoding="utf-8"?> <soap12:Body> <GetCreditCardApprovedSpecificDateCSV xmlns="https://www.iatspayments.com/NetGate/"> <agentCode>string</agentCode> <password>string</password> <date>dateTime</date> <customerIPAddress>string</customerIPAddress> </GetCreditCardApprovedSpecificDateCSV> </soap12:Body> </soap12:Envelope> |
Response
HTTP/1.1 200 OK <?xml version="1.0" encoding="utf-8"?> <soap12:Body> <GetCreditCardApprovedSpecificDateCSVResponse xmlns="https://www.iatspayments.com/NetGate/"> <GetCreditCardApprovedSpecificDateCSVResult>xml</GetCreditCardApprovedSpecificDateCS VResult> </GetCreditCardApprovedSpecificDateCSVResponse> </soap12:Body> </soap12:Envelope> |
Overview of Request Parameters
Here is an overview of the request parameters for the North American version of “GetCreditCardApprovedSpecificDateCSV”.
Parameters in red are mandatory.
Parameter |
Notes/Options |
Char. Limit |
agentCode |
10 |
|
password |
10 |
|
date |
Value=”dateTime”; ISO 8601 format. e.g. 2008-10-31T15:07:38.6875000 ("yyyy-MM-dd'T'HH:mm:ss.fffffffZ") |
N/A |
customerIPAddress |
This is the IP address of the donor’s computer. Please send to fully utilise the Fraud tools available from iATS. IPv4 or IPv6. |
This section will explain how to use the Web service calls to request a report of approved credit card transactions over a date rage including additional fields captured from the donor. This report is only available in .CSV format.
This call is available on either our NA or UK system.
SOAP Request and Response Server Addresses
Depending on which service 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 “GetCreditCardApprovedDateRangeCSV”.
Notes:
Request (This is for NA server, for UK server please use link above)
POST /NetGate/ReportLinkv2.asmx HTTP/1.1 <?xml version="1.0" encoding="utf-8"?> <soap12:Body> <GetCreditCardApprovedDateRangeCSV xmlns="https://www.iatspayments.com/NetGate/"> <agentCode>string</agentCode> <password>string</password> <fromDate>dateTime</fromDate> <toDate>dateTime</toDate> <customerIPAddress>string</customerIPAddress> <startIndex>int</startIndex> <endIndex>int</endIndex> </GetCreditCardApprovedDateRangeCSV> </soap12:Body> </soap12:Envelope> |
Response
HTTP/1.1 200 OK <?xml version="1.0" encoding="utf-8"?> <soap12:Body> <GetCreditCardApprovedDateRangeCSVResponse xmlns="https://www.iatspayments.com/NetGate/"> <GetCreditCardApprovedDateRangeCSVResult>xml</GetCreditCardApprovedDateRangeCSVR esult> </GetCreditCardApprovedDateRangeCSVResponse> </soap12:Body> </soap12:Envelope> |
Overview of Request Parameters
Here is an overview of the request parameters for the North American version of “GetCreditCardApprovedDateRangeCSV”.
Parameters in red are mandatory.
Parameter |
Notes/Options |
Char. Limit |
agentCode |
10 |
|
password |
10 |
|
fromDate |
Value=”dateTime”; ISO 8601 format. e.g. 2008-10-31T15:07:38.6875000 ("yyyy-MM-dd'T'HH:mm:ss.fffffffZ") |
N/A |
toDate |
Value=”dateTime”; ISO 8601 format. e.g. 2008-10-31T15:07:38.6875000 ("yyyy-MM-dd'T'HH:mm:ss.fffffffZ") |
N/A |
customerIPAddress |
This is the IP address of the donor’s computer. Please send to fully utilise the Fraud tools available from iATS. IPv4 or IPv6. |
|
startIndex |
||
endIndex |
This section will explain how to use the Web service calls to request a report of rejected credit card transactions on a specific date, depending on your desired format:
These calls are available on either our NA or UK system.
SOAP Request and Response Server Addresses
Depending on which service 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 “GetCreditCardRejectSpecificDateCSV”.
Notes:
Request (This is for NA server, for UK server please use link above)
POST /NetGate/ReportLinkv2.asmx HTTP/1.1 <?xml version="1.0" encoding="utf-8"?> <soap12:Body> <agentCode>string</agentCode> <password>string</password> <date>dateTime</date> <customerIPAddress>string</customerIPAddress> </GetCreditCardRejectSpecificDateCSV> </soap12:Body> </soap12:Envelope> |
Response
HTTP/1.1 200 OK <?xml version="1.0" encoding="utf-8"?> <soap12:Body> <GetCreditCardRejectSpecificDateCSVResponse xmlns="https://www.iatspayments.com/NetGate/"> <GetCreditCardRejectSpecificDateCSVResult>xml</GetCreditCardRejectSpecificDateCSVResul t> </GetCreditCardRejectSpecificDateCSVResponse> </soap12:Body> </soap12:Envelope> |
Overview of Request Parameters
Here is an overview of the request parameters for the North American version of “GetCreditCardRejectSpecificDateCSV”.
Parameters in red are mandatory.
Parameter |
Notes/Options |
Char. Limit |
agentCode |
10 |
|
password |
10 |
|
date |
Value=”dateTime”; ISO 8601 format. e.g. 2008-10-31T15:07:38.6875000 ("yyyy-MM-dd'T'HH:mm:ss.fffffffZ") |
N/A |
customerIPAddress |
This is the IP address of the donor’s computer. Please send to fully utilise the Fraud tools available from iATS. IPv4 or IPv6. |
This section will explain how to use the Web service calls to request a report of rejected credit card transactions over a date rage including additional fields captured from the donor. This report is only available in .CSV format.
Depending on which service 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 “GetCreditCardRejectDateRangeCSV”.
Notes:
Request (This is for NA server, for UK server please use link above)
POST /NetGate/ReportLinkv2.asmx HTTP/1.1 <?xml version="1.0" encoding="utf-8"?> <soap12:Body> <agentCode>string</agentCode> <password>string</password> <fromDate>dateTime</fromDate> <toDate>dateTime</toDate> <customerIPAddress>string</customerIPAddress> <startIndex>int</startIndex> <endIndex>int</endIndex> </GetCreditCardRejectDateRangeCSV> </soap12:Body> </soap12:Envelope> |
Response
HTTP/1.1 200 OK <?xml version="1.0" encoding="utf-8"?> <soap12:Body> <GetCreditCardRejectDateRangeCSVResponse xmlns="https://www.iatspayments.com/NetGate/"> <GetCreditCardRejectDateRangeCSVResult>xml</GetCreditCardRejectDateRangeCSVResult> </GetCreditCardRejectDateRangeCSVResponse> </soap12:Body> </soap12:Envelope> |
Overview of Request Parameters
Here is an overview of the request parameters for the North American version of “GetCreditCardRejectDateRangeCSV”.
Parameters in red are mandatory.
Parameter |
Notes/Options |
Char. Limit |
agentCode |
10 |
|
password |
10 |
|
fromDate |
Value=”dateTime”; ISO 8601 format. e.g. 2008-10-31T15:07:38.6875000 ("yyyy-MM-dd'T'HH:mm:ss.fffffffZ") |
N/A |
toDate |
Value=”dateTime”; ISO 8601 format. e.g. 2008-10-31T15:07:38.6875000 ("yyyy-MM-dd'T'HH:mm:ss.fffffffZ") |
N/A |
customerIPAddress |
This is the IP address of the donor’s computer. Please send to fully utilise the Fraud tools available from iATS. IPv4 or IPv6. |
|
startIndex |
||
endIndex |
This section will explain how to use the Web service calls to request a report of approved Bank Debit style transactions on a specific date, depending on your desired format. These types of transaction may be referred to as ACH/EFT, Direct Debit, and SEPA Debit depending on the currency.
These calls are available on either our NA or UK system.
SOAP Request and Response Server Addresses
Depending on which service 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 “GetACHEFTApprovedSpecificDateCSV”.
Notes:
Request (This is for NA server, for UK server please use link above)
POST /NetGate/ReportLinkv2.asmx HTTP/1.1 <?xml version="1.0" encoding="utf-8"?> <soap12:Body> <GetACHEFTApprovedSpecificDateCSV xmlns="https://www.iatspayments.com/NetGate/"> <agentCode>string</agentCode> <password>string</password> <date>dateTime</date> <customerIPAddress>string</customerIPAddress> </GetACHEFTApprovedSpecificDateCSV> </soap12:Body> </soap12:Envelope> |
Response
HTTP/1.1 200 OK <?xml version="1.0" encoding="utf-8"?> <soap12:Body> <GetACHEFTApprovedSpecificDateCSVResponse xmlns="https://www.iatspayments.com/NetGate/"> <GetACHEFTApprovedSpecificDateCSVResult>xml</GetACHEFTApprovedSpecificDateCSVRes ult> </GetACHEFTApprovedSpecificDateCSVResponse> </soap12:Body> </soap12:Envelope> |
Overview of Request Parameters
Here is an overview of the request parameters for the North American version of “GetACHEFTApprovedSpecificDateCSV”.
Parameters in red are mandatory.
Parameter |
Notes/Options |
Char. Limit |
agentCode |
10 |
|
password |
10 |
|
date |
Value=”dateTime”; ISO 8601 format. e.g. 2008-10-31T15:07:38.6875000 ("yyyy-MM-dd'T'HH:mm:ss.fffffffZ") |
N/A |
customerIPAddress |
This is the IP address of the donor’s computer. Please send to fully utilise the Fraud tools available from iATS. IPv4 or IPv6. |
This section will explain how to use the Web service calls to request a report of approved Bank Debit style transactions over a date rage, including additional fields captured from the donor. These types of transaction may be referred to as ACH/EFT, Direct Debit, and SEPA Debit depending on the currency. This report is only available in .CSV format.
This call is available on either our NA or UK system.
SOAP Request and Response Server Addresses
Depending on which service 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 “GetACHEFTApprovedDateRangeCSV”.
Notes:
be replaced with actual values.
Request (This is for NA server, for UK server please use link above)
POST /NetGate/ReportLinkv2.asmx HTTP/1.1 <?xml version="1.0" encoding="utf-8"?> <soap12:Body> <agentCode>string</agentCode> <password>string</password> <fromDate>dateTime</fromDate> <toDate>dateTime</toDate> <customerIPAddress>string</customerIPAddress> <startIndex>int</startIndex> <endIndex>int</endIndex> </GetACHEFTApprovedDateRangeCSV> </soap12:Body> </soap12:Envelope> |
Response
HTTP/1.1 200 OK <?xml version="1.0" encoding="utf-8"?> <soap12:Body> <GetACHEFTApprovedDateRangeCSVResponse xmlns="https://www.iatspayments.com/NetGate/"> <GetACHEFTApprovedDateRangeCSVResult>xml</GetACHEFTApprovedDateRangeCSVResult > </soap12:Body> </soap12:Envelope> |
Overview of Request Parameters
Here is an overview of the request parameters for the North American version of “GetACHEFTApprovedDateRangeCSV”.
Parameters in red are mandatory.
Parameter |
Notes/Options |
Char. Limit |
agentCode |
10 |
|
password |
10 |
|
fromDate |
Value=”dateTime”; ISO 8601 format. e.g. 2008-10-31T15:07:38.6875000 ("yyyy-MM-dd'T'HH:mm:ss.fffffffZ") |
N/A |
toDate |
Value=”dateTime”; ISO 8601 format. e.g. 2008-10-31T15:07:38.6875000 ("yyyy-MM-dd'T'HH:mm:ss.fffffffZ") |
N/A |
customerIPAddress |
This is the IP address of the donor’s computer. Please send to fully utilise the Fraud tools available from iATS. IPv4 or IPv6. |
|
startIndex |
||
endIndex |
This section will explain how to use the Web service calls to request a report of rejected Bank Debit style transactions on a specific date, depending on your desired format. These types of transaction may be referred to as ACH/EFT, Direct Debit, and SEPA Debit depending on the currency.
Please note that rejected (processing issue) debit transactions are not the same as Returns (donor or bank initiated refund) debit transactions.
These calls are available on either our NA or UK system.
SOAP Request and Response Server Addresses
Depending on which service 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 “GetACHEFTRejectSpecificDateCSV”.
Notes:
Request (This is for NA server, for UK server please use link above)
POST /NetGate/ReportLinkv2.asmx HTTP/1.1 <?xml version="1.0" encoding="utf-8"?> <soap12:Body> <agentCode>string</agentCode> <password>string</password> <date>dateTime</date> <customerIPAddress>string</customerIPAddress> </GetACHEFTRejectSpecificDateCSV> </soap12:Body> </soap12:Envelope> |
Response
HTTP/1.1 200 OK <?xml version="1.0" encoding="utf-8"?> <soap12:Body> <GetACHEFTRejectSpecificDateCSVResponse xmlns="https://www.iatspayments.com/NetGate/"> <GetACHEFTRejectSpecificDateCSVResult>xml</GetACHEFTRejectSpecificDateCSVResult> </GetACHEFTRejectSpecificDateCSVResponse> </soap12:Body> </soap12:Envelope> |
Overview of Request Parameters
Here is an overview of the request parameters for the North American version of “GetACHEFTRejectSpecificDateCSV”.
Parameters in red are mandatory.
Parameter |
Notes/Options |
Char. Limit |
agentCode |
10 |
|
password |
10 |
|
date |
Value=”dateTime”; ISO 8601 format. e.g. 2008-10-31T15:07:38.6875000 ("yyyy-MM-dd'T'HH:mm:ss.fffffffZ") |
N/A |
customerIPAddress |
This is the IP address of the donor’s computer. Please send to fully utilise the Fraud tools available from iATS. IPv4 or IPv6. |
This section will explain how to use the Web service calls to request a report of rejected Bank Debit style transactions over a date rage, including additional fields captured from the donor. These types of transaction may be referred to as ACH/EFT, Direct Debit, and SEPA Debit depending on the currency. This report is only available in .CSV format.
Please note that rejected (processing issue) debit transactions are not the same as Returns (donor or bank initiated refund) debit transactions.
This call is available on either our NA or UK system.
SOAP Request and Response Server Addresses
Depending on which service 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 “GetACHEFTRejectDateRangeCSV”.
Notes:
Request (This is for NA server, for UK server please use link above)
POST /NetGate/ReportLinkv2.asmx HTTP/1.1 <?xml version="1.0" encoding="utf-8"?> <soap12:Body> <agentCode>string</agentCode> <password>string</password> <fromDate>dateTime</fromDate> <toDate>dateTime</toDate> <customerIPAddress>string</customerIPAddress> <startIndex>int</startIndex> <endIndex>int</endIndex> </GetACHEFTRejectDateRangeCSV> </soap12:Body> </soap12:Envelope> |
Response
HTTP/1.1 200 OK <?xml version="1.0" encoding="utf-8"?> <soap12:Body> <GetACHEFTRejectDateRangeCSVResponse xmlns="https://www.iatspayments.com/NetGate/"> <GetACHEFTRejectDateRangeCSVResult>xml</GetACHEFTRejectDateRangeCSVResult> </GetACHEFTRejectDateRangeCSVResponse> </soap12:Body> </soap12:Envelope> |
Here is an overview of the request parameters for the North American version of “GetACHEFTRejectDateRangeCSV”.
Parameters in red are mandatory.
Parameter |
Notes/Options |
Char. Limit |
agentCode |
10 |
|
password |
10 |
|
fromDate |
Value=”dateTime”; ISO 8601 format. e.g. 2008-10-31T15:07:38.6875000 ("yyyy-MM-dd'T'HH:mm:ss.fffffffZ") |
N/A |
toDate |
Value=”dateTime”; ISO 8601 format. e.g. 2008-10-31T15:07:38.6875000 ("yyyy-MM-dd'T'HH:mm:ss.fffffffZ") |
N/A |
customerIPAddress |
This is the IP address of the donor’s computer. Please send to fully utilise the Fraud tools available from iATS. IPv4 or IPv6. |
|
startIndex |
||
endIndex |
This section will explain how to use the Web service calls to request a report of returned Bank Debit style transactions for a specific date, for North American ACH and Euro SEPA only. These types of transactions may be referred to as ACH/EFT and SEPA Debit depending on the currency.
Please note that Returns (donor or bank initiated refund) debit transactions are not the same as rejected (processing issue) debit transactions.
This call is available on either our NA or UK system, but should not be used for UK Direct Debit BACS report returns.
SOAP Request and Response Server Addresses
Depending on which service 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 “GetACHEFTReturnSpecificDateCSV”.
Notes:
Request (This is for NA server, for UK server please use link above)
POST /NetGate/ReportLinkv2.asmx HTTP/1.1 <?xml version="1.0" encoding="utf-8"?> <soap12:Body> <agentCode>string</agentCode> <password>string</password> <date>dateTime</date> <customerIPAddress>string</customerIPAddress> </GetACHEFTReturnSpecificDateCSV> </soap12:Body> </soap12:Envelope> |
Response
HTTP/1.1 200 OK <?xml version="1.0" encoding="utf-8"?> <soap12:Body> <GetACHEFTReturnSpecificDateCSVResponse xmlns="https://www.iatspayments.com/NetGate/"> <GetACHEFTReturnSpecificDateCSVResult>xml</GetACHEFTReturnSpecificDateCSVResult> </GetACHEFTReturnSpecificDateCSVResponse> </soap12:Body> </soap12:Envelope> |
Here is an overview of the request parameters for “GetACHEFTReturnSpecificDateCSV” above.
Parameters in red are mandatory.
Parameter |
Notes/Options |
Char. Limit |
agentCode |
Client’s six digit iATS Sub-code |
10 |
password |
Password assigned to iATS Sub-Code |
10 |
date |
Value=”dateTime”; ISO 8601 format. |
N/A |
customerIPAddress |
This is the IP address of the donor’s computer. Please send to fully utilise the Fraud tools available from iATS. IPv4 or IPv6. |
This section will explain how to use the Web service calls to request a report of returned Bank Debit style transactions, plus donor details over a date range for North American ACH and Euro SEPA only. These types of transaction may be referred to as ACH/EFT and SEPA Debit depending on the currency. This report is only available in .CSV format.
Please note that Returns (donor or bank initiated refund) debit transactions are not the same as rejected (processing issue) debit transactions.
SOAP Request and Response Server Addresses
Depending on which service 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 “GetACHEFTReturnDateRangeCSV”.
Notes:
Request (This is for NA server, for UK server please use link above)
POST /NetGate/ReportLinkv2.asmx HTTP/1.1 <?xml version="1.0" encoding="utf-8"?> <soap12:Body> <agentCode>string</agentCode> <password>string</password> <fromDate>dateTime</fromDate> <toDate>dateTime</toDate> <customerIPAddress>string</customerIPAddress> </GetACHEFTReturnDateRangeCSV> </soap12:Body> </soap12:Envelope> |
Response
HTTP/1.1 200 OK <?xml version="1.0" encoding="utf-8"?> <soap12:Body> <GetACHEFTReturnDateRangeCSVResponse xmlns="https://www.iatspayments.com/NetGate/"> <GetACHEFTReturnDateRangeCSVResult>xml</GetACHEFTReturnDateRangeCSVResult> </GetACHEFTReturnDateRangeCSVResponse> </soap12:Body> </soap12:Envelope> |
Here is an overview of the request parameters for “GetACHEFTReturnDateRangeCSV” above.
Parameters in red are mandatory.
Parameter |
Notes/Options |
Char. Limit |
agentCode |
Client’s six digit iATS Sub-code |
10 |
password |
Password assigned to iATS Sub-Code |
10 |
fromDate |
Value=”dateTime”; ISO 8601 format. |
N/A |
toDate |
Value=”dateTime”; ISO 8601 format. |
N/A |
customerIPAddress |
IP address of donor’s computer – Not needed for this call |
N/A |
In Direct Debit, all communications with the banking system go through the Bacs clearing service. Submitting and receiving messages from Bacs is therefore essential to collecting payments by Direct Debit.
This section details how to download the ARUDD, AUDDIS, ADDACS, and the DDICA from our UK Direct Debit acquirer Smart Debit directly, enabling you to receive updates from BACS in the form of XML reports. Updates on the reports could include a notification about payment failures, Direct Debit indemnity claims, or changes made by the donor or their bank.
Each report is for a separate notification type, and contains a line for each event of that type. For examples of each response result, please see Section 3 of this document.
The different reports and their reason codes are described below:
AUDDIS/ADDACS
Notifications about the Direct Debit Instructions are received as AUDDIS (Automated Direct Debit Instruction Service) or ADDACS (Automated Direct Debit Amendment and Cancellation Service) messages.
1. AUDDISmessages
AUDDIS messages relate to the DDI setup process, and cancellations initiated by the merchant. If there have been any problems with the setup or cancellation you'll receive an AUDDIS message.
Generally, AUDDIS messages are generated by the donor’s bank, and are received three working days after a DDI is submitted. In some cases, however, Bacs will identify problems with your submission before passing it to the donor’s bank, and trigger an AUDDIS message immediately.
AUDDIS messages can be received for a number of reasons. These can be grouped into the below.
a. Errors in the bank account details you provided:
Code |
Bacs reason |
More details |
2 |
Payer deceased |
You have attempted to set up a DDI on the account of someone who is deceased. Extremely rare. |
3 |
Account transferred |
You have attempted to set up a DDI on a customer's old bank details. You will need to submit a new DDI using their new details. |
5 |
No account |
The account number your payer used doesn't match any bank accounts at the branch identified by their sort code. |
B |
Account closed |
You tried to set up a DDI on a closed account. |
C |
Account transferred |
Like 3, but with new account details provided, so you can update your DDI. No need to resubmit. |
L |
Incorrect payer's account details |
The sort code and account number your customer provided failed a publicly available "modulus check" to test if they could possibly be valid. |
b.Errors in the rest of DDI, or the way you submitted it: These codes should never appear for an optimized Direct Debit process.
|
Code |
Bacs reason |
More details |
I |
Payer reference is not unique |
The reference field on the DDI you submitted was already being used for another DDI you have with this customer. |
O |
Invalid reference |
The reference field on the DDI didn't comply with AUDDIS rules, e.g., because it used special characters. |
P |
Payer's name not present |
You didn't include a name for the payer on the DDI. |
c. Direct Debit Instructions cannot be set up on the requested account:
Code |
Bacs reason |
More details |
F |
Invalid account type |
The account belongs to a type of accounts which can't have DDIs set up on them. For example, some savings accounts do not allow Direct Debits. |
G |
Bank will not accept Direct Debits on account |
Direct Debits are disabled for this specific account, for example because the customer has requested this from their bank. |
N |
Transaction disallowed at payer's branch |
Direct Debits can't be collected from this sort code. For example, this sort code may be reserved for savings accounts. |
d. Errors cancelling a DDI:
Code |
Bacs reason |
More details |
1 |
Instruction cancelled by payer |
Usually received when cancelling a DDI that has already been cancelled. Exceptionally, may be sent when the customer cancels their DDI shortly after setup, and the bank incorrectly sends an AUDDIS message instead of an ADDACS message. |
6 |
No instruction |
There was no Direct Debit Instruction to cancel matching the details you submitted. |
H |
Instruction has expired |
The Direct Debit Instruction you requested to cancel had already expired. |
K |
Instruction cancelled by paying bank |
Similar to 1, but the original cancellation was triggered by the paying bank. |
2. ADDACSmessages
ADDACS messages relate to amendments or cancellations of DDIs that are made by the donor. They are not avoidable, as all ADDACS reports are triggered by the donor, but some require you to take specific action.
An example ADDACS report is available here. For reference purposes only; please see our code samples below.
ADDACS messages can be grouped into those relating to cancellations, and those relating to amendments, as below.
a. The DDI has been cancelled:
Code |
Bacs reason |
More details |
0 |
Instruction cancelled - refer to payer |
Catch-all for cancelled instructions. |
1 |
Instruction cancelled by payer |
Your customer's bank cancelled their DDI at their request. |
2 |
Payer deceased |
|
B |
Account closed |
Your customer closed their bank account, which has cancelled your DDI with them. |
D |
Advance notice disputed |
Your customer has notified their bank that they dispute the amount of notice specified on their DDI. Further payments should not be collected until the dispute is resolved. |
b. The DDI has been amended:
Code |
Bacs reason |
More details |
3 |
Account transferred to a new bank or building society |
Includes new bank details, to which you will need to send a new DDI. |
C |
Account transferred to a new bank or building society |
Includes new bank details. There is no need to send a new DDI, but you should update your records. |
E |
Instruction amended |
Your customer has changed the name or other details on their DDI, and you should update your records. No need to submit a new DDI. |
R |
Instruction re-instated |
A cancelled DDI has been re- instated by your customer's bank. |
ARUDD/DDIC:
Notifications about payment requests you've submitted are received as ARUDD (Automated Return of Unpaid Direct Debit) or DDICA (Direct Debit Indemnity Claim Advice) messages.
3. ARUDDmessages
For successful payment requests you won't receive any notification from Bacs at all. If, on the other hand, your payment fails, you'll receive an ARUDD message with a reason code describing the failure.
You can view an example ARUDD message here. For reference purposes only; please see our code samples below.
Many of the reasons for payment failure can be easily avoided. Below is a comprehensive list of all failure reasons, with details of how to avoid them.
a. Insufficient funds:
This type will generally be 90% of the ARUDD messages you receive.
Code |
Bacs reason |
More details |
0 |
Refer to payer |
The payer's bank wasn't in a position to pay the Direct Debit. This is almost always due to insufficient funds, but is occasionally used as a catch-all for other failure reasons. Generally you should contact the donor and arrange to re-try taking the payment. |
b. Mandate no longer up-to-date:
These failures are largely avoidable by regularly processing ADDACS reports. They can not be entirely eliminated, however due to the time lag between payment submission and collection:
Code |
Bacs reason |
More details |
1 |
Instruction cancelled |
You tried to collect payment against a cancelled DDI. |
2 |
Payer deceased |
Your customer's DDI will also have been cancelled. |
3 |
Account transferred |
Your customer's DDI has been transferred to a new bank account, and you submitted payment to the old account. |
5 |
No account (OR wrong account type) |
The paying bank didn't recognise the account number you submitted. It's likely that no DDI is set up. |
6 |
No instruction |
Your customer doesn't have a DDI set up with you. In rare cases, this may be due to a small bank requiring additional time to set up a Direct Debit. |
B |
Account closed |
Your customer's DDI has been cancelled as they've closed their bank account. |
c. Mistakes in payment request submission: These should never appear for an optimized Direct Debit process. |
||
Code |
Bacs reason |
More details |
8 |
Amount not yet due |
Usually caused by submission of a payment before a DDI is fully set up (less than 2 working days after submission - see timings). This may also be raised if you attempt to take a payment before the date your customer was notified of. |
9 |
Presentation overdue |
You attempted to collect a payment more than 3 working days after the date you notified your customer of. |
A |
Service user differs |
Your details don't match the details on the customer's DDI. |
Code |
Bacs reason |
More details |
4 |
Advance notice disputed |
Your customer has disputed having been notified of this Direct Debit. |
7 |
Amount differs |
Your customer has disputed that the amount taken differs from the amount they were notified of.
|
4. DDICAmessages
If one of your payments is charged back, you'll receive a DDICA (Direct Debit Indemnity Claim Advice) report from Bacs.
You can see an example DDICA report here. For reference purposes only; please see our code samples below.
The reasons for indemnity claims can be grouped into three distinct areas.
Request for UK Direct Debit BACS ARUDD Report
This section will explain how to use the Web service calls to request a report of the UK Direct Debit BACS ARUDD report for a specific date. For more information on this report and the other BACS report types, please see section 7.1 of this guide. This report is available in XML only.
This call is available on our UK system only.
SOAP Request and Response Server Addresses
Depending on which service you require, you can find the SOAP request and response structures at the following URL:
SOAP Request and Response Server Addresses
The code below shows the SOAP request and response structure for “GetDirectDebitARUDD”.
Notes:
Request (This request is for UK server only)
POST /NetGate/ReportLinkv2.asmx HTTP/1.1 <?xml version="1.0" encoding="utf-8"?> <soap12:Body> <agentCode>string</agentCode> <password>string</password> <reportDate>dateTime</reportDate> <customerIPAddress>string</customerIPAddress> </GetDirectDebitARUDD> </soap12:Body> </soap12:Envelope> |
Response:
HTTP/1.1 200 OK <?xml version="1.0" encoding="utf-8"?> <soap12:Body> <GetDirectDebitARUDDResult>xml</GetDirectDebitARUDDResult> </GetDirectDebitARUDDResponse> </soap12:Body> </soap12:Envelope> |
Examples of the XML message can be found in the Testing section of this document, Section 9.
Overview of Request Parameters
Here is an overview of the request parameters for “GetDirectDebitARUDD” above.
Parameters in red are mandatory.
Parameter |
Notes/Options |
Char. Limit |
agentCode |
10 |
|
password |
10 |
|
reportDate |
Value=”dateTime”; ISO 8601 format. |
N/A |
customerIPAddress |
This is the IP address of the donor’s computer. Please send to fully utilise the Fraud tools available from iATS. IPv4 or IPv6. |
This section will explain how to use the Web service calls to request a report of the UK Direct Debit BACS AUDDIS report for a specific date. For more information on this report and the other BACS report types, please see section 7.1 of this guide. This report is available in XML only.
This call is available on our UK system only.
SOAP Request and Response Server Addresses
Depending on which service you require, you can find the SOAP request and response structures at the following URL:
SOAP Request and Response Server Addresses
The code below shows the SOAP request and response structure for “GetDirectDebitAUDDIS”. Notes:
Request (This request is for UK server only)
POST /NetGate/ReportLinkv2.asmx HTTP/1.1 <?xml version="1.0" encoding="utf-8"?> <soap12:Body> <agentCode>string</agentCode> <password>string</password> <reportDate>dateTime</reportDate> <customerIPAddress>string</customerIPAddress> </GetDirectDebitAUDDIS> </soap12:Body> </soap12:Envelope> |
Response:
HTTP/1.1 200 OK <?xml version="1.0" encoding="utf-8"?> <soap12:Body> <GetDirectDebitAUDDISResult>xml</GetDirectDebitAUDDISResult> </GetDirectDebitAUDDISResponse> </soap12:Body> </soap12:Envelope> |
Examples of the XML message can be found in the Testing section of this document, Section 9.
Overview of Request Parameters
Here is an overview of the request parameters for “GetDirectDebitAUDDIS” above.
Parameters in red are mandatory.
Parameter |
Notes/Options |
Char. Limit |
agentCode |
10 |
|
password |
10 |
|
reportDate |
Value=”dateTime”; ISO 8601 format. |
N/A |
customerIPAddress |
This is the IP address of the donor’s computer. Please send to fully utilise the Fraud tools available from iATS. IPv4 or IPv6. |
This section will explain how to use the Web service calls to request a report of the UK Direct Debit BACS ADDACS report for a specific date. For more information on this report and the other BACS report types, please see section 7.1 of this guide. This report is available in XML only.
This call is available on our UK system only.
SOAP Request and Response Server Addresses
Depending on which service you require, you can find the SOAP request and response structures at the following URL:
SOAP Request and Response Server Addresses
The code below shows the SOAP request and response structure for “GetDirectDebitADDACS”. Notes:
Request (This request is for UK server only)
POST /NetGate/ReportLinkv2.asmx HTTP/1.1 <?xml version="1.0" encoding="utf-8"?> <soap12:Body> <agentCode>string</agentCode> <password>string</password> <reportDate>dateTime</reportDate> <customerIPAddress>string</customerIPAddress> </GetDirectDebitADDACS> </soap12:Body> </soap12:Envelope> |
Response:
HTTP/1.1 200 OK <?xml version="1.0" encoding="utf-8"?> <soap12:Body> <GetDirectDebitADDACSResult>xml</GetDirectDebitADDACSResult> </GetDirectDebitADDACSResponse> </soap12:Body> </soap12:Envelope> |
Examples of the XML message can be found in the Testing section of this document, Section 9.
Overview of Request Parameters
Here is an overview of the request parameters for “GetDirectDebitADDACS” above.
Parameters in red are mandatory.
Parameter |
Notes/Options |
Char. Limit |
agentCode |
10 |
|
password |
10 |
|
reportDate |
Value=”dateTime”; ISO 8601 format. |
N/A |
customerIPAddress |
This is the IP address of the donor’s computer. Please send to fully utilise the Fraud tools available from iATS. IPv4 or IPv6. |
This section will explain how to use the Web service calls to request a report of the UK Direct Debit BACS DDICA report for a specific date. For more information on this report and the other BACS report types, please see section 7.1 of this guide. This report is available in XML only.
This call is available on our UK system only.
SOAP Request and Response Server Addresses
Depending on which service you require, you can find the SOAP request and response structures at the following URL:
SOAP Request and Response Server Addresses
The code below shows the SOAP request and response structure for “GetDirectDebitDDICA”. Notes:
Request (This request is for UK server only)
POST /NetGate/ReportLinkv2.asmx HTTP/1.1 <?xml version="1.0" encoding="utf-8"?> <soap12:Body> <agentCode>string</agentCode> <password>string</password> <reportDate>dateTime</reportDate> <customerIPAddress>string</customerIPAddress> </GetDirectDebitDDICA> </soap12:Body> </soap12:Envelope> |
Response:
HTTP/1.1 200 OK <?xml version="1.0" encoding="utf-8"?> <soap12:Body> <GetDirectDebitDDICAResult>xml</GetDirectDebitDDICAResult> </GetDirectDebitDDICAResponse> </soap12:Body> </soap12:Envelope> |
Examples of the XML message can be found in the Testing section of this document, Section 9.
Overview of Request Parameters
Here is an overview of the request parameters for “GetDirectDebitDDICA” above.
Parameters in red are mandatory.
Parameter |
Notes/Options |
Char. Limit |
agentCode |
10 |
|
password |
10 |
|
reportDate |
Value=”dateTime”; ISO 8601 format. |
N/A |
customerIPAddress |
This is the IP address of the donor’s computer. Please send to fully utilise the Fraud tools available from iATS. IPv4 or IPv6. |
This section will explain how to use the Web service calls to request a report of financial information including gross, net, and charged merchant fees, over a date rage depending on the method of payment. These reports are available in .CSV format only.
These calls are available on either our NA or UK system.
SOAP Request and Response Server Addresses
Depending on which service 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 CC version of “GetCreditCardBankReconciliationReportCSV”.
Notes:
Request (This is for NA server, for UK server please use link above)
POST /NetGate/ReportLinkv2.asmx HTTP/1.1 <?xml version="1.0" encoding="utf-8"?> <soap12:Body> <GetCreditCardBankReconciliationReportCSV xmlns="https://www.iatspayments.com/NetGate/"> <agentCode>string</agentCode> <password>string</password> <fromDate>dateTime</fromDate> <toDate>dateTime</toDate> <currency>string</currency> <summaryOnly>boolean</summaryOnly> <customerIPAddress>string</customerIPAddress> </GetCreditCardBankReconciliationReportCSV> </soap12:Body> </soap12:Envelope> |
Response
HTTP/1.1 200 OK <?xml version="1.0" encoding="utf-8"?> <soap12:Body> <GetCreditCardBankReconciliationReportCSVResponse xmlns="https://www.iatspayments.com/NetGate/"> <GetCreditCardBankReconciliationReportCSVResult>xml</GetCreditCardBankReconciliationRe portCSVResult> </GetCreditCardBankReconciliationReportCSVResponse> </soap12:Body> </soap12:Envelope> |
Overview of Request Parameters
Here is an overview of the request parameters for the North American version of “GetCreditCardBankReconciliationReportCSV”.
Parameters in red are mandatory.
Parameter |
Notes/Options |
Char. Limit |
agentCode |
10 |
|
password |
10 |
|
fromDate |
Value=”dateTime”; ISO 8601 format. e.g. 2008-10-31T15:07:38.6875000 ("yyyy-MM-dd'T'HH:mm:ss.fffffffZ") |
N/A |
toDate |
Value=”dateTime”; ISO 8601 format. e.g. 2008-10-31T15:07:38.6875000 ("yyyy-MM-dd'T'HH:mm:ss.fffffffZ") |
N/A |
currency |
NA:
UK:
|
N/A |
summaryOnly |
|
N/A |
customerIPAddress
|
This is the IP address of the donor’s computer. Please send to fully utilise the Fraud tools available from iATS. IPv4 or IPv6. |
|
The following information will allow you to test iATS Payments systems to ensure that you can use our services.
Please note that these accounts are not live merchant accounts and that authorization and rejection results are for display purposes only.
Also, as this test information is provided to many clients, please do not change the user ID or password.
“TEST88” Account Details for NA ACH & CC, and UK CC:
Please note there is a transaction limit of $2000.00 (£2000.00) per charge. Amounts above will be rejected.
To test the ReportLink functions, credit card data can be pulled via the TEST88 merchant account for North American ACH &CC data, and UK Credit Card Data.
There are numerous transactions and rejections on most days to retrieve in general, or you can first use the ProcessLink or AuraLink functions to process test credit card transactions, then pull them via ReportLink.
UDDD88 can be used to retrieve UK Direct Debit data.
“UDDD88” Account Details for UK Direct Debit only:
ADDACS:
ref: UDDDA21835, name: Paul Distaff, effective date: 27/05/2015
Response:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <soap:Body> <GetDirectDebitADDACSV1Result> <STATUS>Success</STATUS> <MessagingAdvice reference="UDDDA21835" effective-date="2015-05-27" </ADDACS> </IATSRESPONSE> </GetDirectDebitADDACSV1Response> |
ARUDD:
ref:UDDDA21678, name:Phil B, effective date: 27/05/2015
Response:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" <soap:Body> <GetDirectDebitARUDDV1Result> <STATUS>Success</STATUS> <ReturnedDebitItem ref="david001" transCode="17" returnCode="1" valueOf="5.00" currency="GBP"> number="4714" branchName="BEDFORD" name="DAVID" sortCode="******"/> </ARUDD> </IATSRESPONSE> </GetDirectDebitARUDDV1Response> |
AUDDIS:
ref:UDDDA21689, name Phil B, effective date: 27/05/2015
Response:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" <soap:Body> <GetDirectDebitAUDDISV1Result> <SMARTDEBITREPORT> <STATUS>Success</STATUS> <MessagingAdvice reference="UDDDA21689" effective-date="2015-05-27" </AUDDIS> </IATSRESPONSE> </GetDirectDebitAUDDISV1Response> |
DDICA:
ref: UDDDA21648, payer name: Phil B, effective date: 26/05/2015
Response:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" <soap:Body> <GetDirectDebitDDICAV1Result> <STATUS>Success</STATUS> <DDICA> <SeqNo>2014111103A938843265</SeqNo> <DDCollection> </DDCollection> </DDICAdvice> </SMARTDEBITREPORT> </GetDirectDebitDDICAV1Result> </soap:Body> <ReasonCode>2</ReasonCode> |
The elements in the below table may or may not apply directly to the ReportLink WebServices. All possible element options which are currently available within the different CustomerLink, ProcessLink, AuraLink, and ReportLink API calls are listed below.
For more information or if you have any questions, please reach out to iATS at webservice@iatspayments.com.
Element | Definition | Association |
AC1, AC2 | Account1, Account 2, | Start element |
ACH |
ACHEFT |
Start element |
ACN | Account number |
ACHEFT |
ACTYP |
Account type |
ACHEFT |
ADD |
Address |
Customer |
AGT |
Agent |
Transaction |
AMT |
Amount |
Transaction / recurring |
ANM |
Anonymous |
Transaction |
BD |
Begin date |
Recurring |
CC |
Credit card |
Start element |
CCN |
Credit card number |
Credit card |
CM |
Comment |
Transaction / customer |
CNT |
Country |
Customer |
CO |
Company |
Customer |
CST |
Customer |
Start element |
CSTC |
Token (Customer code) |
Customer |
CSTN |
Customer name |
Credit card / ACHEFT |
CTY |
City |
Customer |
DTM |
Datetime |
Transaction |
ED |
Emddate |
Recurring |
EM |
|
Customer |
EXP |
Exiry |
Credit card |
FLN |
Full name |
Customer |
FN |
First name |
Customer |
FX |
Fax |
Customer |
INV |
Invoice |
Transaction |
IT1, IT2, .. |
Item1, Item2, etc. |
Transaction |
LN |
Last name |
Customer |
MB |
Mobile |
Customer |
MP |
Method of payment |
Credit card |
PH |
Phone |
Customer |
RCR |
Recurring |
Start element |
RE |
Received email |
Transaction |
RST |
Result |
Transaction |
SCHD |
Schedule date |
Recurring |
SCHTYP |
Schedule type |
Recurring |
ST |
State |
Customer |
TN |
Transaction |
Start element |
TNID |
Transaction ID |
Transaction |
TNTYP |
Transaction type |
Transaction |
ZC |
Post code |
Customer |