Void, preauth comp, preauth void transactions are not fully working with dual currency

This commit is contained in:
kizzy 2026-09-03 11:25:44 +07:00
parent 91207f1051
commit 5894d02fc6
2 changed files with 26 additions and 1 deletions

View File

@ -24,7 +24,8 @@ public final class TerminalKeyUtil {
// private static final byte[] main_key_data = ByteUtil.hexStr2Bytes("B4D74774CC846CAFF6D1AAAC2EB79CFF".toUpperCase()); // KBZ UAT
// private static final byte[] main_key_usd_data = ByteUtil.hexStr2Bytes("3f4bcac6cc559ab12bbbc5a51118f3f5".toUpperCase()); // KBZ UAT
private static final byte[] main_key_data = ByteUtil.hexStr2Bytes("3F4BCAC6CC559AB12BBBC5A51118F3F5".toUpperCase());
// private static final byte[] main_key_data = ByteUtil.hexStr2Bytes("3F4BCAC6CC559AB12BBBC5A51118F3F5".toUpperCase());
private static final byte[] main_key_data = ByteUtil.hexStr2Bytes("b4d74774cc846caff6d1aaac2eb79cff".toUpperCase());
// private static final byte[] main_key_data = ByteUtil.hexStr2Bytes("e121249099a677e8b7d4f6a9d49fe8d1".toUpperCase()); // MPU
private static final byte[] work_key_data = new byte[16];
public static void initNexKey() {

View File

@ -361,6 +361,12 @@ public class TransactionsOperation {
// String field60 = String.format(Locale.getDefault(), "%010d00", oldPay.getAmount());
newPay.setReferNo(oldPay.getReferNo());
newPay.setTransCVM(TransCVM.SIGNATURE);
// for USD/MMK merchant
newPay.setTerminalNo(oldPay.getTerminalNo());
newPay.setMerchantNo(oldPay.getMerchantNo());
newPay.setCurrency(oldPay.getCurrency());
newPay.setCurrencyCode(oldPay.getCurrencyCode());
newTrade.setField60(field60);
} else if (transactionsType == TransactionsType.PRE_AUTH_VOID) {
newPay.setCardType(oldPay.getCardType());
@ -374,6 +380,12 @@ public class TransactionsOperation {
newPay.setAmount(oldPay.getAmount());
// for manual entry reversal which need de 35
// for USD/MMK merchant
newPay.setTerminalNo(oldPay.getTerminalNo());
newPay.setMerchantNo(oldPay.getMerchantNo());
newPay.setCurrency(oldPay.getCurrency());
newPay.setCurrencyCode(oldPay.getCurrencyCode());
} else if (transactionsType == TransactionsType.TIP_ADJUSTMENT ) {
newPay.setReferNo(oldPay.getReferNo());
newPay.setApprovalCode(oldPay.getApprovalCode());
@ -387,6 +399,12 @@ public class TransactionsOperation {
newPay.setTradeTime(oldPay.getTradeTime()); // mpu
newPay.setTradeDate(oldPay.getTradeDate()); // mpu
// for USD/MMK merchant
newPay.setTerminalNo(oldPay.getTerminalNo());
newPay.setMerchantNo(oldPay.getMerchantNo());
newPay.setCurrency(oldPay.getCurrency());
newPay.setCurrencyCode(oldPay.getCurrencyCode());
} else if (transactionsType == TransactionsType.PRE_AUTH_COMPLETE_VOID) {
newPay.setVoucherNo(oldPay.getVoucherNo());
newPay.setCustomOrderNo(oldPay.getVoucherNo());
@ -398,6 +416,12 @@ public class TransactionsOperation {
newPay.setCardType(BaseCardType.IC.getValue());
newPay.setPINCipher("55");
newPay.setTransCVM(TransCVM.SIGNATURE);
// for USD/MMK merchant
newPay.setTerminalNo(oldPay.getTerminalNo());
newPay.setMerchantNo(oldPay.getMerchantNo());
newPay.setCurrency(oldPay.getCurrency());
newPay.setCurrencyCode(oldPay.getCurrencyCode());
}