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.
This guide provides an explanation of iATS AURALink Web services, how they work, and how to set them up.
Our AURALink Web Services are meant to serve as a supplement to Aura, our easy to use online setup wizard that lets you quickly create and integrate secure donation forms on your website.
Because they are directly connected with your iATS payment account, AURA forms give you the ability to process both single and recurring transactions using either credit cards or direct debit right from your website without having to send donors away to a third-party payment processor. (More details on AURA—including video walk-throughs of the AURA wizard—are available at iatspayments.com.)
Our AURALink Web services complement AURA by giving you advanced customization control of the code beyond the features available from the AURA form set-up wizard, while still being able to utilize the Post Back URL to get transaction results and captured fields back to your database or to our Salesforce Application Brickwork.
How to use AURALink Web services:
First, to use AURALInk Web services we’ll need to set you up with an iATS merchant account. (Getting started with opening an account is as easy as calling us at 1-866-300-4287 or sending a request to iats@iatspayments.com). Alternatively you can use our testing credentials to mimic live processing results. Please see the Testing section of this document.
The next step is to create an AURA ID. This is necessary because AURALink Web service requests need to include an AURA ID as one of the request parameters and is key to using AuraLink with our Salesforce Application Brickwork. That ID is generated by creating an AURA Event using the AURA wizard:
1. | Log in to our site at iatspayments.com (NA) or www.uk.iatspayments.com (UK or International). |
2. | Click “AURA SETUP” from the top navigation. |
3. | Complete the form per your requirements, and click Save. If this form is being used with our Salesforce Application Brickwork, the Salesforce Site ID needs to be pasted into the “Post Back URL” field. Otherwise, add your own URL to post transaction data to your own CRM system. |
4. | In the code generated in the “Script” box, the ID will be the alphanumeric string following “PID”. |
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 example is available for download by clicking 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 AURA and our payment systems. Please see, Appendix A: Testing AURA for details on how to use it.
For technical assistance, please email webservice@iatspayments.com.
Guide to the AURALink Web Services
The guide that follows includes a complete overview of the requests available using our AURALink Web services. Each request overview includes the following:
This section will explain how to use the Web service “ProcessCreditCardV1” to process credit cards through AURA.
Depending on which server you require, you can find the SOAP request and response structures for “ProcessCreditCardV1” at the following URLs:
The code below shows the SOAP request and response structure for “ProcessCreditCardV1.”
Notes:
Request (This is for the NA server, if you require the UK server please use the link above)
POST /NetGate/AURALink.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> <ProcessCreditCardV1 xmlns="https://www.iatspayments.com/NetGate/"> <customerIPAddress>string</customerIPAddress> <firstName>string</firstName> <lastName>string</lastName> <address>string</address> <city>string</city> <state>string</state> <zipCode>string</zipCode> <country>string</country> <phone>string</phone> <phone2>string</phone2> <fax>string</fax> <email>string</email> <comment>string</comment> <item1>string</item1> <item2>string</item2> <item3>string</item3> <item4>string</item4> <item5>string</item5> <item6>string</item6> <mop>string</mop> <creditCardNum>string</creditCardNum> <creditCardExpiry>string</creditCardExpiry> <cvv2>string</cvv2> <amount0Name>string</amount0Name> <amount0Value>string</amount0Value> <amount0Quantity>string</amount0Quantity> <amount1Name>string</amount1Name> <amount1Value>string</amount1Value> <amount1Quantity>string</amount1Quantity> <amount2Name>string</amount2Name> <amount2Value>string</amount2Value> <amount2Quantity>string</amount2Quantity> <amount3Name>string</amount3Name> <amount3Value>string</amount3Value> <amount3Quantity>string</amount3Quantity> <amount4Name>string</amount4Name> <amount4Value>string</amount4Value> <amount4Quantity>string</amount4Quantity> <amount5Name>string</amount5Name> <amount5Value>string</amount5Value> <amount5Quantity>string</amount5Quantity> <amount6Name>string</amount6Name> <amount6Value>string</amount6Value> <amount6Quantity>string</amount6Quantity> <amount7Name>string</amount7Name> <amount7Value>string</amount7Value> <amount7Quantity>string</amount7Quantity> <amountOtherName>string</amountOtherName> <amountOtherValue>string</amountOtherValue> <amountOtherQuantity>string</amountOtherQuantity> <total>string</total> <auraID>string</auraID> <emailCheck>Boolean</emailCheck> </ProcessCreditCardV1> </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> <ProcessCreditCardV1Response xmlns="https://www.iatspayments.com/NetGate/"> <ProcessCreditCardV1Result>xml</ProcessCreditCardV1Result> </ProcessCreditCardV1Response> </soap12:Body> </soap12:Envelope> |
Here is an overview of the request parameters for the “ProcessCreditCardV1,” above. Parameters in red are mandatory.
Parameter |
Notes/Options |
Char. Limit |
customerIPAddress |
This is the IP address of the donor’s computer. Please send to fully utilise the Fraud tools available from iATS. IPv4 only. |
N/A |
firstName |
Optional but highly recommended. |
30 |
lastName |
Optional but highly recommended. |
30 |
address |
Optional but highly recommended. |
100 |
city |
Optional but highly recommended. |
30 |
state |
Optional but highly recommended. State or province (North America only) |
40 |
zipCode |
Optional but highly recommended. |
20 |
country |
Optional but highly recommended. |
40 |
Phone |
|
40 |
Phone2 |
|
40 |
Fax |
|
40 |
|
Optional but highly recommended. |
40 |
comment |
|
110 |
item1 |
|
39 |
item2 |
|
39 |
item3 |
|
39 |
item4 |
|
39 |
item5 |
|
39 |
item6 |
|
39 |
mop |
Optional but highly recommended for proper processing. NA: VISA, MC, AMX, DSC UK: VISA, MC, AMX, MAESTR |
N/A |
creditCardNum |
Credit Card Number |
30 digits |
creditCardExpiry |
“MM/YY” |
5 |
cvv2 |
Optional but highly recommended for all online transactions. If passed, iATS will validate. |
40 digits |
amount0Name |
|
149 |
amount0Value |
Prevent the use of commas (,) within the dollar amount fields if possible. iATS reads a comma as a period in this field to compensate for different countries use of the comma within currency. For example: $1,000 should be not allowed. |
N/A |
amount0Quantity |
|
N/A |
amount1Name |
|
149 |
amount1Value |
|
N/A |
amount1Quantity |
|
N/A |
… |
|
N/A |
amount7Name |
|
149 |
amount7Value |
|
N/A |
amount7Quantity |
|
N/A |
amountOtherName |
|
149 |
amountOtherValue |
|
N/A |
amountOtherQuantity |
|
N/A |
total |
|
N/A |
auraID |
auraID is named as PID in the EVENT INFO tab of AURA SETUP page |
80 |
emailCheck |
Boolean: true (1)/false (0) |
N/A |
The response message format will be as follows:
<IATSRESPONSE> <STATUS>StatusType</STATUS> <ERRORS>ErrorCodeType</ERRORS> <PROCESSRESULT> <AUTHORIZATIONRESULT>AuthorizationResultType </AUTHORIZATIONRESULT> <TRANSACTIONID>TransactionId</TRANSACTIONID> </PROCESSRESULT> </IATSRESPONSE > |
The table below describes what can be expected for each of the return values:
Explanation of Sample Reply Message Values |
||
Return Value |
Occurrence |
Explanation |
STATUS |
Always |
The system-level acknowledgement code that indicates the iATS system status: · Success - iATS system processing succeeded · Failure - An error has occurred on the iATS system side, such as a database or server down. |
ERRORS |
Conditional |
Return information when Status = Failure. Return value will depend on the error |
AUTHORIZATIONRESULT |
Conditional |
Return information when Status = Success. This value represents the application-level result that iATS processed the request: · OK - Request has been approved · Error - Request not approved, an error has occurred—possibly due to problems in delivery, attempt by end-user to submit invalid or missing data, etc. iATS does not currently have a list of possible error messages as they can be sent due to different types of processing and from different components, etc. Reject 3: Customer Code does not exist Or Account num is too long Reject 40: Invalid card number |
TRANSACTIONID |
Conditional |
Return information when Status = Success and AUTHORIZATIONRESULT = OK; value is transactionID. |
This section will explain how to use the Web service “ProcessACHEFTV1” to process single one-time ACHEFT transactions through AURA.
Note that this service is for NA and certain International customers only; for UK customers wanting to process recurring transaction using ACHEFT, please use “DirectDebitCreateACHEFTRecurringV1,” which is described in Section 1.5 Creating a Recurring ACHEFT Transaction for UK Clients.
The SOAP request and response structures for “ProcessACHEFTV1” is available at the following URLs:
The code below shows the SOAP request and response structure for “ProcessACHEFTV1.”
Notes:
Request
POST /NetGate/AURALink.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> <ProcessACHEFTV1 xmlns="https://www.iatspayments.com/NetGate/"> <customerIPAddress>string</customerIPAddress> <firstName>string</firstName> <lastName>string</lastName> <address>string</address> <city>string</city> <state>string</state> <zipCode>string</zipCode> <country>string</country> <phone>string</phone> <phone2>string</phone2> <fax>string</fax> <email>string</email> <comment>string</comment> <item1>string</item1> <item2>string</item2> <item3>string</item3> <item4>string</item4> <item5>string</item5> <item6>string</item6> <accountNum>string</accountNum> <accountType>string</accountType> <ACHEFTAgreement>Boolean</ACHEFTAgreement> <amount0Name>string</amount0Name> <amount0Value>string</amount0Value> <amount0Quantity>string</amount0Quantity> <amount1Name>string</amount1Name> <amount1Value>string</amount1Value> <amount1Quantity>string</amount1Quantity> <amount2Name>string</amount2Name> <amount2Value>string</amount2Value> <amount2Quantity>string</amount2Quantity> <amount3Name>string</amount3Name> <amount3Value>string</amount3Value> <amount3Quantity>string</amount3Quantity> <amount4Name>string</amount4Name> <amount4Value>string</amount4Value> <amount4Quantity>string</amount4Quantity> <amount5Name>string</amount5Name> <amount5Value>string</amount5Value> <amount5Quantity>string</amount5Quantity> <amount6Name>string</amount6Name> <amount6Value>string</amount6Value> <amount6Quantity>string</amount6Quantity> <amount7Name>string</amount7Name> <amount7Value>string</amount7Value> <amount7Quantity>string</amount7Quantity> <amountOtherName>string</amountOtherName> <amountOtherValue>string</amountOtherValue> <amountOtherQuantity>string</amountOtherQuantity> <total>string</total> <auraID>string</auraID> <emailCheck>Boolean</emailCheck> </ProcessACHEFTV1> </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> <ProcessACHEFTV1Response xmlns="https://www.iatspayments.com/NetGate/"> <ProcessACHEFTV1Result>xml</ProcessACHEFTV1Result> </ProcessACHEFTV1Response> </soap12:Body> </soap12:Envelope> |
Here is an overview of the request parameters for the “ProcessACHEFTV1,” above. Parameters in red are mandatory.
Parameter |
Notes/Options |
Char. Limit |
customerIPAddress |
This is the IP address of the donor’s computer. Please send to fully utilise the Fraud tools available from iATS. IPv4 only. |
N/A |
firstName |
Optional but highly recommended. |
30 |
lastName |
Optional but highly recommended. |
30 |
address |
Optional but highly recommended. |
100 |
city |
Optional but highly recommended. |
30 |
state |
Optional but highly recommended. State or province (North America only) |
40 |
zipCode |
Optional but highly recommended. |
20 |
country |
Optional but highly recommended. |
40 |
phone |
|
40 |
phone2 |
|
40 |
fax |
|
40 |
|
Optional but highly recommended. |
40 |
comment |
|
110 |
item1 |
|
39 |
item2 |
|
39 |
item3 |
|
39 |
item4 |
|
39 |
item5 |
|
39 |
item6 |
|
39 |
accountNum
|
· USD: Routing no. (9 digits) + account no. (# of digits varies) · CAD: Bank no. (3 digits) + transit no. (5 digits) + account no. (# of digits varies) · AUD: BIC (Bank ID) + IBAN (Account)
*Order must be followed with NO spaces* |
30 |
accountType |
Optional but highly recommended for recurring processing to function. Options: CHECKING, SAVING (*Applies to North America only) |
N/A |
ACHEFTAgreement |
Boolean: true (1)/false (0) |
N/A |
amount0Name |
|
149 |
amount0Value |
Prevent the use of commas (,) within the dollar amount fields if possible. iATS reads a comma as a period in this field to compensate for different countries use of the comma within currency. For example: $1,000 should be not allowed. |
N/A |
amount0Quantity |
|
N/A |
amount1Name |
|
149 |
amount1Value |
|
N/A |
amount1Quantity |
|
N/A |
… |
|
|
amount7Name |
|
149 |
amount7Value |
|
N/A |
amount7Quantity |
|
N/A |
amountOtherName |
|
149 |
amountOtherValue |
|
N/A |
amountOtherQuantity |
|
N/A |
total |
|
N/A |
auraID |
auraID is named as PID in the EVENT INFO tab of AURA SETUP page |
80 |
emailCheck |
Boolean: true (1)/false (0) |
N/A |
|
|
|
The response message format will be as follows:
<IATSRESPONSE> <STATUS>StatusType</STATUS> <ERRORS>ErrorCodeType</ERRORS> <PROCESSRESULT> <AUTHORIZATIONRESULT>AuthorizationResultType </AUTHORIZATIONRESULT> <TRANSACTIONID>TransactionId</TRANSACTIONID> </PROCESSRESULT> </IATSRESPONSE > |
The table below describes what can be expected for each of the return values:
Explanation of Sample Reply Message Values |
||
Return Value |
Occurrence |
Explanation |
STATUS |
Always |
The system-level acknowledgement code that indicates the iATS system status: · Success - iATS system processing succeeded · Failure - An error has occurred on the iATS system side, such as a database or server down. |
ERRORS |
Conditional |
Return information when Status = Failure. Return value will depend on the error |
AUTHORIZATIONRESULT |
Conditional |
Return information when Status = Success. This value represents the application-level result that iATS processed the request: · OK - Request has been approved · Error - Request not approved, an error has occurred—possibly due to problems in delivery, attempt by end-user to submit invalid or missing data, etc. iATS does not currently have a list of possible error messages as they can be sent due to different types of processing and from different components, etc. Reject 3: Customer Code does not exist Or Account num is too long Reject 40: Invalid card number |
TRANSACTIONID |
Conditional |
Return information when Status = Success and AUTHORIZATIONRESULT = OK; value is transactionID. |
As ACH/EFT Transaction processing is not processed in “Real Time” like credit card transactions, there can be processing delays while the data is moving between iATS, our Bank and the donors Bank.
When ACH/EFT transactions are submitted to iATS, we will submit them to our processing bank as per the following schedule:
- Monday and Tuesday: File sent twice per day (3am and 3pm)
- Wednesday to Friday: File sent once per day (3pm)
When ACH/EFT transactions are sent to iATS for processing, there are three stages which each transaction will go through, even though you receive a successful ACH Transaction ID immediately:
1. | Immediately following the submission, each transaction will be listed as “Tobesent” within iATS systems. This stage indicates the transaction is waiting to be sent to iATS’ bank as per above schedule. |
2. | Once the transactions have been sent to the bank, but before final approval/rejection has been received, each transaction will be listed as “Pending”. A response should be received within 1 business day. |
3. | Once a response has been received, each transaction will be listed as EITHER OK:BankAccept, or OK:Reject. These results can be pulled using our WebService ReportLink options if desired (Journal for approvals, ACH Reject for rejections). |
All transactions with the result “OK:Bank Accept” will be sent to the Donor’s bank for final approval. At this point, the Donor or the Donor’s bank may refuse the debit, for example because of an account closure or insufficient funds. If this occurs, a separate iATS Return record is added to the iATS Journal reports (ACH Returns) and a notification email is sent to the client. These returns can be pulled using our WebService ReportLink options if desired.
Create Recurring Credit Card Transaction
This section will explain how to use the Web service “CreateCreditCardRecurringV1” to create a recurring credit card Customer Code Token and to start processing recurring transactions through iATS.
Depending on which server you require, you can find the SOAP request and response structures for “CreateCreditCardRecurringV1” at the following URLs:
The code below shows the SOAP request and response structure for “CreateCreditCardRecurringV1.”
Notes:
Request
POST /NetGate/AURALink.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> <CreateCreditCardRecurringV1 xmlns="https://www.iatspayments.com/NetGate/"> <customerIPAddress>string</customerIPAddress> <firstName>string</firstName> <lastName>string</lastName> <address>string</address> <city>string</city> <state>string</state> <zipCode>string</zipCode> <country>string</country> <phone>string</phone> <phone2>string</phone2> <fax>string</fax> <email>string</email> <comment>string</comment> <item1>string</item1> <item2>string</item2> <item3>string</item3> <item4>string</item4> <item5>string</item5> <item6>string</item6> <mop>string</mop> <creditCardNum>string</creditCardNum> <creditCardExpiry>string</creditCardExpiry> <amount0Name>string</amount0Name> <amount0Value>string</amount0Value> <amount0Quantity>string</amount0Quantity> <amount1Name>string</amount1Name> <amount1Value>string</amount1Value> <amount1Quantity>string</amount1Quantity> <amount2Name>string</amount2Name> <amount2Value>string</amount2Value> <amount2Quantity>string</amount2Quantity> <amount3Name>string</amount3Name> <amount3Value>string</amount3Value> <amount3Quantity>string</amount3Quantity> <amount4Name>string</amount4Name> <amount4Value>string</amount4Value> <amount4Quantity>string</amount4Quantity> <amount5Name>string</amount5Name> <amount5Value>string</amount5Value> <amount5Quantity>string</amount5Quantity> <amount6Name>string</amount6Name> <amount6Value>string</amount6Value> <amount6Quantity>string</amount6Quantity> <amount7Name>string</amount7Name> <amount7Value>string</amount7Value> <amount7Quantity>string</amount7Quantity> <amountOtherName>string</amountOtherName> <amountOtherValue>string</amountOtherValue> <amountOtherQuantity>string</amountOtherQuantity> <total>string</total> <auraID>string</auraID> <emailCheck>Boolean</emailCheck> <scheduleType>string</scheduleType> <beginDate>dateTime</beginDate> <endDate>dateTime</endDate> <scheduleDate>string</scheduleDate> </CreateCreditCardRecurringV1> </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> <CreateCreditCardRecurringV1Response xmlns="https://www.iatspayments.com/NetGate/"> <CreateCreditCardRecurringV1Result>xml</CreateCreditCardRecurringV1Result> </CreateCreditCardRecurringV1Response> </soap12:Body> </soap12:Envelope> |
Here is an overview of the request parameters for the “CreateCreditCardRecurringV1,” above. Parameters in red are mandatory.
Parameter |
Notes/Options |
Char. Limit |
customerIPAddress |
This is the IP address of the donor’s computer. Please send to fully utilise the Fraud tools available from iATS. IPv4 only. |
N/A |
firstName |
Optional but highly recommended |
100 |
lastName |
Optional but highly recommended |
100 |
address |
Optional but highly recommended |
100 |
city |
Optional but highly recommended |
40 |
state |
Optional but highly recommended State or province (North America only) |
40 |
zipCode |
Optional but highly recommended |
40 |
country |
Optional but highly recommended |
40 |
phone |
|
40 |
phone2 |
|
40 |
fax |
|
40 |
|
Optional but highly recommended |
100 |
comment |
|
100 |
item1 |
|
39 |
item2 |
|
39 |
item3 |
|
39 |
item4 |
|
39 |
item5 |
|
39 |
item6 |
|
39 |
mop |
Optional but highly recommended to prevent processing issues. NA: VISA, MC, AMX, DSC UK: VISA, MC, AMX, MAESTR |
N/A |
creditCardNum |
Credit Card Number |
32 digits |
creditCardExpiry |
“MM/YY” |
10 |
amount0Name |
|
149 |
amount0Value |
Prevent the use of commas (,) within the dollar amount fields if possible. iATS reads a comma as a period in this field to compensate for different countries use of the comma within currency. For example: $1,000 should be not allowed. |
N/A |
amount0Quantity |
|
N/A |
amount1Name |
|
149 |
amount1Value |
|
N/A |
amount1Quantity |
|
N/A |
… |
|
|
amount7Name |
|
149 |
amount7Value |
|
N/A |
amount7Quantity |
|
N/A |
amountOtherName |
|
149 |
amountOtherValue |
|
N/A |
amountOtherQuantity |
|
N/A |
total |
Optional but needs to be passed for recurring processing to function. |
N/A |
auraID |
auraID is named as PID in the EVENT INFO tab of AURA SETUP page |
80 |
emailCheck |
Boolean: true (1)/false (0). |
N/A |
scheduleType |
Optional but needs to be passed for recurring processing to function. Options: Weekly, Monthly, Quarterly, Annually |
N/A |
beginDate |
Value=”dateTime”; ISO 8601 format, see example on page 4. |
N/A |
endDate |
Value=”dateTime”; ISO 8601 format, see example on page 4. |
N/A |
scheduleDate |
Options: Monthly: 1~28,29,30 or 31; Weekly: 1~7; Quarterly or Annually: empty string |
N/A |
<IATSRESPONSE> <STATUS>StatusType</STATUS> <ERRORS>ErrorCodeType</ERRORS> <PROCESSRESULT> <AUTHORIZATIONRESULT>AuthorizationResultType </AUTHORIZATIONRESULT> <CUSTOMERCODE>CustomerCode</CUSTOMERCODE> </PROCESSRESULT> </IATSRESPONSE > |
The table below describes what can be expected for each of the return values:
Explanation of Sample Reply Message Values |
||
Return Value |
Occurrence |
Explanation |
STATUS |
Always |
The system-level acknowledgement code that indicates the iATS system status: · Success - iATS system processing succeeded. · Failure - An error has occurred on the iATS system side, such as a database or server down. |
ERRORS |
Conditional |
Return information when Status = Failure. Return value will depend on the error. |
AUTHORIZATIONRESULT |
Conditional |
Return information when Status = Success. This value represents the application-level result that iATS processed the request: · OK - Request has been approved · Error - Request not approved, an error has occurred—possibly due to problems in delivery, attempt by end-user to submit invalid or missing data, etc. iATS does not currently have a list of possible error messages as they can be sent due to different types of processing and from different components, etc. Reject 3: Customer Code does not exist Or Account num is too long Reject 40: Invalid card number |
CUSTOMERCODE |
Conditional |
Return information when Status = Success and AUTHORIZATIONRESULT = OK; value is new Token (Customer code). |
This section will explain how to use “CreateACHEFTRecurringV1” to create a recurring ACHEFT Customer Code Token and to start processing recurring transactions through iATS.
Note that this service is for NA and certain international customers only; for UK customers wanting to process recurring transaction using ACHEFT, please use “DirectDebitCreateACHEFTRecurringV1,” which is described section 1.5 of this AuraLink Guide.
Please reach out to webservice@iatspayments.com for more details on best practises for creating a new Recurring Customer Code token.
The SOAP request and response structures for “CreateACHEFTRecurringV1” is available at the following URLs:
The code below shows the SOAP request and response structure for “CreateACHEFTRecurringV1.”
Notes:
Request
POST /NetGate/AURALink.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> <CreateACHEFTRecurringV1 xmlns="https://www.iatspayments.com/NetGate/"> <customerIPAddress>string</customerIPAddress> <firstName>string</firstName> <lastName>string</lastName> <address>string</address> <city>string</city> <state>string</state> <zipCode>string</zipCode> <country>string</country> <phone>string</phone> <phone2>string</phone2> <fax>string</fax> <email>string</email> <comment>string</comment> <item1>string</item1> <item2>string</item2> <item3>string</item3> <item4>string</item4> <item5>string</item5> <item6>string</item6> <AccountNum>string</AccountNum> <AccountType>string</AccountType> <ACHEFTAgreement>Boolean</ACHEFTAgreement> <amount0Name>string</amount0Name> <amount0Value>string</amount0Value> <amount0Quantity>string</amount0Quantity> <amount1Name>string</amount1Name> <amount1Value>string</amount1Value> <amount1Quantity>string</amount1Quantity> <amount2Name>string</amount2Name> <amount2Value>string</amount2Value> <amount2Quantity>string</amount2Quantity> <amount3Name>string</amount3Name> <amount3Value>string</amount3Value> <amount3Quantity>string</amount3Quantity> <amount4Name>string</amount4Name> <amount4Value>string</amount4Value> <amount4Quantity>string</amount4Quantity> <amount5Name>string</amount5Name> <amount5Value>string</amount5Value> <amount5Quantity>string</amount5Quantity> <amount6Name>string</amount6Name> <amount6Value>string</amount6Value> <amount6Quantity>string</amount6Quantity> <amount7Name>string</amount7Name> <amount7Value>string</amount7Value> <amount7Quantity>string</amount7Quantity> <amountOtherName>string</amountOtherName> <amountOtherValue>string</amountOtherValue> <amountOtherQuantity>string</amountOtherQuantity> <total>string</total> <auraID>string</auraID> <emailCheck>Boolean</emailCheck> <scheduleType>string</scheduleType> <beginDate>dateTime</beginDate> <endDate>dateTime</endDate> <scheduleDate>string</scheduleDate> </CreateACHEFTRecurringV1> </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> <CreateACHEFTRecurringV1Response xmlns="https://www.iatspayments.com/NetGate/"> <CreateACHEFTRecurringV1Result>xml</CreateACHEFTRecurringV1Result> </CreateACHEFTRecurringV1Response> </soap12:Body> </soap12:Envelope> |
Here is an overview of the request parameters for the “CreateACHEFTRecurringV1,” above. Parameters in red are mandatory.
Parameter |
Notes/Options |
Char. Limit |
customerIPAddress |
This is the IP address of the donor’s computer. Please send to fully utilise the Fraud tools available from iATS. IPv4 only. |
N/A |
firstName |
Optional but highly recommended. |
100 |
lastName |
Optional but highly recommended. |
100 |
address |
Optional but highly recommended. |
100 |
city |
Optional but highly recommended. |
40 |
state |
Optional but highly recommended. State or province (North America only) |
40 |
zipCode |
Optional but highly recommended. |
40 |
country |
Optional but highly recommended. |
40 |
phone |
|
40 |
phone2 |
|
40 |
fax |
|
40 |
|
Optional but highly recommended. |
100 |
comment |
|
100 |
item1 |
|
39 |
item2 |
|
39 |
item3 |
|
39 |
item4 |
|
39 |
item5 |
|
39 |
item6 |
|
39 |
accountNum
|
· USD: Routing no. (9 digits) + account no. (# of digits varies) · CAD: Bank no. (3 digits) + transit no. (5 digits) + account no. (# of digits varies) · AUD: BIC (Bank ID) + IBAN (Account)
*Order must be followed with NO spaces* |
32 |
accountType |
Optional but needed for recurring functions to work. Options: CHECKING, SAVING (*Applies to North America only) |
N/A |
ACHEFTAgreement |
Boolean: true (1)/false (0) |
N/A |
amount0Name |
|
149 |
amount0Value |
Prevent the use of commas (,) within the dollar amount fields if possible. iATS reads a comma as a period in this field to compensate for different countries use of the comma within currency. For example: $1,000 should be not allowed. |
N/A |
amount0Quantity |
|
N/A |
amount1Name |
|
149 |
amount1Value |
|
N/A |
amount1Quantity |
|
N/A |
… |
|
|
amount7Name |
|
149 |
amount7Value |
|
N/A |
amount7Quantity |
|
N/A |
amountOtherName |
|
149 |
amountOtherValue |
|
N/A |
amountOtherQuantity |
|
N/A |
total |
|
|
auraID |
auraID is named as PID in the EVENT INFO tab of AURA SETUP page |
|
emailCheck |
Boolean: true (1)/false (0) |
|
scheduleType |
Optional but needed for recurring option to function. Options: Weekly, Monthly, Quarterly, Annually |
|
beginDate |
Value=”dateTime”; ISO 8601 format, see example on page 4. |
|
endDate |
Value=”dateTime”; ISO 8601 format, see example on page 4. |
|
scheduleDate |
Optional but needed for recurring option to function. Options: Monthly: 1~28,29,30 or 31; Weekly: 1~7; Quarterly or Annually: empty string |
|
<IATSRESPONSE> <STATUS>StatusType</STATUS> <ERRORS>ErrorCodeType</ERRORS> <PROCESSRESULT> <AUTHORIZATIONRESULT>AuthorizationResultType </AUTHORIZATIONRESULT> <CUSTOMERCODE>CustomerCode</CUSTOMERCODE> </PROCESSRESULT> </IATSRESPONSE >
|
The table below describes what can be expected for each of the return values:
Explanation of Sample Reply Message Values |
||
Return Value |
Occurrence |
Explanation |
STATUS |
Always |
The system-level acknowledgement code that indicates the iATS system status: · Success - iATS system processing succeeded. · Failure - An error has occurred on the iATS system side, such as a database or server down. |
ERRORS |
Conditional |
Return information when Status = Failure. Return value will depend on the error. |
AUTHORIZATIONRESULT |
Conditional |
Return information when Status = Success. This value represents the application-level result that iATS processed the request: · OK - Request has been approved · Error - Request not approved, an error has occurred—possibly due to problems in delivery, attempt by end-user to submit invalid or missing data, etc. iATS does not currently have a list of possible error messages as they can be sent due to different types of processing and from different components, etc. Reject 3: Customer Code does not exist Or Account num is too long Reject 40: Invalid card number |
CUSTOMERCODE |
Conditional |
Return information when Status = Success and AUTHORIZATIONRESULT = OK; value is new Token (Customer code). |
What is UK Direct Debit?
Direct Debit collection is the preferred payment method for over 50% of the UK’s bill paying population for memberships, subscriptions, and donations. It is the method of electronically debiting funds directly from a Pound Sterling bank account in the UK.
UK Direct Debit processing is highly controlled by BACS (Bankers' Automated Clearing Services), and certain guidelines must be followed. Single one-time transactions and refunds are restricted for example, and only recurring scheduled transactions can be processed in the UK.
iATS uses the Direct Debiting Bureau Smart Debit to process Direct Debit transactions. For more information regarding Smart Debit and how to set up a Direct Debit Merchant Account with iATS, please call 1.866.300.4287, Option 2.
Scheduling a new Direct Debit Instruction - Online vs. Offline Processing
A new Direct Debit Instruction can be scheduled either online via an organizations website, or offline via a software application.
** Important: As UK Direct Debit’s are strictly controlled by BACS, iATS must control the schedule for all Recurring donors.
For more information regarding the necessary pages and WebService calls needed for online scheduling, please refer to the Workflow Requirements for Online Direct Debit section below.
When a client is collecting new Direct Debit’s online, the webpages they use must be approved to ensure they are meeting the Direct Debit BACS guidelines for formatting and content.
In the case where the client is building their own collection pages (such as using CustomerLink or AuraLink), or using a third party software, they need to be approved,
Who needs to provide the approval depends on their SUN type:
** Important: As UK Direct Debit’s are strictly controlled by BACS, iATS must control the schedule for all Recurring donors.
For more information, please refer to our ProcessLink WebService documentation.
For UK Direct Debit clients to validate and schedule Direct Debit Instructions via their website, the following steps are required. For samples of the required online pages, please click here. **Important: These pages have already been approved by the bank and should be followed exactly. Any format changes will result in the need to be approved by your UK bank.
1. | Donor selects recurring Direct Debit option on website (singles are not allowed), and enters processing schedule, amount, personal details, etc. Please note that due to the lengthy process of registering a new donor in the UK, there is a 12 day lead time required for all new Direct Debit schedules. Please ensure the donor cannot select a begin date within 12 days of the current date. |
2. | Donor is directed to the first of four required online pages, called the Declaration. This page asks the donor to checkmark a box indicating they wish to start a new Direct Debit Instruction. |
3. | Donor is directed to the second of four required online pages, called the Account/Payer Details page. This page asks the donor to enter their bank account details (Sort and Account) for validation purposes. Previously entered personal details can be carried over to pre-populate this form if desired.
Once the “proceed” button on the second page is clicked, the bank details will be displayed on the third page. During this call, a unique Reference Number is created and should also be displayed on the third online page. While you are able to supply your own unique Reference ID if desired, we recommend leaving the value blank to allow iATS to create one. The format will be the 4 digit Client Code + Unique Number, for example “TEST123456”. If you choose to use your own Reference numbers instead, our system will check to ensure the number is unique, and send back an error if not. |
4. | As the validation and creation of the Reference number is occurring, the donor will be directed to the third of four required online pages, called Validation Details and Confirmation. This page displays the donors bank account information, their new reference number, and all schedule and personal details they have already entered. Also, the Clients SUN (UK Direct Debit merchant number) must be displayed. The donor needs to review these details, and have the option to print or edit if needed. |
5. | As the donor clicks from the third page to the fourth and final required online page, you will need to program the “DirectDebitCreateACHEFTRecurringV1” WebService (for use with AuraLink) to obtain a new Token (Customer code) that links to the new Reference Number. |
6. | If the post back URL has been set up for this AURA event, all details can be pushed to the URL specified, for example a Salesforce Site URL which allows our Salesforce Application Brickwork to receive the transaction and Customer Code data. We recommend storing the Reference Number with the Token (Customer Code) for future reference. For information regarding how to update an existing Direct Debit reference, please see the CustomerLink WebService documentation. |
7. | Testing can be done using the UDDD88 UK Direct Debit test credentials found in the testing section of this document. |
8. | Once the new donor has been registered, our Acquirer Smart Debit will send an email confirmation to the new donor confirming the details. These emails are also mandated by BACS and examples can be provided for reference if needed. If desired, you can take over the email notification process for Smart Debit, however different emails need to be sent for different update reasons and it’s usually easier to leave this task to them. |
9. | Six days before the Direct Debit process date, iATS will send a file to Smart Debit for processing. Results can be pulled using ProcessLink if desired. |
Validating Payer Information for UK Direct Debit
This section will explain how to use the Web service “DirectDebitACHEFTPayerValidateV1” to validate direct debit payer information. Please note that this Web service is only required for UK clients.
The SOAP request and response structures for “DirectDebitACHEFTPayerValidateV1” are available at the following URL:
The code below shows the SOAP request and response structure for “DirectDebitACHEFTPayerValidateV1”
Notes:
Request
POST /NetGate/CustomerLink.asmx HTTP/1.1 Host: www.uk.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> <DirectDebitACHEFTPayerValidateV1 xmlns="https://www.iatspayments.com/NetGate/"> <agentCode>string</agentCode> <customerIPAddress>string</customerIPAddress> <ACHEFTReferenceNum>string</ACHEFTReferenceNum> <beginDate>dateTime</beginDate> <endDate>dateTime</endDate> <accountCustomerName>string</accountCustomerName> <accountNum>string</accountNum> <companyName>string</companyName> <firstName>string</firstName> <lastName>string</lastName> <address>string</address> <city>string</city> <state>string</state> <country>string</country> <email>string</email> <zipCode>string</zipCode> </DirectDebitACHEFTPayerValidateV1> </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> <DirectDebitACHEFTPayerValidateV1Response xmlns="https://www.iatspayments.com/NetGate/"> <DirectDebitACHEFTPayerValidateV1Result>xml</DirectDebitACHEFTPayerValidateV1Result> </DirectDebitACHEFTPayerValidateV1Response> </soap12:Body> </soap12:Envelope> |
Here is an overview of the request parameters for the “DirectDebitACHEFTPayerValidateV1,” above. Parameters in red are mandatory.
Parameter |
Notes/Options |
Char. Limit |
agentCode |
|
10 |
customerIPAddress |
This is the IP address of the donor’s computer. Please send to fully utilise the Fraud tools available from iATS. IPv4 only. |
N/A |
ACHEFTReferenceNum |
Leave blank to allow iATS to create unique reference |
60 |
beginDate |
Value=”dateTime”; ISO 8601 format. For an example please see page 6. Due to BACS registration lead times, new DD Tokens (Customer codes) must begin at least 12 days from current date. |
N/A |
endDate |
Value=”dateTime”; ISO 8601 format. For an example please see page 6. |
N/A |
accountCustomerName |
Donor’s full name, or name on file with bank. If left empty we will use firstName + lastName and cut at 30 characters. |
30 |
accountNum |
GBP: Sort code (6 digits) + account no. (8 digits) *Order must be followed with NO spaces* |
32 digits |
companyName |
|
100 |
firstName |
|
100 |
lastName |
|
100 |
address |
|
100 |
city |
|
40 |
state |
State or province (North America only) |
40 |
country |
|
40 |
|
|
100 |
zipCode |
|
40 |
The response message format will be as follows:
<IATSRESPONSE> <STATUS>StatusType</STATUS> <ERRORS>ErrorCodeType</ERRORS> <AUTHRESULT> <AUTHSTATUS>AuthorizationResultType</AUTHSTATUS> <AUTHCODE>AUTHCODE</AUTHCODE> <ACHREFNUM></ACHREFNUM> <BANKERROR>ErrorInfo</BANKERROR> <BANK_NAME></BANK_NAME> <BANK_BRANCH></BANK_BRANCH> <BANKADDRESS1></BANKADDRESS1> <BANKADDRESS2></BANKADDRESS2> <BANKADDRESS3></BANKADDRESS3> <BANKADDRESS4></BANKADDRESS4> <BANK_CITY></BANK_CITY> <BANK_STATE></BANK_STATE> <BANK_POSTCODE></BANK_POSTCODE> </AUTHRESULT> </IATSRESPONSE > |
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: · Success - iATS system processing succeeded. · Failure - An error has occurred on the iATS system side, such as a database or server down. |
ERRORS |
Conditional |
Return information when Status = Failure. Return value will depend on the error. |
AUTHSTATUS |
Conditional |
Return information when Status = Success. This value represents the application-level result that iATS processed the request: · OK - ACHEFT validation result is OK · REJ - ACHEFT validation result is Reject. Reject reason will be return in <AUTHCODE> or <BANKERROR> |
AUTHCODE |
Conditional |
Explanation for AUTHSTATUS REJ value; hidden if value is OK. |
BANKERROR |
Conditional |
Explanation for AUTHSTATUS REJ value; hidden if value is OK. |
This section will explain how to use the Web service “DirectDebitCreateACHEFTRecurringV1” to create a recurring ACHEFT transaction through AURA for clients using our UK server. Please note that this call is different than the similar call in our CustomerLink Guide. This call includes the Aura ID value which enables the transaction data to post to a separate CRM system, such as our Salesforce Application Brickwork.
The SOAP request and response structures for “DirectDebitCreateACHEFTRecurringV1” is available at the following URL:
The code below shows the SOAP request and response structure for “DirectDebitCreateACHEFTRecurringV1.”
Notes:
Request
POST /NetGate/AURALink.asmx HTTP/1.1 Host: www.uk.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> <DirectDebitCreateACHEFTRecurringV1 xmlns="https://www.iatspayments.com/NetGate/"> <customerIPAddress>string</customerIPAddress> <firstName>string</firstName> <lastName>string</lastName> <address>string</address> <city>string</city> <state>string</state> <zipCode>string</zipCode> <country>string</country> <phone>string</phone> <phone2>string</phone2> <fax>string</fax> <email>string</email> <comment>string</comment> <item1>string</item1> <item2>string</item2> <item3>string</item3> <item4>string</item4> <item5>string</item5> <item6>string</item6> <AccountNum>string</AccountNum> <AccountType>string</AccountType> <ACHEFTAgreement>Boolean</ACHEFTAgreement> <amount0Name>string</amount0Name> <amount0Value>string</amount0Value> <amount0Quantity>string</amount0Quantity> <amount1Name>string</amount1Name> <amount1Value>string</amount1Value> <amount1Quantity>string</amount1Quantity> <amount2Name>string</amount2Name> <amount2Value>string</amount2Value> <amount2Quantity>string</amount2Quantity> <amount3Name>string</amount3Name> <amount3Value>string</amount3Value> <amount3Quantity>string</amount3Quantity> <amount4Name>string</amount4Name> <amount4Value>string</amount4Value> <amount4Quantity>string</amount4Quantity> <amount5Name>string</amount5Name> <amount5Value>string</amount5Value> <amount5Quantity>string</amount5Quantity> <amount6Name>string</amount6Name> <amount6Value>string</amount6Value> <amount6Quantity>string</amount6Quantity> <amount7Name>string</amount7Name> <amount7Value>string</amount7Value> <amount7Quantity>string</amount7Quantity> <amountOtherName>string</amountOtherName> <amountOtherValue>string</amountOtherValue> <amountOtherQuantity>string</amountOtherQuantity> <total>string</total> <auraID>string</auraID> <emailCheck>Boolean</emailCheck> <scheduleType>string</scheduleType> <beginDate>dateTime</beginDate> <endDate>dateTime</endDate> <scheduleDate>string</scheduleDate> <ACHEFTReferenceNum>string</ACHEFTReferenceNum> </DirectDebitCreateACHEFTRecurringV1> </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> <DirectDebitCreateACHEFTRecurringV1Response xmlns="https://www.iatspayments.com/NetGate/"> <DirectDebitCreateACHEFTRecurringV1Result>xml</DirectDebitCreateACHEFTRecurringV1Result> </DirectDebitCreateACHEFTRecurringV1Response> </soap12:Body> </soap12:Envelope> |
Here is an overview of the request parameters for the “DirectDebitCreateACHEFTRecurringV1,” above. Parameters in red are mandatory.
Parameter |
Notes/Options |
Char. Limit |
customerIPAddress |
This is the IP address of the donor’s computer. Please send to fully utilise the Fraud tools available from iATS. IPv4 only. |
N/A |
firstName |
Donor’s full name or name on file with their bank. |
100 |
lastName |
100 |
|
address |
|
100 |
city |
|
40 |
state |
State or province (North America only) |
40 |
zipCode |
|
40 |
country |
|
40 |
phone |
|
40 |
phone2 |
|
40 |
fax |
|
40 |
|
|
100 |
comment |
|
100 |
item1 |
|
39 |
item2 |
|
39 |
item3 |
|
39 |
item4 |
|
39 |
item5 |
|
39 |
item6 |
|
39 |
accountNum
|
GBP: Sort code (6 digits) + account no. (8 digits) *Order must be followed with NO spaces* |
32 |
accountType |
N/A |
N/A |
ACHEFTAgreement |
Boolean: true (1)/false (0) |
N/A |
amount0Name |
|
149 |
amount0Value |
Prevent the use of commas (,) within the dollar amount fields if possible. iATS reads a comma as a period in this field to compensate for different countries use of the comma within currency. For example: $1,000 should be not allowed. |
N/A |
amount0Quantity |
|
N/A |
amount1Name |
|
149 |
amount1Value |
|
N/A |
amount1Quantity |
|
N/A |
… |
|
|
amount7Name |
|
149 |
amount7Value |
|
N/A |
amount7Quantity |
|
N/A |
amountOtherName |
|
149 |
amountOtherValue |
|
N/A |
amountOtherQuantity |
|
N/A |
total |
|
N/A |
auraID |
auraID is named as PID in the FORM INFO tab of AURA SETUP page |
80 |
emailCheck |
Boolean: true (1)/false (0) |
N/A |
scheduleType |
Options: Weekly, Monthly, Quarterly, Annually |
N/A |
beginDate |
Value=”dateTime”; ISO 8601 format, see example on page 4. Due to BACS registration lead times, new DD Tokens (Customer codes) must begin at least 12 days from current date. |
N/A |
endDate |
Value=”dateTime”; ISO 8601 format, see example on page 4. |
N/A |
scheduleDate |
Options: Monthly: 1~28,29,30 or 31; Weekly: 1~7; Quarterly or Annually: empty string |
N/A |
ACHEFTReferenceNum |
The previously created Reference number (during Validation) needs to be captured from the validation response (<ACHREFNUM></ACHREFNUM> field) and included here to ensure the new token (Customer Code) is linked to the Ref ID. |
60 |
<IATSRESPONSE> <STATUS>StatusType</STATUS> <ERRORS>ErrorCodeType</ERRORS> <PROCESSRESULT> <AUTHORIZATIONRESULT>AuthorizationResultType </AUTHORIZATIONRESULT> <CUSTOMERCODE>CustomerCode</CUSTOMERCODE> <REGISTERREFNUMRESULT>RegisterResult</REGISTERREFNUMRESULT> <BANKERROR>ErrorMessage</BANKERROR> <ACHEFTREFERENCENUM>ReferenceNumber</ACHEFTREFERENCENUM> </PROCESSRESULT> </IATSRESPONSE > |
The table below describes what can be expected for each of the return values:
Explanation of Sample Reply Message Values |
||
Return Value |
Occurrence |
Explanation |
STATUS |
Always |
The system-level acknowledgement code that indicates the iATS system status: · Success - iATS system processing succeeded. · Failure - An error has occurred on the iATS system side, such as a database or server is down. |
ERRORS |
Conditional |
Return information when Status = Failure. Return value will depend on the error. |
AUTHORIZATIONRESULT |
Conditional |
Return information when Status = Success. This value represents the application-level result that iATS processed the request: · OK - Request has been approved · Error - Request not approved, an error has occurred—possibly due to problems in delivery, attempt by end-user to submit invalid or missing data, etc. iATS does not currently have a list of possible error messages as they can be sent due to different types of processing and from different components, etc. Reject 3: Customer Code does not exist Or Account num is too long Reject 40: Invalid card number |
CUSTOMERCODE |
Conditional |
Return information when Status = Success and AUTHORIZATIONRESULT = OK; value is new Token (Customer code). |
REGISTERREFNUMRESULT |
Conditional |
Return information when status = Success and AUTHORIZATIONRESULT = OK. Value is ACHEFT registration result from bank. |
BANKERROR |
Conditional |
Return error information when REGISTERREFNUMRESULT is Registration REJ. |
ACHEFTREFERENCENUM |
Conditional |
Return information when status = Success and AUTHORIZATIONRESULT = OK. Value is ACHEFT reference number iATS has registered with bank. |
The AURA88 and UDDD88 iATS Client Codes have been created to allow for testing iATS Payments systems, now available for both Credit Card and dynamic North American ACH/EFT processing.
These accounts are not live merchant accounts, therefore Authorization and Rejection results are not real.
Please note that this test information is provided to many clients, therefore please do not modify or delete any pre-existing Aura Event’s or change the password of this code.
User ID = AURA88
Password = AURA88
OR
User ID = UDDD88 (UK Direct Debit and CC testing only)
Password = DDTEST16
URL: NA = www.iatspayments.com
Credit Card Testing
Notes on Credit Card processing:
Amount |
Results when using Visa (4111111111111111), MC, AMX or DSC #’s above |
|
1.00 |
OK: 678594 |
|
2.00 |
REJ: 15 |
|
3.00 |
OK: 678594 |
|
4.00 |
REJ: 15 |
|
5.00 |
REJ: 15 |
|
6.00 |
OK: 678594:X |
|
7.00 |
OK: 678594:y |
|
8.00 |
OK: 678594:A |
|
9.00 |
OK: 678594:Z |
|
10.00 |
OK: 678594:N |
|
15.00 |
If CVV2 = 1234, the response is OK: 678594:Y. If no CVV2 is entered, the response is REJ: 19 |
|
16.00 |
REJ: 2 |
|
17.00 |
REJ: 22 |
|
192.00 (NA Only) |
If sent via API (iATSLink or WebService) a) IP address is invalid format: Rej: 5. b) IP address is valid format: OK: 678594. |
|
All Other Amounts |
REJ: 15 |
|
All Refund Amounts |
REJ: 15 |
|
Amount |
Results when using 4222222222222220 only |
|
Any Sale Amount |
OK: 678594 |
|
Any Refund Amount |
OK: 678594 |
|
Please note there is a transaction limit of $2000.00 (£2000.00) per charge. Amounts above will be Rej:39
North American ACH/EFT Debit Testing
Notes on ACH Processing for non-UK Direct Debit tests:
Canada Bank: 123 Transit: 00000 Account: 123456 |
USD Routing: 111111111 Account: 12345678 |
ACH Dynamic Testing Parameters:
Desired Final Status |
Amount Value to use |
Results and Timing |
Approved |
$1.00 |
Final status received within 1 Business day · Status will be dynamically changed from ToBeSent (initial value) to Pending as per schedule in notes above. · Will be changed to Approved approx. 1 hour after sent to bank. |
Rejected |
Any value except $1.00 and $3.00 |
Final status received within 1 Business day · Status will be dynamically changed from ToBeSent (initial value) to Pending as per schedule in notes above. · Will be changed to Rejected approx. 1 hour after sent to bank. |
Returned |
$3.00 |
Final status received within 1 Business day · Status will be dynamically changed from ToBeSent (initial value) to Pending as per schedule in notes above. · Will be changed to Approved approx. 1 hour after sent to bank. · A new Return record will be created and posted the next business day. |
Please note there is a transaction limit of $2000.00 per charge. Amounts above will be Rej:39
The following information will allow UK clients to test the UK Direct Debit calls.
Please note that this “UDDD88” account is not a live merchant account 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.
“UDDD88” Account Details:
Amounts and corresponding results:
The amounts and corresponding responses detailed below have been created for you to test a range of possible requests and responses:
Amount |
Result |
1.00 |
Completed (Followed by a reference number) |
The elements in the below table may or may not apply directly to the AuraLink 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, Account2, |
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 |
Date and time |
Transaction |
ED |
End date |
Recurring |
EM |
|
Customer |
EXP |
Expiry |
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 |
Zip code |
Customer |