Document History

This section contains details of all changes to this guide.

In version 4.1.08 and 5.0 we changed the section numbering. We've added links in the comments section below which take you to the relevant section or topic.

 

Version

Date

Comments

Revised by

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5.0.17

10/07/2025

Removed references to EHI mode 5, which has been decommissioned.

WS

03/07/2025

Added additional information to the Transaction Matching section on matching for incremental authorisations and revised the FAQ on incremental authorisations and how to identify them.

WS

03/07/2025

Added a note to the description of Additional_data_de48 to clarify the usage of this field. See GetTransaction Message Fields.

WS

03/07/2025

Added further details on the use of the MerchantAdvice field and use of Merchant Advice Code 03. See GetTransaction Message Fields: MerchantAdvice. See also the FAQs: What is the MerchantAdvice field and how is it used?

WS

03/07/2025

Updated the example for POS_Date_DE13. Provided more details of how traceid_lifecycle is constructed. See GetTransaction Message Fields.

WS

27/06/2025

Updated the card status codes page to indicate that Card Status Codes G5 and G6 (temporary blocks) can also be set by Fraud Transaction Monitoring (FTM) service. See Card Status Codes.

WS

20/06/2025

Clarified the description of multi_part_txn_final. See GetTransaction Message Fields.

SH

16/05/2025

Added notes to clarify the use of the SubBIN field for 6-digit and 8-digit BINs. See GetTransaction Message Fields.

WS

15/05/2025

Updated the FAQs with additional information on incremental authorisations and how to identify them.

WS

08/05/2025

Added EHI response codes 12 and 15 to the Response Status Values page. Revised the description of response code 57. Removed card status code 57 from the Card Status Codes page. See PRN-220.

WS

08/05/2025

The Matching_Txn_ID field in EHI is now populated with data for the following types of transactions:

Presentments, Authorisation Reversals, Incremental Authorisations and Incremental Authorisation Reversals. See GetTransaction Message Fields. See also PRN-224.

WS

08/05/2025

Removed references to the 0120 A message type, as this is not supported. The appropriate message type to process is the 1240 A (for Mastercard) or 05 A, 06 A and 07 A (For Visa).

WS

30/04/2025

Updated the description of the Settlement_Date field. See GetTransaction Message Fields.

WS

16/04/2025

Added digital asset categories, for example Central Bank Digital Currency (CBDC) or tokenised deposits, to the list of POS codes. See Position 4 – Special Condition (existing debt) in Visa_POS_Data_DE60.

KD

16/04/2025

Added the following codes for device binding that supports FIDO: 3749 and 3760. See Reason ID for an Authorisation.

KD

 

5.0.17

09/04/2025

Added Response Code 72 and 46 to the Response Status Values and the Resp_Code_DE39 pages.

KD

09/04/2025

Added two new Visa response codes: 5C - Transaction not supported or blocked by issuer and 9G - Blocked by cardholder, contact cardholder. See Response Status Values.

WS

 

 

 

 

 

 

 

 

5.0.16

 

27/03/2025

Added references to the Thredd Secure Connectivity Framework.

KD

17/02/2025

Multiple EHI endpoints functionality has been deprecated. See EHI Configuration Options.

WS

07/03/2025

Updated descriptions and examples for how to handle processing errors due to invalid characters. See Troubleshooting FAQs.

JB

07/03/2025

Added extra values 100 and 100 for ‘Message_Why’ field in Appendix A.26 (Response_Source_Why + Message_Why).

JB

17/02/2025

Added details of how to set up multiple EHI endpoints (URLs). See EHI Configuration Options.

WS

13/02/2025

Added new processing codes for Credit Account Status Inquiry (ASI) and Debit ASI to Transaction Codes.

KD

13/02/2025

Updated the description of the 9030 reason code in the Visa_STIP_Reason_Code field.

WS

12/02/2025

Added references to Thredd Portal, our new web application for managing your cards and transactions.

WS

20/01/2025

Added 3169 RIYADH AIR to Merchant Category Codes.

WS

16/01/2025

Added the V1045D0082 tag, 35AN Plan Registration System Identifier, to the Misc_TLV_Data Field.

WS

5.0.16

16/01/2025

Corrections to JSON tokenisation examples: ACN, TCN and TEN messages should have Txn_Type = J. ACN messages should have an MTID = 0120, while TCN and TEN messages have an MTID = 0620. See GetTransaction Example Messages.

WS

5.0.16

19/12/2024

Added incremental authorisation message examples to the section GetTransaction Example Messages.

KD

5.0.16

06/12/2024

Updated the format of the Acquirer_Reference_Data_031 field to AN(8,23). See GetTransaction Message Fields. See PRN-200.

WS

5.0.16

29/11/2024

Added a note to indicate that the functionality to update the balance in Mode 4 (Gateway Processing with STIP) is currently only available via SOAP Web Services. See EHI Operating Modes.

WS

5.0.16

08/11/2024

Added examples of tokenisation messages to the section GetTransaction Example Messages.

WS

5.0.16

06/11/2024

Added the following codes for Reason ID: 3717, 3748, 3755. See Reason ID

KD

5.0.16

 

 

 

06/11/2024

Updated AVS Results page. Removed unused codes, and clarified address and postcode/zip code results for US and non-US addresses.

KD

07/11/2024

Updated the description of response code 61 to remove the previous restriction on Visa usage, as this code is now supported by Visa. See Response Status Values.

WS

31/10/2024

Added FAQ item for Mastercard STIP. See General FAQs.

KD

01/10/2024

Added an example of a balance enquiry message. See GetTransaction Example Messages.

WS

 

 

 

 

 

5.0.16

 

 

 

 

 

12/09/2024

Removed references to VPN.

WS

02/09/2024

The inclusion of the Merch_Country field is typically Optional, but may be mandatory in certain cases, depending on the program or service being processed. See GetTransaction Message Fields.

WS

15/08/2024

Added 3437 CITE RENT-A-CAR to Merchant Category Codes.

JB

13/08/2024

Added notes to clarify that some credit/refund transactions may be reported as follows:

  • Visa: MTID ‘05pp’, Txn_type 'P' (with processing code 20xxxx).

  • Mastercard: MTID ‘1240’, Txn_type 'P' (with processing code 20xxxx).

See Transaction Matching.

WS

06/08/2024

New FAQ added, explaining how fees are applied and reported for declined transactions. See the FAQs.

WS

06/08/2024

Clarification that response code 96 may trigger card Scheme Stand-In Processing (STIP) for both Visa and Mastercard, depending on your STIP setup. See Response Codes.

WS

01/08/2024

Added sort functionality to the tables in the online guide version.

WS

25/07/2024

Added "U - No data received" to the list of possible AVS Results.

WS

17/07/2024

Updated the description of Txn_GPS_Date. See GetTransaction Message Fields.

WS

02/07/2024

Updated the company address.

PC

5.015

22/04/2024

Updates to field descriptions in JSON Data Types and EHI Fields.

WS

 

 

 

 

 

5.015

27/06/2024

Removed the MTID value of 0100 from the Automatic Authorisation Reversal message on the Transaction Matching and GetTransaction Message Fields pages.

JB

31/05/2024

Clarification on use of the 3-digit country code for Romania. See Country Codes.

WS

28/05/2024

Added a new value to the GPS_POS_DATA field position 32, to indicate, whether the acquirer requested a 30-day clearing extension (Visa Only). See GPS_POS_Data Field.

WS

22/04/2024

Revised description of the usage of the 0101 A Authorisation Repeat message (Visa Only). See Transaction Matching.

WS

28/03/2024

Added descriptions of usage of positions 27-31 in the GPS_POS_Data field. See GPS_POS_Data Field.

WS

5.0.14

14/03/2024

Added note to state that EHI feeds in JSON cannot send fields to externally hosted systems where its data values are blank. This differs from EHI data feeds for XML that allow the sending of fields with blank values. See JSON Data Types and EHI Fields.

KD

 

 

 

 

 

5.0.14

 

 

 

 

14/03/2024

New terminology introduced around EHI modes: Gateway Processing (mode 1), Cooperative Processing (mode 2), Full Service Processing (mode 3) and Gateway Processing with STIP (mode 4). See EHI Modes.

WS

12/03/2024

New Merchant Category Code (MCC) added: 3168 Hainan Airlines (as part of Visa mandate 2024 Q2 VISA Article 2.5 Changes to Merchant Category Codes and Response Code). See Merchant Category Codes.

WS

12/03/2024

Added additional processing codes and account types now supported by Visa (as part of Article 2.1 Changes to Support Global Processing Alignment for Issuer). See Processing Codes. For more information, see PRN-179.

WS

07/03/2024

Clarified how the transaction status of Cleared (C) and Settled (S) impacts the card balance. See Transaction Status Codes.

WS

07/03/2024

Correction to description of the processing code for ASI transactions listed in the FAQs section. Should be 39.

WS

14/02/2024

Added examples of Financial Reversals (1240 type E messages). See GetTransaction Example Messages.

WS

14/02/2024

