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 |
WS |
|||||||||||||||||||||||||||||||||||||||||||||
03/07/2025 |
Added further details on the use of the |
WS |
|||||||||||||||||||||||||||||||||||||||||||||
03/07/2025 |
Updated the example for |
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 |
SH |
|||||||||||||||||||||||||||||||||||||||||||||
16/05/2025 |
Added notes to clarify the use of the |
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 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 |
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 |
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 |
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. |
WS |
|||||||||||||||||||||||||||||||||||||||||||||
5.0.16
|
12/09/2024 |
Removed references to VPN. |
WS |
||||||||||||||||||||||||||||||||||||||||||||
02/09/2024 |
The inclusion of the |
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:
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 |
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 |
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 |
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). |
WS |
|||||||||||||||||||||||||||||||||||||||||||||
14/02/2024 |
Updated the list of values that can be returned in the |
WS |
|||||||||||||||||||||||||||||||||||||||||||||
10/01/2024 |
Added details to clarify the usage of the |
WS |
|||||||||||||||||||||||||||||||||||||||||||||
02/01/2024 |
Clarified usage of the |
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 |
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 |
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 |
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 |
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 Verification |
||||||||||||||||||||||||||||||||||||||||||||||
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: 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: 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:
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 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:
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:
Altered some Appendices:
Corrected order of fields in WSDL
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:
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.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 |
|
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:
|
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
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:
|
Mark |
||||||||||||||||||||||||||||||||||||||||||||
3.0.0 |
15/11/2017 |
Added new normalized POS and Merchant data fields as follows: Added new fields to GetTransaction messages:
(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:
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:
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:
For DEV_MT_CORE-1429. Changed as a result:
Examples Added these fields (introduced in 1.5.3 above) into sections 9.3, 9.4, 9.5 (where it was missing):
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:
Added new Appendices:
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:
into the MTID + Transaction type tables in sections 7.3 (Transaction Matching), 7.4 (Transaction Processing) and 9.2 (Transaction Type Decoding. Added fields:
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:
Added information on field usage. Added these fields for DEV_EHI15-17
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:
Fixed typo in section A.22 ‘r’ missing from ‘Source_Bank_Account_Format’ Added 2 new responsestatus code values in section A.4:
Commented on these existing codes:
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:
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:
All these fields will only be present if both:
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 |