2.4 JSON Data Types and EHI Fields
This section describes the data types of the fields in the JSON message. You should use these details together with the information on Data Types for EHI GetTransaction messages.
The EHI feed does not send JSON fields to externally-hosted systems where the values for the field data are blank. This is different from EHI feeds with XML fields where the feed can send blank values.
Request Fields
Field |
JSON Data Type |
Null Allowed |
Compatible with IEEE 754 binary-64 (double precision) ? |
---|---|---|---|
Acquirer_id_DE32 |
String |
|
N/A |
ActBal |
Number |
Y |
Y |
Additional_Amt_DE54 |
String |
|
N/A |
Amt_Tran_Fee_DE28 |
String |
|
N/A |
Auth_Code_DE38 |
String |
|
N/A |
Avl_Bal |
Number |
Y |
Y |
Bill_Amt |
Number |
Y |
Y |
Bill_Ccy |
String |
|
N/A |
BlkAmt |
Number |
Y |
Y |
Cust_Ref |
String |
|
N/A |
FX_Pad |
Number |
Y |
Y |
Fee_Fixed |
Number |
Y |
Y |
Fee_Rate |
Number |
Y |
Y |
LoadSRC |
String |
|
N/A |
LoadType |
String |
|
N/A |
MCC_Code |
String |
|
N/A |
MCC_Desc |
String |
|
N/A |
MCC_Pad |
Number |
Y |
Y |
Merch_ID_DE42 |
String |
|
N/A |
Merch_Name_DE43 |
String |
|
N/A |
Note |
String |
|
N/A |
POS_Data_DE22 |
String |
|
N/A |
POS_Data_DE61 |
String |
|
N/A |
POS_Termnl_DE41 |
String |
|
N/A |
POS_Time_DE12 |
String |
|
N/A |
Proc_Code |
String |
|
N/A |
Resp_Code_DE39 |
String |
|
N/A |
Ret_Ref_No_DE37 |
String |
|
N/A |
Settle_Amt |
Number |
Y |
Y |
Settle_Ccy |
String |
|
N/A |
Status_Code |
String |
|
N/A |
Token |
Number |
Y |
Y |
Trans_link |
String |
|
N/A |
Txn_Amt |
Number |
Y |
Y |
Txn_CCy |
String |
|
N/A |
Txn_Ctry |
String |
|
N/A |
Txn_Desc |
String |
|
N/A |
Txn_GPS_Date |
String |
|
N/A |
TXn_ID |
Number |
Y |
Y |
Txn_Stat_Code |
String |
|
N/A |
TXN_Time_DE07 |
String |
|
N/A |
Txn_Type |
String |
|
N/A |
Additional_Data_DE48 |
String |
|
N/A |
Authorised_by_GPS |
String |
|
N/A |
AVS_Result |
String |
|
N/A |
CU_Group |
String |
|
N/A |
InstCode |
String |
|
N/A |
MTID |
String |
|
N/A |
ProductID |
Number |
Y |
Y |
Record_Data_DE120 |
String |
|
N/A |
SubBIN |
Number |
Y |
Y |
TLogIDOrg |
Number |
Y |
Y |
VL_Group |
String |
|
N/A |
Dom_Fee_Fixed |
Number |
Y |
Y |
Non_Dom_Fee_Fixed |
Number |
Y |
Y |
Fx_Fee_Fixed |
Number |
Y |
Y |
Other_Fee_Amt |
Number |
Y |
Y |
Fx_Fee_Rate |
Number |
Y |
Y |
Dom_Fee_Rate |
Number |
Y |
Y |
Non_Dom_Fee_Rate |
Number |
Y |
Y |
Additional_Data_DE124 |
String |
|
N/A |
CVV2 |
String |
|
N/A |
Expiry_Date |
Number |
Y |
Y |
PAN_Sequence_Number |
Number |
Y |
Y |
PIN |
String |
|
N/A |
PIN_Enc_Algorithm |
String |
|
N/A |
PIN_Format |
String |
|
N/A |
PIN_Key_Index |
String |
|
N/A |
SendingAttemptCount |
Number |
Y |
Y |
source_bank_ctry |
String |
|
N/A |
source_bank_account_format |
String |
|
N/A |
source_bank_account |
String |
|
N/A |
dest_bank_ctry |
String |
|
N/A |
dest_bank_account_format |
String |
|
N/A |
dest_bank_account |
String |
|
N/A |
GPS_POS_Capability |
String |
|
N/A |
GPS_POS_Data |
String |
|
N/A |
Acquirer_Reference_Data_031 |
String |
|
N/A |
Response_Source |
String |
|
N/A |
Response_Source_Why |
Number |
Y |
Y |
Message_Source |
String |
|
N/A |
Message_Why |
Number |
Y |
Y |
traceid_lifecycle |
String |
|
N/A |
Balance_Sequence |
Number |
Y |
N |
Balance_Sequence_Exthost |
Number |
Y |
N |
PaymentToken_id |
Number |
Y |
Y |
PaymentToken_creator |
String |
|
N/A |
PaymentToken_expdate |
String |
|
N/A |
PaymentToken_type |
String |
|
N/A |
PaymentToken_status |
String |
|
N/A |
PaymentToken_creatorStatus |
String |
|
N/A |
PaymentToken_wallet |
String |
|
N/A |
PaymentToken_deviceType |
String |
|
N/A |
PaymentToken_lang |
String |
|
N/A |
PaymentToken_deviceTelNum |
String |
|
N/A |
PaymentToken_deviceIp |
String |
|
N/A |
PaymentToken_deviceId |
String |
|
N/A |
PaymentToken_deviceName |
String |
|
N/A |
PaymentToken_activationCode |
String |
|
N/A |
PaymentToken_activationExpiry |
String |
|
N/A |
PaymentToken_activationMethodData |
String |
|
N/A |
PaymentToken_activationMethod |
Number |
Y |
Y |
ICC_System_Related_Data_DE55 |
String |
|
N/A |
Merch_Name |
String |
|
N/A |
Merch_Street |
String |
|
N/A |
Merch_City |
String |
|
N/A |
Merch_Region |
String |
|
N/A |
Merch_Postcode |
String |
|
N/A |
Merch_Country |
String |
|
N/A |
Merch_Tel |
String |
|
N/A |
Merch_URL |
String |
|
N/A |
Merch_Name_Other |
String |
|
N/A |
Merch_Net_id |
String |
|
N/A |
Merch_Tax_id |
String |
|
N/A |
Merch_Contact |
String |
|
N/A |
auth_type |
String |
|
N/A |
auth_expdate_utc |
String |
|
N/A |
Matching_Txn_ID |
Number |
Y |
Y |
Reason_ID |
Number |
Y |
Y |
Dispute_Condition |
String |
|
N/A |
Network_Chargeback_Reference_Id |
String |
|
N/A |
Acquirer_Forwarder_ID |
String |
|
N/A |
Currency_Code_Fee |
String |
|
N/A |
Currency_Code_Fee_Settlement |
String |
|
N/A |
Interchange_Amount_Fee |
Number |
Y |
Y |
Interchange_Amount_Fee_Settlement |
Number |
Y |
Y |
Clearing_Process_Date |
String |
|
N/A |
Settlement_Date |
String |
|
N/A |
DCC_Indicator |
Number |
Y |
Y |
multi_part_txn |
Number |
Y |
Y |
multi_part_txn_final |
Number |
Y |
Y |
multi_part_number |
Number |
Y |
Y |
multi_part_count |
Number |
Y |
Y |
SettlementIndicator |
String |
|
N/A |
Network_TxnAmt_To_BillAmt_Rate |
String |
|
N/A |
Network_TxnAmt_To_BaseAmt_Rate |
String |
|
N/A |
Network_BaseAmt_To_BillAmt_Rate |
String |
|
N/A |
POS_Date_DE13 |
String |
|
N/A |
Traceid_Message |
String |
|
N/A |
Traceid_Original |
String |
|
N/A |
Network_Currency_Conversion_Date |
String |
|
N/A |
Mastercard_AdviceReasonCode_DE60 |
String |
|
N/A |
Network_Original_Data_Elements_DE90 |
String |
|
N/A |
Visa_ResponseInfo_DE44 |
String |
|
N/A |
Visa_STIP_Reason_Code |
String |
|
N/A |
Network_Issuer_Settle_ID |
String |
|
N/A |
Network_Replacement_Amounts_DE95 |
String |
|
N/A |
Visa_POS_Data_DE60 |
String |
|
N/A |
Network_Transaction_ID |
String |
|
N/A |
Misc_TLV_Data |
String |
|
N/A |
Acquirer_Country |
String |
|
N/A |
PaymentToken_PanSource |
String |
|
N/A |
ClearingFileID |
String |
|
N/A |
Network_Fraud_Data |
String |
|
N/A |
SenderData |
String |
|
N/A |
ReceiverData |
String |
|
N/A |
AuthenticationAmountUpper |
Number |
Y |
Y |
AuthenticationCurrency |
String |
|
N/A |
AuthenticationMerchantHash |
String |
|
N/A |
FxProviderCardholderRate |
Number |
|
Y |
FxProviderBookedRate |
Number |
|
Y |
For more information on JSON data types, see the RFC 8259 JSON specification.
Response Fields
Field |
JSON Data Type |
Null Allowed |
Compatible with IEEE 754 binary-64 (double precision) ? |
---|---|---|---|
MerchantAdvice |
String |
Y |
N/A |
Responsestatus |
String |
Y |
N/A |
CurBalance |
Number |
Y |
N/A |
AvlBalance |
Number |
Y |
N/A |
Acknowledgement |
String |
Y |
N/A |
LoadAmount |
Number |
Y |
N/A |
Bill_Amt_Approved |
Number |
Y |
N/A |
Update_Balance |
Number |
Y |
N/A |
New_Balance_Sequence_Exthost |
Number |
Y |
N/A |
CVV2_Result |
String |
Y |
N/A |
CurBalance_GPS_STIP |
Number |
Y |
N/A |
AvlBalance_GPS_STIP |
Number |
Y |
N/A |
Number range and precision
For each field of JSON data type Number, refer to the field description in GetTransaction Message Fields. which describes the field length range and maximum value you need to support. This is important to ensure no loss of information, especially for the fields with potentially large values.
Some of the above fields of JSON data type Number have a bigger range than the RFC 8259 data type of IEEE 754 binary-64 (double precision) which is described for numbers. If using the JavaScript language to process JSON, then for whole numbers (of Thredd data type N(min.max)) the JavaScript data type bigint would be a suitable alternative to the IEEE 754 binary-64 number data type.
Example
The Matching_Txn_ID
field is a number of type N(1,16), with a minimum length of 1 digits and maximum length of 16 digits. Your systems must be able to handle a value containing up to 16 digits.