Updated the list of values that can be returned in the Visa_ResponseInfo_DE44 field position 5 (CVV/iCVV/dCVV result). See Visa_ResponseInfo_DE44.

WS

10/01/2024

Added details to clarify the usage of the Resp_Code_DE39 field. See GetTransaction Message Fields.

WS

02/01/2024

Clarified usage of the Auth_Code_DE38 field: an authorisation code is generated for both approved and declined authorisations. See GetTransaction Message Fields.

WS

02/01/2024

Added a new page to describe the HTTP header fields in EHI request and response messages. See HTTP Message Format.

WS

02/01/2024

Added a note to clarify that the EHI message response should not contain the value "null" in any response fields where EHI is expecting a numeric value, as this may result in EHI declining the transaction. See Response Message Fields.

WS

 

 

 

 

 

 

5.0.13

13/12/2023

Added MCC code 5262 to the Merchant Category Codes page. See Merchant Category Codes.

KD

13/12/2023

Added details of how to use the Resp_Code_DE39 field when returning a decline response to Thredd. See the appendix Resp_Code_DE39 Values.

WS

06/11/2023

Correction to matching logic table for transactions of type 1240 N. See Transaction Matching.

WS

02/11/2023

Updates to the WSDL for the EHI XML version. See GetTransaction WSDL.

JB

24/10/2023

EHI can now support up to two External Host URLs per card product. See EHI Configuration Options.

WS

21/09/2023

Added details to clarify that the field PaymentToken_creatorStatus can contain “ “ or be empty when no value has been provided. See Payment Token Fields.

WS

14/09/2023

In the section Checking fields used for 3D Secure Authentication, added a note and reference to the PSD2 and SCA Guide.

WS

22/08/2023

In the GetTransaction Message Fields section, added information on the interchange fee received in the Interchange_Amount_Fee and Interchange_Amount_Fee_Settlement fields.

WS

 

 

5.0.12

31/07/2023

In the GetTransaction Message Fields section, updated the Request Message Fields headings to clarify whether this applies to authorisation, financial or non-card network messages.

On the GPS_POS_Data field page, fixed the link to the Card Present Indicator section.

Added further information describing the use of transaction processing codes 01,02,11, 12, 21, 26, 28 and 39. See Processing Codes.

WS

23/06/2023

Added a new section describing implementation of Dynamic CVV2 functionality. This section is also available as a stand-alone document.

WS

31/05/2023

Updated Operations email address to be occ@thredd.com

MW

5.0.12

16/05/2023

Updated the Trans_link field data type from Number (Long) to String, to align with the RFC 8259 Standard for JSON fields. See JSON Data Types and EHI Fields. See PRN-154.

WS

5.0.12

27/04/2023

Guide rebrand to new company name and brand identity.

WS

5.0.11

06/04/2023

Added a new appendix which provides details of the contents of the Trans_Link Field.

WS

07/03/2023

Added a note to explain that in EHI Mode 2, you can override the Thredd decline code of 51 (Insufficient Funds) with another decline code, if you would like to use a more specific decline reason to be passed to cardholder. See EHI Operating Modes.

WS

5.0.11

02/03/2023

Added further details and clarification on the use of JSON data types and the compatibility of EHI fields with the IEEE 754 binary-64 (double precision) format. See JSON Data Types and EHI Fields.

WS

5.0.11

02/03/2023

Correction to description of the token field and its possible values. See GetTransaction Message Fields.

WS

02/03/2023

In the GetTransaction Message Fields section, updated the maximum length and maximum values for the following fields: Token, TXn_ID, TLogIDOrg, Trans_link and Matching_Txn_ID.

WS

28/02/2023

Added Chinese Offshore Renminbi (currency code CNH) to the list of supported currencies. See Currency Codes.

WS

20/02/2023

Added two new Visa Merchant Category Codes (MCC): 3839 and 5723. See PRN-147.

Added a note to clarify the use of GPS_POS_Capability position 44. See GPS_POS_Capability field.

WS

5.0.10

15/02/2023

Added a note to GPS_POS_DATA Cardholder Authentication Methods, to indicate that it is possible for merchants to send two authentication values, which are recording in positions 4 and 5.

Added details to clarify how the transaction processing codes 01, 12 and 17 are used. See Processing Codes and the Troubleshooting FAQs.

Fixed version numbering issue.

WS

25/01/2023

Updated the FAQs with additional information around clearing files.

Updated the description of the following fields to clarify their usage: POS_Data_DE61, POS_Data_DE22 and Merch_Name_DE43. See GetTransaction Message Fields.

WS

5.0.10

20/01/2023

Updated the GetTransaction Example Messages.

JB

5.0.10

05/01/2023

Added a note to indicate that if the CVV2_Result field is blank, then the merchant did not provide this information. In this case, Thredd will not complete the CVV2 pre-check and will authorise or decline the transaction based on the card usage group settings for your programme. See GetTransaction Message Fields.

Amended the description of Auth_Code_DE38. Thredd will generate this code for an approved authorisation request.

WS

01/12/2022

Updated the Copyright Statement

Updated the headings for the GPS_POS_Capability field, GPS_POS_Data field and the POS_Data_DE61 field.

MW

5.0.10

01/12/2022

New cut-off messages in JSON format now available. See Cut-Off Message Example.

WS

5.0.9

22/11/2022

Added further matching criteria for the MTIDs TC25, TC26 and TC27 in transaction matching.

JB

11/11/2022

Added a note to the transaction matching section for 0400 authorisation reversals about Visa transactions potentially missing an Auth_Code_DE38 value and how to treat this.

WS

10/11/2022

Added Glossary definitions for OCT and AFT transactions.

WS

5.0.8

26/10/2022

Added a note and examples of cut-off message, which are currently only available in XML format.

WS

 

13/10/2022

Added a new value of 'L' (delegated authentication) to the GPS_POS_Data field, position 15 (3D secure authentication method). See GPS_POS_Data field.

WS

03/10/2022

Added status code 59 to the table of status values appearing in the Resp_Code_DE39 field.

WS

03/10/2022

Added new sections on Refunds and Financial Reversals to the Transaction Flow Scenarios section.

WS

5.0.8

14/09/2022

Updated the examples on the GetTransaction Example Messages page.

JB

5.0.8

 

 

08/09/2022

Added new column to 3D Secure Authentication Method section of GPS_POS_Data field to differentiate between the differences between Mastercard and Visa. Also clarified content for Mastercard SPA v2.

JB

05/09/2022

Added a new Currency Code, SLE, for the new Sierra Leonean leone.

WS

01/09/2022

Added a note to the description of data typesAmountUnsigned and AmountSigned to clarify that values can contain up to four decimal places. For customers processing currencies that have more than 2 decimal places, we now round this off to 2 decimal places and add zero padding for the remaining decimal places; see GetTransaction Message Fields > Rounding off of currencies with exponents greater than 2. See PRN-116.

WS

 

5.0.7

18/08/2022

New Merchant Category Codes added.

WS

04/07/2022

For fields of data type AmountSigned, the number of supported decimal places has been updated from 9.2 to 19.4. For example: 72.1230. See GetTransaction Message Fields.

Examples in the GetTransaction Example Messages also updated for this change. See PRN-114.

Corrections made to POS_DATA_DE22 Authorisation and POS_DATA_DE22 Mastercard appendices.

Corrections made to MTID references on Processing EHI Transactions.

WS

5.0.6

 

10/03/2022

Added a new appendix to describe Special Characters that may be used in fields of Data Type ANS.

WS

 

31/03/2022

Removed the field FxProviderBookedRate.

07/04/2022

Processing Code (Proc_Code) = 39 is now used to identify an Account VerificationClosed A type of authorisation transaction which is intended to confirm that the account is genuine and active. Account Verifications are always for a zero amount, so only appear in Authorisation messages and never in clearing messages. transaction. See Processing Codes. See PRN-102.

19/04/2022

 

Updates to the description of the Acquirer Exempt from SCA Indicator in GPS_POS_Data field position 25.

Added a new tag for Visa Base 1 e-commerce data to the Misc_TLV_Data Field.

Standardised the field values used in the EHI field PaymentToken_PanSource so that they align with existing values already used in the EHI field GPS_POS_Data field position 3 (Card Data Input Method). See PRN-104.

Updated examples in the guide to reflect that fields with no data are sent in a closed tag format and not as an open and close tag (e.g., as <Note /> and not as <Note> </Note>).

5.0.5

02/02/2022

New section added to explain Updating the STIP Balance (EHI Modes 4 and 5 only)

WS

26/01/2022

GPS_POS_Data field position 18, ExemptFromSCA value 8 changed to "Not a transaction under PSD2 rules".

5.0.4

22/12/2021

 

 

 

 

 

Updates to Misc_TLV_Data Field description to include new Sender and Receiver data tags.

Updates to descriptions in SenderData and ReceiverData Fields.

Note: Changed guide version number from 5.1 to 5.0.4 to reflect actual current version of EHI (5.0).

WS

14/12/2021

Additional information provided on Responding to Authorisation Declines and Responding to Partial Approvals.

Changes to the description of the DECIMAL data type. See Data Types.

