removed extra 1 byte for DE55

This commit is contained in:
kizzy 2026-01-10 12:21:57 +07:00
parent ca9a4a0485
commit 280d8f154d
2 changed files with 5 additions and 1 deletions

View File

@ -88,6 +88,7 @@ public class ExampleInstrumentedTest {
PayDetail payDetail = tradeData.getPayDetail(); PayDetail payDetail = tradeData.getPayDetail();
payDetail.setProcessCode("000000");
payDetail.setTransactionType(TransactionType.SALE); payDetail.setTransactionType(TransactionType.SALE);
String bitmap = BitmapConfig.BPC_SALE; String bitmap = BitmapConfig.BPC_SALE;
MessageType messageType = MessageType.FINANCIAL; MessageType messageType = MessageType.FINANCIAL;

View File

@ -234,15 +234,18 @@ public class EncodePackage {
int dataType = msgField.getDataType(); int dataType = msgField.getDataType();
if (dataType == FieldConfig.SDK_8583_DATA_BIT) { if (dataType == FieldConfig.SDK_8583_DATA_BIT) {
byte[] varValue; byte[] varValue;
int varValueLen;
if(entry.getKey().equals("F055")) { if(entry.getKey().equals("F055")) {
varValue = Utils.StrToBCDBytes(String.format("%0" + msgField.getLengthType() + "d", msgField.getDataLength() / 2)); varValue = Utils.StrToBCDBytes(String.format("%0" + msgField.getLengthType() + "d", msgField.getDataLength() / 2));
varValueLen = varValue.length + 1 ;
} else { } else {
varValue = (String.format("%0" + msgField.getLengthType() + "d", msgField.getDataLength()/2)).getBytes(); varValue = (String.format("%0" + msgField.getLengthType() + "d", msgField.getDataLength()/2)).getBytes();
varValueLen = varValue.length;
} }
// //
System.arraycopy(varValue, 0, body, index, varValue.length); System.arraycopy(varValue, 0, body, index, varValue.length);
index += varValue.length; index += varValueLen;
} else if (dataType == FieldConfig.SDK_8583_DATA_BCD) { } else if (dataType == FieldConfig.SDK_8583_DATA_BCD) {
byte[] varValue; byte[] varValue;