on 2021 Sep 03 5:15 PM
Hi all,
we need to add a card payment in the receipt via plugin and we have done it like this:
String err = null;
try {
\\ADD THE PAYMENT
PaymentItemEntity payment = new PaymentItemEntity();
CDBSession session = CDBSessionFactory.instance.createSession();
PaymentCardManager pm = new PaymentCardManager(session);
PaymentCardManager pcm = new PaymentCardManager(session);
PaymentItemPosService ps = ServiceFactory.INSTANCE.getOrCreateServiceInstance(PaymentItemPosService.class, session);
PaymentCardEntity pc = pm.getPaymentCard("11");
payment.setCreditCardTypeCode(pc.getTypeCode());
payment.setCreditCardErpTypeCode(pc.getTypeCodeErp());
payment.setPaymentFormCode("02");
payment.setBusinessTransactionAmount(amount);
payment.setOriginalBusinessTransactionAmount(amount);
payment.setNote("PAYMENT");
payment.setMarkChanged(true);
payment.setExternalId(Integer.toString(receipt.getPaymentItems().size()));
payment.fillPosition();
ps.addPaymentItems(receipt, payment);
pcm.update(pc);
\\REFRESH THE RECEIPT
CalculationPosService calculationPosService = ServiceFactory.INSTANCE.getOrCreateServiceInstance(CalculationPosService.class, session);
calculationPosService.recalculateReceipt(receipt);
ReceiptManager rm = new ReceiptManager(session);
rm.update(receipt);
}catch(Exception e){
err = e.getMessage();
}
finally{
session.closeDBSession();
}
UIEventDispatcher.INSTANCE.dispatchAction(CConst.UIEventsIds.RECEIPT_REFRESH,null, receipt);
This work, but the payments area doesn't show the payment added after the refresh.
What I'm doing wrong?
Thanks in advance.
Request clarification before answering.
| User | Count |
|---|---|
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.