WS

08/12/2021

Minor change to description in MTID field 1240.

New fields added for Currency Cloud FX service: FxProviderCardholderRate and FxProviderBookedRate.

AL

18/11/2021

New Visa examples provided for AuthenticationMerchantHash. See Matching Merchant Name.

New data type of DECIMAL added to Data Types page.

WS

5.0.3

21/10/2021

New values in GPS_POS_DATA for 3D Secure Authentication: v = Authenticated by Mastercard IDCX (‘Identity Check Express’) service; z = AAV refresh transaction successfully authenticated by ACS. See 3D Secure Authentication Method.

New guide using the EHI REST version is now available. Both versions of the guide have been updated to clarify differences between REST and XML message formats.

WS

04/11/2021

For a Visa purchase with Cashback, Thredd now sends the value of Proc_Code as 09 (instead of 00) and includes the cashback amount in the Additional_Amt_DE54 field. Thredd has standardised the format of the Additional_Amt_DE54 field in the GetTransaction Message to use the format provided by GCMS IPM / Visa Base 2, which contains only the data (a multiple of 20 characters). See PRN-72.

In ResponseStatus and Response_Code_DE39 the description of response code 78 has been updated to Card is not active (including created but not yet activated)

11/11/2021

Document updates:

Corrected the spelling of Responsestatus in Transaction Flow Scenarios and Processing EHI Transactions.

Additional details provided on transaction matching of Financial Reversals for Visa transactions. See Transaction Matching. New information provided to support matching transactions where the Acquirer data does not match; see Troubleshooting FAQs: Transactions and Matching.

Information provided on Account Status Inquiry (ASI) transactions and how to identify them.

Corrected the field name of AuthenticationMerchantHash. (This was previously incorrectly communicated as AuthenticationMerchantNameHash)

5.0.2

27/09/2021

New value V = Account Verification added to the Auth_Type field in the GetTransaction message. See PRN-69.

New description of how to respond to Authorisation Reversals. See Processing EHI Transactions.

Updates to Card Status Codes to reflect new card block status codes. See PRN-48.

Note: For additional information about Thredd updates to status and response codes, see the guide Changes to Thredd Card Status and Response Codes.

WS

5.0.1

10/08/2021

Added new EHI fields to authorisation messages for EHI version 5.0, which can be used to compare the 3D Secure authentication amount and currency to the authorised amount and currency:

AuthenticationCurrency

AuthenticationAmountUpper

AuthenticationMerchantHash

These fields can be used to comply with the PSD2 Strong Customer Authentication (SCA) Dynamic Linking requirements (see PRN-56). See Checking fields used for 3D Secure Authentication.

Positions 25 and 26 have been added to GPS_POS_Data field, which you can use to identify if the authentication amount does not match the authorisation amount.

Updates to recommendations for matching and handling authorisation advises and authorisation reversal requests.

New appendix with Transaction Matching - Authentications and Authorisations.

New optional MerchantAdvice response field added, for use when returning decline responses.

In the ResponseStatus Values section, clarified when to use response codes 70 and 93.

WS

5.0

16/07/2021

Updates to reflect new fields added for EHI version 5.0. For details, see EHI Versions. New fields:

Acquirer_Country

PaymentToken_PanSource

ClearingFileId

ReceiverData

Network_Fraud_Data

SenderData

Addition of new appendices: Network_Fraud_Data Format and SenderData and ReceiverData Fields. Changes to numbering in Appendices.

Document corrections:

Updated the GPS_POS_Data field, position 16 and 17 descriptions.

Updated the incorrect spelling of the Proc_Code field in some descriptions which refered to this field.

Updated the PaymentToken_status field description to point to the correct appendix to use for possible values: Card Status Codes.

Changed the following field names to lower-case, to be consistent with how these are used in the GetTransaction message: auth_type, auth_expdate_utc, multi_part_txn, multi_part_txn_final, multi_part_number, multi_part_count.

Updated the description for Incremental presentments

WS

4.1.13

06/07/2021

Updates to Amount Type Codes for the Additional Amounts field: added values 12, 42, 57 and 58.

WS

4.1.12

01/06/2021

Updates to response code appendices: new appendices for ResponseStatus Response Codes and Response_Code_DE39 Response Codes.

New value of N for Non-Card and updates to description of J value in PaymentToken_deviceType.

WS

4.1.11

20/05/2021

In GPS_POS_Data field, changed the descriptions for SCA Assessment Result.

Updates to Card Status Codes and Response Codes.

New EHI E value for a mini-card in appendix PaymentToken_deviceType.

New GPS_POS_Data field position 24: Card/Device Type (Form Factor).

WS

4.1.10

23/04/2021

In GPS_POS_Data field, added a new value of '3' for position 19, and news values of 8 and 9 for position 18; rewrote the SCA section to improve usability. Added new section for position 23.

WS

4.1.09

26/03/2021

Added new tokenisation transaction codes 32, 37 and 28 to Processing Codes.

New tokenisation examples added

New page with details of fields per EHI Versions

WS

4.1.08

25/02/2021

Major revamp to guide. New format and content rewrite. New Getting Started section and FAQs. Topics and appendices have been reorganised.

WS

4.1.07

16/03/2021

Added new values to ExemptFrom SCA field.

Mark

4.1.06

19/02/2021

Corrected ‘CutoffDate’ field in Cut-Off message as follows:

 

Section 10.1 (Cut-off message request fields) – both Description and Data Type corrected.

 

 

GPS_POS_Data field changes (Appendix A.24)

 

‘ExemptFromSCA’ position (Appendix A.24.13)

 

Corrected ‘Low Value’ character from ‘L’ to ‘V’

 

Corrected ‘SCA Delegation character from ‘S’ to ‘D’

 

Added new value ‘O’ (15th letter of alphabet in capitals) for ‘Authentication Outage Exemption’

 

New positions added after ‘ExemptFromSCA’

 

Updated position list in A.24.1, and added comments after the table

 

Extra example (with 22 positions) in Appendix A.24.18 added

Correct field name typo from “Txn_Stat_Cde” to “Txn_Stat_Code” (see GetTransaction Message)

New EHI response codes: 46, 78, 6P, 59, 93 (Appendix A.4)

New Response_Source_Why and Message_Why values 83 to 97 (Appendix A.26)

Appendix A.37 – Noted that for sending Visa Base1 raw values, ‘xx’ will be used for ‘all datasets’, and ‘xxxx’ will be used for ‘all tags’.

Mark

4.1.05

10/02/2021

Corrected section 7.1.1 (WSDL response requirements). Updated contact details on first page.

Mark

4.1.04

27/01/2021

Added new Appendix A.41 to describe Additional_Data_DE48 format for Mastercard Authorisations & Clearing messages.

Mark

4.1.03

06/01/2021

Added new Cardholder Authentication Method values 7,9,A,B,C,D,E in GPS_POS_Data field (Appendix A.24.5)

Added new Cardholder Authentication Entity value 7 in GPS_POS_Data field (Appendix A.24.6)

Added info in A.24.10 (GPS_POS_Data 3d-secure method) to clarify that for Mastercard SPA v2, this information is not received by Thredd.

Added explanation of DES in PIN fields (previously A.14 )

Mark

4.1.02

20/10/2020

Added in A.37 the plans for Misc_TLV_Data tags

Mark

4.1.01

15/07/2020

Appendix A.37 (Misc_TLV_Data):

- added ‘Value Format’ column

- added tags: ‘CGBRDEBT01’, ‘CGBRDEBT02’, ‘CGBRDEBT03’, ‘CGBRDEBT04’ for UK debt repayment transaction information.

Appendix A.7

- Standardised the headings

- Renumbered Appendix A.7.8 (Examples of Amount Signs) from A.7.8 to A.7.9.

- Inserted number Appendix A.7.8 with a Card Expiry example request and response

Mark

4.1.00

03/06/2020

Noted that Bill_Amt_Approved response field in section 9.1.2 GetTransaction Message Fields can be positive or negative (Thredd takes absolute value.)

Section 9.1.1 fields ‘interchange_amount_fee’ and ‘interchange_amount_fee_settlement’ – corrected the case of their names.

Added new field formats into section 8:

- DatetimeRaw(Y_to_D)

- Traceid

- TraceidRaw

- Rate

Added 14 new fields, to provide additional diagnostic information for transactions:

- Traceid_Message

- Traceid_Original

- Network_Transaction_ID

- POS_Date_DE13

- Network_Currency_Conversion_Date

- Network_TxnAmt_To_BillAmt_Rate

- Network_TxnAmt_To_BaseAmt_Rate

- Network_BaseAmt_To_BillAmt_Rate

- Network_Original_Data_Elements_DE90

- Network_Replacement_Amounts_DE95

- Network_Issuer_Settle_ID

- Visa_ResponseInfo_DE44

- Visa_POS_Data_DE60

- Visa_STIP_Reason_Code

- Mastercard_AdviceReasonCode_DE60

- Misc_TLV_Data

Existing fields can take new values:

- Reason_ID – Visa Base 1 reason code loaded here now

