}
}
// Process the delayed fields
if (delayedFields.containsKey(FIELD_AMT)) {
BasicAmountType amount = new BasicAmountType((String) delayedFields.get(FIELD_AMT));
if (delayedFields.containsKey(FIELD_CURRENCYCODE)) {
amount.setCurrencyID(CurrencyCodeType.fromString((String) delayedFields.get(FIELD_CURRENCYCODE)));
}
getBillUserResponseDetails().getPaymentInfo().setGrossAmount(amount);
}
if (delayedFields.containsKey(FIELD_FEEAMT)) {
BasicAmountType amount = new BasicAmountType((String) delayedFields.get(FIELD_FEEAMT));
if (delayedFields.containsKey(FIELD_CURRENCYCODE)) {
amount.setCurrencyID(CurrencyCodeType.fromString((String) delayedFields.get(FIELD_CURRENCYCODE)));
}
getBillUserResponseDetails().getPaymentInfo().setFeeAmount(amount);
}
if (delayedFields.containsKey(FIELD_SETTLEAMOUNT)) {
BasicAmountType amount = new BasicAmountType((String) delayedFields.get(FIELD_SETTLEAMOUNT));
if (delayedFields.containsKey(FIELD_CURRENCYCODE)) {
amount.setCurrencyID(CurrencyCodeType.fromString((String) delayedFields.get(FIELD_CURRENCYCODE)));
}
getBillUserResponseDetails().getPaymentInfo().setSettleAmount(amount);
}
if (delayedFields.containsKey(FIELD_TAXAMOUNT)) {
BasicAmountType amount = new BasicAmountType((String) delayedFields.get(FIELD_TAXAMOUNT));
if (delayedFields.containsKey(FIELD_CURRENCYCODE)) {
amount.setCurrencyID(CurrencyCodeType.fromString((String) delayedFields.get(FIELD_CURRENCYCODE)));
}
getBillUserResponseDetails().getPaymentInfo().setTaxAmount(amount);
}
if (delayedFields.containsKey(FIELD_MPMAX)) {
BasicAmountType amount = new BasicAmountType((String) delayedFields.get(FIELD_MPMAX));
if (delayedFields.containsKey(FIELD_CURRENCYCODE)) {
amount.setCurrencyID(CurrencyCodeType.fromString((String) delayedFields.get(FIELD_CURRENCYCODE)));
}
getBillUserResponseDetails().getMerchantPullInfo().setMpMax(amount);
}
}
} catch (Exception e) {