- ProcCode – new Transaction code “10” Account Funding

Existing field size extended: Additional_data_de48 now up to 5000 long

Split Appendix A.7.2 into A.7.2M (for Mastercard examples) and A.7.2V (for Visa Examples)

Added new appendices:

A.32.4 for new Reason_ID values from Visa

A.36 for Mastercard_AdviceReasonCode_DE60

A.37 for Misc_TLV_Data

A.38 for Visa_STIP_Reason_Code

A.39 for Visa_ResponseInfo_DE44

A.40 for Visa_POS_Data_DE60

Altered some Appendices:

A.10 Currency Code: table now takes less space

A.13 Merchant Category Codes: corrected table headings, table now takes less space

A.17 POS_Data_DE22: corrected to take into account different format for Visa Authorisation messages.

A.19 Country Codes: table now takes less space

Corrected order of fields in WSDL

From this:

- DCC_Indicator

- multi_part_txn

- multi_part_txn_final

- multi_part_number

- multi_part_count

- SettlementIndicator

- Clearing_Process_Date

- Settlement_Date

- Currency_Code_Fee

- Currency_Code_Fee_Settlement

- Interchange_Amount_Fee

- Interchange_Amount_Fee_Settlement

To this:

- Currency_Code_Fee

- Currency_Code_Fee_Settlement

- Interchange_Amount_Fee

- Interchange_Amount_Fee_Settlement

- Clearing_Process_Date

- Settlement_Date

- DCC_Indicator

- multi_part_txn

- multi_part_txn_final

- multi_part_number

- multi_part_count

- SettlementIndicator

Corrected order of fields in all examples to match the WSDL order.

Clarified section 9.1.1 descriptions of both “POS_Data_DE22” and “POS_Data_DE61” to make clearer differences between Visa/Mastercard and authorisation/clearing. (see GetTransaction Message Fields)

Appendix A.24.10 – 3D secure auth method: Added new value ‘C’

Section 7.4 -> added entry for MTID=0120 TxnType=’A’ (see GetTransaction WSDL and Examples)

Section 7.4 -> corrected entry for MTID=0120 TxnType=’J’

Mark

4.0.03

14/02/2020

Corrected links in A.24 GPS_POS_Data field to these:

- InstantFunding_GPS

- InstantFunding_Network

- ExemptFromSCA

Added Txn_Type value ‘K’ (Chargeback Reversal) to sections: A.2, 9.4, 5, 7.4, 7.3, 9.2

In A.17POS_Data_DE22 in Authorisation message – ‘10’ is valid for Mastercard (same meaning as Visa ‘10’)

In 7.3, noted that matching is not 100% accurate, and expanded rule on matching presentment (1240/05/06/07,P) to Auth (0100/0120,A/J)

In 7.4, note on 0400/D and 0420/D reversals to state that if the Txn_Amt matches, it is a full reversal.

In A.1 (processing codes), added ‘11’ (Quasi cash).

Corrected subsection 7.6.1 and 7.6.2 that were labelled 7.1.1 & 7.1.2

In A.24.13 (GPS_POS_Data field ExemptFromSCA position) added new value ‘1’

In 9.1.1 SettlementIndicator added values ‘3’ and ‘4’ (see GetTransaction Message Fields)

Renumbered Appendix A.7.7 (GetTransaction WSDL and Examples) to A.7.8 (to allow below insert)

Added Fee transaction (MTID=empty, Txn_Type=’P’) to sections 5, 7.3 and 7.4, 9.2, 9.5, and an example in inserted Appendix A.7.7

Mark

4.0.02

05/11/2019

Added new positions to GPS_POS_Data field: ExemptFromSCA

Throughout:

- Added in details for MTID 0101 Authorisation Duplicate (Visa only)

- Added in clarification for Visa second presentment MTIDs (05/06/07 N)

- Corrected the CVV2 field description and examples

- Added appendix A.24.11 for ExemptFromSCA field

- Added appendix A.34 for CVV2 field char 1 (if 6 chars)

- Added appendix A.35 for CVV2 field char 2 (if 6 chars)

Sarah + Mark

4.0.00

14/06/2019

Changed order of the following fields to match WSDL:

- Matching_Txn_ID (was underneath TLogIDOrg, now under auth_expdate_utc)

- Auth_Type (was underneath GPS_POS_Data now under Merch_Contact)

- Auth_Expdate_UTC (still underneath Auth_Type but auth_type moved)

- Reason_ID (was underneath Message_Why but now under Matching_Txn_ID)

- Dispute_Condition (still underneath Reason_ID but Reason_ID has moved)

Added new fields:

- Settlement_Service

- Central_Process_Date

- Settlement_Date

- Acquirer_Forwarding_ID

- multi_part_txn

- multi_part_txn_final

- multi_part_number

- multi_part_count

- currency_code_fee

- currency_code_fee_settlement

- interchange_amount_fee

- interchange_amount_fee_settlement

- DCC_Indicator

- Network_Chargeback_Reference_Id

Added new positions to GPS_POS_Data

- InstantFunding_GPS

- InstantFunding_Network

 

9.1 Field formats - clarified CVV2 formatting with position details (see GetTransaction Message Fields)

A.4. Response Codes - Added new response codes C0 and C1 for PSD2 compliance and response code 86

A.6 AVS results – added code Z

A.29  PaymentToken_Wallet

Added a number of new wallet providers supported by Visa

Sarah

3.1.0

12/03/2019

New request fields

- Matching_Txn_ID to indicate the TXn_ID of the matching Authorisation for Financial transactions.

- Auth_Type (to indicate if preauth, final-auth, or unknown)

- Auth_Expdate_UTC (when Thredd/acquirer think authorisation will expire)

- Reason_ID (eg reason code for a chargeback)

- Dispute_Condition (Visa chargeback Dispute Condition)

- Updated section 9 and examples in appendex A.7 for this.

Removed spurious ‘dd’ from end of section A.7.2.1 (Auth example) and A.7.2.3 (Financial example).

Added new section “3.3 EHI Interface Design considerations for Customers”

Added notes to A.4 “Response Code Values” to state that for EHI modes 1,2, for Mastercards, response codes 91,92,96 will invoke STIP.

Section 9.2 removed spurious sentence about “Authorisation Message Types” above the table. (see GetTransaction Message Fields)

Removed these fields that are not provided (Thredd internal refs: DEV_MT_CORE-1429 and DEV_MT_CORE-1606)

- Account_Type_From

- Account_Type_To

- Txn_Code

Sections 9.1.1, 9.3.1, 9.4.1, 9.5.1 – re-ordered fields to match WSDL order of arrival.  Now all field tables are in exactly the same order. (see GetTransaction Message Fields)

Mark

3.0.9

26/04/2018

Added value 26 (Original Credits) to Appendix 1.1, Transaction Code Values.

Added additional response fields, AvlBalance_GPS_STIP and CurBalance_GPS_STIP in EHI response message components for Mode 4 enhanced functionality, in the following sections:
9.1.2 Response Field Formats (see GetTransaction Message Fields)

9.3.2 Response Message Fields

A.7.1 GetTransaction WSDL

A.7.2.2 Example Authorisation Response Message

Chip

3.0.8

24/04/2018

Appendix A.4 Response Code Values changes:

- Removed spurious “Note – not all codes are” sentence

- Added code 92 (Mark)

- Added code 32 (Harry C)

Mark (92)

Harry C (32)

3.0.7

05/04/2018

Added the value 12 to Transaction Code values in Appendix A.1.1 (part of ProcCode field). (see Processing Codes)

Harry C

3.0.6

07/03/2018

Section 9.1.1 correct format of “PaymentToken_activationExpiry” from Datetime(Y_to_ss) to Datetime(Y_to_nnn) to reflect what is actually sent. (DEV_MT_CORE-2613)

Corrected date of 3.0.5 spec from 29/01/2018 to 06/03/2018 (in change logs at top and bottom.)

Added Payment Token Activation Request (appendix A.7.2.5)

Mark

3.0.5

06/03/2018

Appendix A.29 PaymentToken_wallet values – ‘ANDROID’ wallet name changed from ‘Android Pay’ to ‘Google Pay’. No field changes.

Removed (MTID=0120, Txn_Type=A) and (MTID=0100, Txn_Type=D) from sections 9.2 and 9.3, as these combinations do not exist.

Added MTIDs 25,26,27 (Visa Financial Reversals) into sections: 7.3, 7.4.

Added MTIDs 05,06,07,25,26,27 into MTID field in section 9.1.1 (request message fields.) (see GetTransaction Message Fields)

Mark

3.0.4

09/01/2018

Added additional description in Appendix A.1.1 (Transaction Code values) for ‘36’ Transaction code.

Added extra values 51 to 55 for ‘Message_Why’ field in Appendix A.26 (Response_Source_Why + Message_Why)

Added new PaymentToken_creatorStatus value ‘D’ in Appendix A.28

Corrected email address on first page.

Mark

3.0.3

22/12/2017

Added values 47 to 50 for Response_source_why + message_why in section A.26

Added new wallet values FITBIT + PAYNETPHYR in section A.29 PaymentToken_wallet.

Added table borders in appendices A.25 to A.31.

Removed MTID=0120 Txn_Type=A from section ‘7’ as this combination does not exist.

Removed MTID=0100 Txn_Type=D from section ‘7’, as this combination does not exist (hanging auth removals are always created with MTID=’’ (blank).

Added enhanced description of reversals in section 7.4.

Mark

3.0.2

15/11/2017

Added 2 missing fields in GetTransaction to sections: A.7.1 (WSDL), Field info sections: 9.1.1, 9.3.1, 9.4.1, 9.5.1: (see GetTransaction Message Fields)

PaymentToken_deviceId

PaymentToken_deviceName

Added GPS_POS_Capability and GPS_POS_Data values and made POS/Merchant fields more consistent in examples in sections:

- A.7.2.1 (Auth request example)

- A.7.2.3 (Auth Advice example)

- A.7.3.1 (Financial request example)

Added fields after Message_Why to Auth Advice example in section A.7.3.

Mark

3.0.19

19/02/2019

7.1.1 WSDL GetTransaction response

 Txn_Stat_Cde and Resp_Code_DE39 could indicate approval for EHI mode 4

 SendingAttemptCount is value-1 for EHI mode 4

7.3 Transaction Matching

1240 dummy auth - added 05pp 06pp 07pp

corrected 05,06,07,25,26,27 -> add 2 spaces on the end

7.4 Transaction processing by receiver

0120 J -> add note in Description to say can arrive for network STIP and AFD

0420 D -> fix note as visa use both 0400 and 0420.

1240 A dummy -> add 05pp 06pp 07pp

05,06,07,25,26,27 -> add 2 spaces on end

7.5 Incremental auths

Added expected final transaction amount

added notes on if final tranasaction amount too high or too low

clarified some language

7.6 Added section on Exception transactions

 

9.1.1 Request fields: (see GetTransaction Message Fields)

Settle_Amt: description corrected

LoadType: corrected link to valid values

POS_Time_DE12: clarified description

Status_Code: clarified description

payment-token fields corrected examples for visa/mc:

   - PaymentToken_id

   - PaymentToken_expdate

   - PaymentToken_type

   - PaymentToken_status

   - PaymentToken_creatorStatus

   - PaymentToken_wallet

   - PaymentToken_deviceType

   - PaymentToken_lang

   - PaymentToken_deviceTelNum

   - PaymentToken_deviceIp

   - PaymentToken_activationCode

   - PaymentToken_activationMethod

   - PaymentToken_activationMethodData  

9.1.2 Response fields:

- Update_Balance - added note that WS_BalanceUpdate can also be used to update the balance.

9.2 = added visa clearing mtids

  05pp,06pp,07pp  (fin)

  25pp,26pp,27pp  (fin rev)

9.3.1 - request fields:

  - Resp_Code - notes for modes 4 added

9.3.2 - response fields

    - CurBalance + AvlBalance conditional based on EHI mode, proccode and if approved

    - AvlBalance_GPS_STIP + CurBalance_GPS_STIP - now made conditional with explanation.

9.4 - added the visa MTIDs

    05pp,06pp,07pp (txntype A and P)

    25pp,26pp,27pp (txntype='E' financial reversal)

9.4.2 - Response message fields:

  AvlBalance_GPS_STIP + CurBalance_GPS_STIP - now made conditional with explanation.

A.1.1 added 70, 71, 72 proccodes

 

A.3 clarified Txn_Stat_Cde 'C' (Cleared)

 

A.7.7 – new section added to aid understanding of amount signs

 

A.13 MCC ranges:

    - removed all non-descript ranges of 2+ MCCs

   - removed entries which were duplicated (kept correct description)

   - removed “DISALLOWED” if not appropriate (Various entries)

     added 3733 "Boca Raton Resort"

     added 3736 "Colorado Belle Edgewater Resort"

     added 3739 "Woodside hotels and resorts"

A.19 Country codes

     - Added Kosovo, to see UNMI Kosovo

A.22 Bank Account Format

     - Added table borders

A.26 added why values 71 to 82 inclusive

 

A.27 paymenttoken_type

added BW - Browser Accessible Wallet

A.28 Paymenttoken_creatorStatus

     added I - Inactive

A.29 PaymentToken_wallet

   - Added STOCARD

Mark + Glenn

3.0.18

04/01/2019

Field POS_Termnl_DE41 is only mandatory for electronically-card-read transactions, so changed:

Section 9.1.1 – POS_Termnl_DE41 description to add note (see GetTransaction Message Fields)

Section 9.3.1 – Authorisation request fields: POS_Termnl_DE41 changed from “Mandatory” to “Optional”

Section 9.4.1 – Financial request fields: POS_Termnl_DE41 changed from “Mandatory” to “Optional”

Repeated the headers in country code table in A.19

Mark

3.0.17

17/10/2018

Existing section A.10 (currency codes) enhanced to provide the names of all the currency codes.

Added a full table of country codes, providing the following details:

- Country name

- Country 3-alpha code

- Country 2-alpha code

- Country 3-numeric code

Ajeesh

3.0.16

16/10/2018

Addition of Garmin Pay and Mont Blanc pay

Noted in section 1.2 that real time data feed permits sending real-time alerts to cardholders

Numerous linguistic changes

Matt Clare

3.0.15

17/09/2018

Corrected MTID data type from N(1,4) to ANP(1,4) in section 9.1.1 (see GetTransaction Message Fields)

Harry C

3.0.14

14/08/2018

Corrected the following WSDL types in section A.7.1 from “s:int” (-2^31 to 2^31-1) to “s:long” (-2^63 to 2^63-1), so that data types are appropriate as per https://www.w3.org/2001/XMLSchema.xsd for the data content as described in chapter 9 (see GetTransaction Message Fields).

These GetTransaction WSDL elements were corrected:

“SubBin” from “s:int” to “s:long”

“Balance_Sequence” from “s:int” to “s:long”

“Balance_Sequence_Exthost” from “s:int” to “s:long”

These GetTransactionResponse WSDL elements were corrected: “New_Balance_Sequence_Exthost” from “s:int” to “s:long”

Added note at top section A.7 (WSDL) that the datatype definitions are found as per https://www.w3.org/2001/XMLSchema.xsd

Mark

3.0.13

07/08/2018

Corrected the Datatype (min,max) for:

- Balance_Sequence (in section 9.1.1) (see GetTransaction Message Fields)

- Balance_Sequence_Exthost (in section 9.1.1)

- New_Balance_Sequence_Exthost (in section 9.1.2)

Included that for all, the maximum value is 2^63-1 which has 19 digits.

Mark

3.0.12

31/07/2018

Section A.7.1 GetTransaction Message Fields, corrected request message:

- Balance_Sequence changed minOccurs from “1” to “0”

- Balance_Sequence_Exthost changed minOccurs from “1” to “0”

Because these fields only exist properly for transactions sent at the time they occur (not for transactions sent after the event on the queue mechanism.)

Expanded description in section 9.1.1 for fields “Balance_Sequence” and “Balance_Sequence_Exthost”. (see GetTransaction Message Fields)

Mark

3.0.11

20/06/2018

Removed spurious ‘7’ at start of section 9.1.2 (see GetTransaction Message Fields)

Reinserted 3.0.8 comment above

Added 3.0.9 + 3.0.10 comment above

Appendix A.26 (‘why’ codes) – added value 56 to 70, and enhanced description of codes 51 (token status change), and 52 (token replacement)

Ensured this table is not too wide for the page.

Fixed some spacing in the changelog at top and bottom.

Improved spacing and commas (grammar) in section 5 (Transaction Types.)

Mark

3.0.10

07/06/2018

Minor corrections for editing errors in previous version.

Chip

3.0.1

15/11/2017

Added new fields in WSDL section Appendix A.7

Added new fields to examples in section A.7.1 and A.7.2.3.

Removed fields Txn_Code, Account_Type_From, Account_Type_To (from WSDL GetTransaction in Appendix A.7) as these are not sent.

Added these fields to the GetTransaction request example in section A.7.2.1 and A.7.2.3

source_bank_ctry

source_bank_account_format

source_bank_account

dest_bank_ctry

dest_bank_account_format

 

dest_bank_account

 

GPS_POS_Capability

 

GPS_POS_Data

 

Aligned fields in the examples in sections A.7.2.1 and A.7.2.3 so fields are in WSDL order (and same order as we send)

Added MTID=0120 Txn_Type=J (Auth Advice) to section 9.2 – Transaction Type Decoding, and top of section 9.3 – “Transaction Type – Authorisation” to include it in the Authorisation message types. (see GetTransaction Message Fields)

Renamed Appendix A.18 from “POS_Data_DE22 in Financial Messages” to “POS_Data_DE22 in Mastercard Financial Messages” to stress that this does not apply for Visa messages at all.

Added notes to existing fields as follows:

Merch_Name_DE43

now depreciated in favour of new Merch_... fields (for card txns)

POS_Data_DE61

now depreciated in favour of new GPS_POS_Capability and GPS_POS_Data

POS_Data_DE22

now depreciated in favour of new GPS_POS_Capability and GPS_POS_Data

Txn_Desc

see new Merch_... fields that may be more useful

Mark

3.0.0

15/11/2017

Added new normalized POS and Merchant data fields as follows:

Added new fields to GetTransaction messages:

<Merch_Name>

<Merch_Street>

<Merch_City>

<Merch_Region>

<Merch_Postcode>

<Merch_Country>

<Merch_Tel>

<Merch_URL>

<Merch_Name_Other>

<Merch_Net_id>

<Merch_Tax_id>

<Merch_Contact>

(Updated sections 9.1.1, 9.3.1, 9.4.1, A.7.1 as a result)

GPS_POS_Capability (Appendix A.23) Added definitions of new positions 3-49 inclusive.

GPS_POS_Data (Appendiox A.24) Added definitions of new positions 1-22 inclusive.

Mark

2.0.6

08/11/2017

Added Txn_Type=J (Auth Advice) to:

- section 7.3 Transaction matching

- section 7.4 Transaction processing

- Appendix A.2 Txn_Type values

Improved matching rules in section 7.3 for the following (MTID, Txn_Type) combinations:

(0100, ‘A’):  added THIS.token=OTHER.token

(0120, ‘A’): added traceid_lifecycle and Auth_Code_DE38

(0120, ‘D’): added traceid_lifecycle and Auth_Code_DE38

(0120, ‘J’): added new rule

(0400, all): added traceid_lifecycle, but noted it and auth_code_DE38 may be missing for timeout reversals

(0420, all): added traceid_lifecycle, but noted it and auth_code_DE38 may be missing for timeout reversals

(1240, ‘P’): Changed to 2 rules, first with trans_link, then without trans_link.

Added notes to section 7.4 that for 0400, 0420 reversals, first check the reversal is not a duplicate before doing any unblocking if needed.

Added rules in 7.4 for Txn_Type=’J’ MTID=0120

Mark

2.0.5

18/10/2017

Section 7.3 Matching criteria corrected the following:

- Removed Acquirer_Reference_Data_031 from all MTID=1240 TxnType=’P’ matching to Auths (as no DE31 in auth.)

- Added traceid_lifecycle as a matching criteria (if it exists in financial) for MTID=1240 TxnType=’P’ matching to auths

- Changed the MTID=05, 06, 07 (i.e. Visa presentments) matching to Auths to say do as MTID=1240 TxnType=’P’

Updated company info on front page

Mark

2.0.4

29/08/2017

Edited section 9.1 to specify MC/VISA fields. (see GetTransaction Message Fields)

Edited section 9.4.1 to make the Resp_Code_DE39, TXN_Time_DE07 optional for financial messages.

Included details for VISA in sections A.17, A.18, A.20

Sudheesh

2.0.4

07/09/2017

Added section 7.5 for incremental authorisations

Sudheesh

2.0.3

29/06/2017

Changed  Txn_Time_DE07  to TXN_Time_DE07 in WSDL

Sudheesh

2.0.2

26/06/2017

Changed field ICC_System_Related_Data_DE55 internal format:

From:

(if Mastercard)

- display binary (ASCII ‘0’ and ‘1’ chars – 8 chars for 1 byte) where the encoded bytes represent:

- first 3 bytes: length of following data in binary bytes (1 binary byte is 8 ASCII ‘0’/’1’ chars in the string), encoded as 3 ASCII digits ‘0’ to ‘9’. 

- following bytes: EMV TLV data as Tag, Length, Value bytes encoded as Basic Encoding Rules (BER) as described in EMV Book 4.3 Annex B “Rules for BER-TLV data objects”

- note that alls tags sent from the acquirer will be present (even if not defined by EMV)

(if Visa)

- Hexadecimal digits (‘0’-‘9’ and ‘A’-‘F’) where 2 hexadecimal digits represent 1 byte, where the encoded bytes represent:

- First byte is full length of data

- Next byte is value 1  (hex ‘01’)

- Next 2 bytes (4 hex digits) is the length of the following TLV data in binary bytes (eg ‘000F’ if 15 bytes (30 hex digits) follows

- Following bytes: EMV TLV data as Tag, Length, Value bytes encoded as Basic Encoding Rules (BER) as described in EMV Book 4.3 Annex B “Rules for BER-TLV data objects”

- note that alls tags sent from the acquirer will be present (even if not defined by EMV)

From examples (eg if sending tags 9F35 and 82)

Mastercard: 001100000011000000111000100111110011010100000001

0010001010000010000000100001100110000000

Visa:  0B0100089F35012282021980

To:

- Hexadecimal digits (0-9 and A-F) where 2 hexadecimal digits represent 1 byte, where the encoded bytes mean:

- EMV TLV data as Tag, Length, Value bytes encoded as Basic Encoding Rules (BER) as described in EMV Book 4.3 Annex B “Rules for BER-TLV data objects”

- Note that alls tags sent from the acquirer will be present (even if not defined by EMV)

To example (eg if sending tags 9F35 and 82)

(for Visa and Mastercard): 9F35012282021980

Shrank text in section 9.1.2 (response fields) for field “New_Balance_Sequence_Exthost” to ensure it can all be read. (see GetTransaction Message Fields)

Added new note in section 7.3 (Transaction Matching) and section 7.4 (Transaction Processing) so that customer can match a 0100 incremental authorisation to a previous 0100 authorisation.

Mark

2.0.1

20/06/2017

1.Corrected casing for:

Acquirer_ID_DE32 -> Acquirer_id_DE32

Txn_ID -> TXn_ID

Txn_Time_DE07

Traceid_Lifecycle -> traceid_lifecycle

2.New response field CVV2_Result (sections 9.1.2, 9.3.2, 9.4.2, 9.5.2)

Sudheesh

2.0.0

02/06/2017

DEV_MDES-19 changes:

Added the following new optional PaymentToken_... fields for MDES:

- PaymentToken_id

- PaymentToken_creator

- PaymentToken_expdate

- PaymentToken_type

- PaymentToken_status

- PaymentToken_creatorStatus

- PaymentToken_wallet

- PaymentToken_deviceType

- PaymentToken_lang

- PaymentToken_deviceTelNum

- PaymentToken_deviceIp

- PaymentToken_activationCode

- PaymentToken_activationExpiry

- PaymentToken_activationMethod

- PaymentToken_activationMethodData

 

So therefore updated the following places:

- Section 9.1.1 field definitions (see GetTransaction Message Fields)

- Section 9.3.1 Authorisation request fields

- Section 9.4.1 Financial request fields

- Section 9.5.1 Non-Card-Network-Transaction request fields

- Appendix A.7.1 WSDL for GetTransaction

Added extra SOURCE codes to section A.25 (Response_Source and Message_Source values) as MDES PaymentToken_creator field uses some of the new values.

Added new formats “Datetime(Y_to_D)” and “Datetime(Y_to_ss)” in section 8.1 Data Types

Added the following new Appendices, for new values related to PaymentToken_... fields:

Appendix A.27: PaymentToken_type

Appendix A.28: PaymentToken_creatorStatus

Appendix A.29: PaymentToken_wallet

Appendix A.30: PaymentToken_deviceType

Appendix A.31: PaymentToken_activationMethod and PaymentToken_activationMethodData

Mark

1.5.9

28/04/2017

Changed WSDL for FirstTxn_ID and

LastTxn_ID to Long from Int, A.8 Cut-Off Message WSDL and Examples.

Arjun C V

1.5.8

27/03/2017

Made the following changes, in order to merge this version of the spec (hosted on confluence) with the changes I made to the incorrect version of the spec (hosted on JIRA DEV_EHI15-19)

Updated format of CutOffDate in CutOff message specification to YYYY/MM/DD hh:mm:ss – CS_PAGOBOX-16, 10.1 Request Message.

Replaced GetTransaction message WSDL with correct version – DEV_EHI15-26, A.7.1 GetTransaction WSDL. Changes from the original include:

- <s:all>, replaced by <s:sequence>

 

- GPS_POS_Capability

- GPS_POS_Data

- Acquirer_Reference_Data_031

- Response_Source

- Response_Source_Why

- Message_Source

- Message_Why

- traceid_lifecycle

- Balance_Sequence

- Balance_Sequence_Exthost

- Txn_Code

- Account_Type_From

- Account_Type_To (these are in request)

- Bill_Amt_Approved

- Update_Balance" type="s:int

 

New_Balance_Sequence_Exthost (these are in response)

Added note on processing code values - CS_OX2B-30, A.1 ProcCode (Processing Code) values.

Removed section on Keepalive Timeout, as this functionality is not currently scheduled for release - DEV_MT_EHI-81, 3.2 Protocol Layer connection.

Added to description of Txn_GPS_Date, clarifying when this is set - CS_HOLVI-95, 9.1.1 Request Field Formats

Jake

1.5.7

27/03/2017

Added 3 new fields as different parts of existing Proc_Code field:

Account_Type_From

Account_Type_To

Txn_Code

 

For DEV_MT_CORE-1429.

Changed as a result:

Fields in sections 9.x

WSDL for GetTransaction

Examples

Added these fields (introduced in 1.5.3 above) into sections 9.3, 9.4, 9.5 (where it was missing):

Balance_Sequence (request field)

- Balance_Sequence_Exthost (request field)

Added these to Authorisation example in section A.7.2.

Corrected typo ‘Responsestaus’ in section 9.5.2 (Non-Card Network Transaction response message.)

Mark

1.5.6

17/02/2017

Added missing response fields:

- Bill_Amt_Approved

- Update_Balance

- New_Balance_Sequence_Exthost

to tables in sections:

9.3 (Transaction Type – Authorisation)

9.4 (Transaction Type – Financial)

9.5 (Transaction Type – Non-Card Network)

And added these to the authorisation example in section A.7

Mark

1.5.5

14/02/2017

Section A.8 – Cut-Off Message WSDL

Corrected Cut-Off Response Message element name from ‘th’ to ‘Cut_OffResult’ for Response element. (Example is correct.)

Mark

1.5.4

02/02/2017

Added new EHI mode 4 for DEV_EHI15-2 (balance stand-in.)

Added new response fields:

- Balance_Update

- New_Balance_Sequence_Exthost

For DEV_EHI15-2 balance stand-in.

Clarified in MTID in section 9.1.1 that value ‘1240’ is used for both Financial Notification and Chargeback Notification (user must check TransactionType to tell the difference.)

Section 9.1.1 value MTID ‘1442’ removed as we currently do not use this for chargebacks.

(We may add 1442 in the future.)

Mark

1.5.3

21/10/2016

Added fields:

- GPS_POS_Capability (in card related requests)

- GPS_POS_Data (in card related requests)

- Bill_Amt_Approved (in responses)

 

Added new Appendices:

- A.23 GPS_POS_Capability

- A.24 GPS_POS_Data

Initially done to support partial approvals.

Added these new fields to example Auth request message and Financial request message.

Added field traceid_lifecycle for GetTransaction request messages (DEV_EHI15-5)

Added in changes from EHI spec version 1.4.6 (adding MTID=”0120”, Txn_Type=”D” (Auth reversal due to AFD 0120 advice):-

Added the Automated Fuel Dispenser (AFD) Auth Reversal (due to AFD auth advice) which is:

- MTID=”0120” (auth advice)

- Txn_Type=”D” (auth reversal)

into the MTID + Transaction type tables in sections 7.3 (Transaction Matching), 7.4 (Transaction Processing) and 9.2 (Transaction Type Decoding.

Added fields:

- Acquirer_Reference_Data_031

Added Acquirer_Reference_Data_031 into the Financial matching logic.

Corrected POS_Data_DE22 for authorisation messages (appendix A.17) – position 3 was slightly inaccurate regarding online vs offline PIN support (DEV_MT_EHI-88)

Added these fields for DEV_EHI15-2 for balance updating:

- Balance_Sequence (request field)

- Balance_Sequence_Exthost (request field)

- Update_Balance (response field)

- New_Balance_Sequence_Exthost (response field)

Added information on field usage.

Added these fields for DEV_EHI15-17

  - Response_Source

  - Response_Source_Why

  - Message_Source

  - Message_Why

The values are as described in DEV_TRXSCR-3 and fields map to columns of the same name on AUTHORISATION and 0120_STORE database tables.

Added Appendix A.25 to describe Response_Source and Message_Source values.

Added Appendix A.26 to describe Response_Source_Why and Message_Why values.

Added new Transaction type decoding combination of:

MTID=0120

Txn_Type=’A’

to all the message decoding tables.

Added missing value “82” (PAN data on file) to POS_Data_DE22 in Authorisation message section (appendix A.17)

Added paragraph on keepalive timeout setting, configurable for every product, in 3.2 Protocol Layer connection.

Mark,

Jake

1.5.12

30/05/2017

Corrected definition of POS_Time_DE12 field in section 9.1.1 Request Field Formats

Mark

1.5.11

16/05/2017

Removed spurious first sentence of section 7.1.1

Mark

1.5.10

02/05/2017

Corrected capitalisation of Agency Banking fields in GetTransaction to lower case to match WSDL and code:

source_bank_ctry

source_bank_account_format

source_bank_account

dest_bank_account_format

dest_bank_account

dest_bank_ctry

Fixed typo in section A.22 ‘r’ missing from ‘Source_Bank_Account_Format’

Added 2 new responsestatus code values in section A.4:

30 – Format Error (to be used if customer thinks our request is invalid)

96 – System Malfunction (to be used if customer system has fatal error)

Commented on these existing codes:

17 – customer cancellation

68 – Response received too late

82 – Timeout at IEM

91 – Issuer unavailable

To clarify usage in each case

Note: DEV_EHI16-7 will handle this on Thredd side.

For DEV_MT_CORE-1804 - Section 9.1.1 Request Field Formats new future trans_link format for offline cleared transactions (implementation date TBC).  Also clarified existing formats.

Mark

1.4.5

18/07/2016

Moved this full change log down to this appendix.

GetTransaction Request field ‘POS_Data_DE61’ no longer has leading subfield 0 (3 digit length) – presence of this leading subfield was fixed in DEV_MT_EHI-26.)

Fixed example Authorisation messages in section A.7 to remove leading ‘026’ in field POS_Data_DE61

Mark

1.4.4

 

12/04/2016

 

Corrected Fx_Pad in Authorisation and Financial to state that this amount is in the Billing Currency (Bill_Ccy.)  Previously incorrectly stated as in the Transaction Currency (Txn_CCy.)

Clarified that the Bill_Amt in Authorisation message does not include Fx_Pad amount field or MCC_Pad amount field.

Inserted new section 8 – Data Types, which describes the common data types used for both GetTransaction and Cut_Off WSDL messages. Therefore, most of original section 8 (message formats) is now section 9.

Created new table under new section 9.1 (Field Definitions for GetTransaction), which describes in a single place all of the field formats.

This has been done so it is clear for the reader the overall format of each field, instead of describing it per message (Authorisation/Financial/Non-Card-Network.)

Mark

 

Altered the Authorisation, Financial and Non-Card-Network tables to remove the field definitions, as these are now described in a single place in new section 9.1.

Now you only need to record for Authorisation/Financial/Non-Card-Network which fields are mandatory / optional / omitted.

Added section A.21 (Calculating the Total Transaction impact to the balance), and referenced it in section 6, so external hosts authorising the transaction are clear on the total transaction impact.

(Note that partial auth approving by External Host (as per calculation in DEV_MT_CORE-587) would require the original fee rate percentages to be sent to External Host.  Therefore, External hosts should not partial approve unless they are clear on the total balance impact with the partial approved amount.)

Noted in section A.4 (Response Codes) that Refer-to-issuer codes (i.e. “01”) is not permitted from 16 April 2016 for Visa Transactions.

Corrected POS_Data_DE61 field as Thredd send it including the 3 Banknet length digits at the front (although length may no longer match this due to trailing space removal on EHI transmission.)

Renamed section 7 from “Request Response” to “Transaction Processing Requirements”, and included new sections on:

- How receiver should duplicate check

- How receiver should match transactions

Added 6 new fields to bottom of all GetTransaction Request messages for Agency Banking (Source_Bank_Ctry, Source_Bank_Account_Format, Source_Bank_Account, Dest_Bank_Ctry, Dest_Bank_Account_Format, Dest_Bank_Account.)

Added new section A.22 for the values for Source_Bank_Account_Format and Dest_Bank_Account_Format.

Added new fields for Agency Banking to the GetTransaction WSDL message (only present for Non-Card-Network transactions, of type Payment with LoadSRC=64 (bank transfer)).

Adjusted the payment transaction examples for new Agency Banking fields.

Adjusted Appendix A.16 (Authorisation field Merch_Name_DE43) to state that if card acceptor is in Canada, then the 2-character Canadian province codes are present (instead of country code.)

Corrected Cut_Off response message (section 10.2 Response Message) as the response field was incorrectly named.

Removed initial text from section 7.1 Response requirements as other parts of the specification state the same thing clearer.

Corrected “Acknowledgment” to “Acknowledgement” as that is what the field (defined in section 9.1.2 Response Field Formats).

Renumbered section 8.1.1 to 8.1, and 8.1.2 to 8.2 (as there was no original section 8.1)

Removed extraneous text from A.5 POS_Data_DE61 Values

Added ‘Payment’ to section 5 (Transaction Types.)

Added ‘Omitted’ as a Data Usage Type in section 8.2.

1.4.3

 

 

09/03/2016

 

 

Adding message repeat counter field “SendingAttemptCount” for project DEV_EHI14-7.

This indicate will tell the receiver how many times we have repeated a message. (0=not repeated, 1=first repeat, 2=second repeat …)

This field is applied to all non-CutOff messages.

Clarified that currently, Thredd defines “Thredd Calculated Non-Domestic Fees” as Fees that apply when Txn_CCy ≠ Bill_Ccy.

Clarified that currently, Thredd defines “Thredd Calculated Domestic Fees” as Fees that apply when Txn_CCy = Bill_Ccy. 

Updated all applicable fee descriptions as a result.

Clarified in section 7 (Request and response), that Thredd will continue to re-send an EHI message until either <Acknowledgement> is set to “1” in response or Thredd reach maximum permitted re-tries.

Mark

 

 

Added Txn_Type=’N’ (Second Presentment) into the Txn_Type values for MTID=1240.  This is processed in the Financial Request message format.

Renamed section 10.2 (TxnType), to use actual field name of Txn_Type (instead of TxnType.)

Corrected setion 10.2 (Txn_Type) to specify that Txn_Type=’A’ (Authorisation) transactions can be either “Authorisation” or “Financial” formatted messages, as determined by the MTID field.

Added Txn_Type new value of ‘G’ (Payment Transaction) for DEV_EHI14-4 project.  Added to section 8.2 (Txn_Type / MTID) Txn_Type ‘G’.

In the section 8 the “Balance Adjustment / Expiry” transaction types and “Load Unload” transaction types have been merged into a single section “Non-Card-Network Transactions”.  This is clearer and simpler.

Renamed appendix “TxnStatCde” to “Txn_Stat_Cde” to precisely match the name of the field.

Renamed appendix “AVS Result values” to “AVS_Result values” to precisely match the name of the field.

Renamed appendix “POS Data DE61 …” to “POS_Data_DE61 …” to precisely match the name of the field.

Renamed appendix “POS Data DE 22 …” to “POS_Data_DE22 …” to precisely match the name of the field.

Added information from project DEV_MT_EHI-44.  Added to section 7 and section 8 (Authorisation subsection) to indicate how customer detects a 0100 auth request being sent as an advice (due to original auth request was not correctly responded to in time.)

1.4.2

07/03/2016

Inserted new section at 8.2 “Transaction Type Table” to indicate which Transaction type section is applicable for every message.

Added Transaction type ‘C’ (Chargeback) to section 8 – Financial request message section, as chargeback comes under here.

Clarified what combinations of MTID + Txn_Type mean in new section 8.2, and start of other sections in section 8.

Added expanded descriptions of all the fee fields in section 8.

Clarified that Bill_Amt does not include Thredd Calculated fees (Fee_Fixed and Fee_Rate).

Changed examples in section 10.7 to have non-zero fee amounts.

Clarified that Settle_Amt is what is received from the Network.

Mark

1.4.1

03/03/2016

Corrected field names in section 8 and WSDL section to ensure case correct to match actual fields sent in live.

Corrected:

- Txn_Ccy -> Txn_CCy

- TXN_Time_DE07 -> TXN_Time_DE07

Updated description for Additional_Data_DE48 to clarify customers should ignore this unless mutually agreed with Thredd (in which case Thredd would instruct you how to extract the required data from this field.)

Added Authorised_by_Thredd field to Financial Request Message to align with existing functionality.

Changed Authorised_by_Thredd field in Authorisation request message from Mandatory to Optional, as it might not be present (to align with existing functionality.)

Added AVS_Result field to Financial Request message (to align with existing functionality.)

Renamed new field PAN_sequence_number to PAN_Sequence_Number to align with standard field formatting for names and cases (first letter in each word in field is normally upper case.)

Indented section A.8 Cut-Off Message WSDL to make easier to read.

Corrected the Response field names to align with WSDL response in section 8.

Renamed section 8 from “Data Dictionary” to “EHI GetTransaction Message Fields” to better reflect the fact that it corresponds to the GetTransaction in WSDL.

In the WSDL Appendix, I’ve added an example request and response for each different message type.

Mark

1.4.0.c

26/02/2016

Fixed typo in changelog for v.1.3.4 release (year 2014 -> 2015)

Added section 10.20 for financial type message Merch_Name_DE43 field.

Added response code 58 – Transaction not permitted to Terminal.  (E.g. this might be used by client if card is not allowed in ATMs, but cardholder attempted to use at ATM.)

Added response code 43 – Stolen Card (Pickup).

Clarified in the Status Code section that not all codes are appropriate for card status values.

Corrected response code “85” to action Approve instead of Decline.

Section 6.3 – corrected wording of “Mode 3”, to clarify that Thredd will ignore any authorisation response messages received from customer in this mode.

Removed Hyperlinks in the section 8 name fields – as links are all clearly mentioned in the description field. So now max of 1 link per field.

Mark

1.4.0.b

25/02/2016

Changed PIN encryption from using double length DES keys to Triple length DES keys.

Triple DES with a triple length key is NIST approved up to 2030, and HSMs are known to support this.

(See http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-57pt1r4.pdf section 4.2.2.2).

It provides a key space of 2^168 (about 3.7*10^50) possibilities.

Currently Thredddoes not supporting AES PIN encryption as HSM support for this is unknown.  But Pin fields support a possible future seamless migration.

Inserted new section 8.1.2 Usage, to clarify that if a field is optional, it can be present with an empty value, even if Data Type does not permit an empty value.

Clarified that POS_Data_DE61 might have anywhere between first 9 and all 14 subfields.

Mark

1.4.0.a

25/02/2016

Added:

- CVV2

- Expiry_Date

- PAN_sequence_number

- PIN

- PIN_Key_Index

- PIN_Format

- PIN_Enc_Algorithm

 

All these fields will only be present if both:

 

- Customer is configured to receive them

 

- And relevant data is received in the transaction

Corrected Appendix 10.1 Processing code to correctly describe the 6 digit field (previously only the first two digits – the Transaction Code, were described.)

Fixed Hyperlinks and Cross References.

Cross reference example:

A.1 ProcCode (Processing Code) values

Hyperlink example:

10.1 ProcCode (Processing Code) values

Re-wrote Appendix 10.5 (DE 61 POS Data) to add missing field values and clarify that not all fields may be present, and that subfields are concatenated.

Added the following Appendices:

Added PIN Block Formats appendix (10.14.1)

Added PIN Encryption example appendix (10.14.2)

Added Additional Amounts formatting appendix (10.15)

Added Merchant name/location formatting appendix (10.16)

Added POS Data DE22 Authorisation field formatting appendix (10.17)

Added POS Data DE22 Financial field formatting (10.18)

Added Country Codes (10.19)

Removed Response code “32 – Completed partially” as not applicable. (For partial approval, use code 10.)

Added Action column to Response code values appendix.

Made Merch_ID_DE42 Optional in Authorisation and Financial, as this is not guaranteed to arrive for ATM transactions.

New section 8.1 “Data Types” explains precisely what the formats mean in the rest of section 8 Data Dictionary.

Changed all the data-types in section 8 to better describe the field content, in line with the new Data-Types.

Corrected ActBal (actual balance amount in billing currency) from Numeric (5,2) to Amount (9,2)

Reformatted document to remove the super-tables that 99% of the entire document was sitting inside.  This cause lots of formatting problems. Now the ‘Navigation’ of heading works (MS Word -> View -> Navigation Pane.)

Deleted all existing tables in the appendix, and re-created with the same data, as they had broken formatting.

Mark

1.3.6

02/11/2015

Added Approval with Load functionality

Ajeesh

1.3.6

17/12/2015

Added details on fees Dom_Fee_Fixed, Non_Dom_Fee_Fixed, Fx_Fee_Fixed, Other_Fee_Amt, Fx_Fee_Rate, Dom_Fee_Rate and Non_Dom_Fee_Rate. Added DE124

Ajeesh

1.3.6

14/01/2016

Added comment on Approval with Load

Sudheesh

1.3.6

17/11/2015

Removed ‘06’ from Response code values

Ajeesh

1.3.5

16/10/2015

Data type length amended from Char(2) to Char(3) for field LoadSRC.  Added appendix for field LoadType

Ajeesh

1.3.4

23/09/2015

Added valid values for AVS result field

Ajeesh

1.3.3

22/09/2015

Modified the data type for field Authorised_by_Thredd

Ajeesh

1.3

16/09/2015

Stand In for Mode 2, Cut off message, Added new fields to EHI - Additional_Data_DE48, Authorised_by_Thredd, AVS_Result, CU_Group, InstCode, MTID, ProductID, Record_Data_DE120, SubBIN, TLogIDOrg, VL_Group

Ajeesh

1.2

25/08/2015

Applied consistencies in naming fields

Ajeesh

1.1

22/07/2015

Corrected Txn_Type and Txn_Stat_Code sample data values.

Ajeesh

1.1

13/08/2015

Correction in Web Services Security at Transport Level and Message Level

Ajeesh

1.1

23/06/2015

Added DE022

Ajeesh

1.1

25/06/2015

Added EHI WSDL, DE28 and DE54

Ajeesh

1.1

09/07/2015

Removed HTTP GET and POST from WSDL, Amount data type to double

Ajeesh

1.1

24/06/2015

Added mapping column in Transaction type table

Ajeesh

1.0

28/04/2015

Corrections

Ajeesh

1.0

06/05/2015

Corrections

Ajeesh

1.0

26/04/2015

Comments

Vlad Yanpolsky