From e183400b53bbfffbe901758d67560cf3621ee6eb Mon Sep 17 00:00:00 2001 From: Alexander Geist Date: Tue, 3 Dec 2019 15:37:00 +0100 Subject: [PATCH] hbci4j 3.5.17, instant payment status support --- .../domain/response/PaymentStatusResponse.java | 10 ++++++++++ .../multibanking/domain/spi/OnlineBankingService.java | 2 +- onlinebanking-hbci4java/pom.xml | 2 +- .../de/adorsys/multibanking/hbci/Hbci4JavaBanking.java | 6 +++--- .../multibanking/hbci/job/AbstractPaymentJob.java | 5 ----- .../adorsys/multibanking/hbci/job/BulkPaymentJob.java | 4 ++-- .../multibanking/hbci/job/InstantPaymentStatusJob.java | 5 +++-- .../multibanking/hbci/job/NewStandingOrderJob.java | 4 ++-- .../multibanking/hbci/job/SinglePaymentJob.java | 4 ++-- .../adorsys/multibanking/hbci/job/TanRequestJob.java | 8 ++++---- 10 files changed, 28 insertions(+), 22 deletions(-) diff --git a/onlinebanking-facade/src/main/java/de/adorsys/multibanking/domain/response/PaymentStatusResponse.java b/onlinebanking-facade/src/main/java/de/adorsys/multibanking/domain/response/PaymentStatusResponse.java index 7fe7fd936..c5dd52956 100644 --- a/onlinebanking-facade/src/main/java/de/adorsys/multibanking/domain/response/PaymentStatusResponse.java +++ b/onlinebanking-facade/src/main/java/de/adorsys/multibanking/domain/response/PaymentStatusResponse.java @@ -25,4 +25,14 @@ @EqualsAndHashCode(callSuper = false) public class PaymentStatusResponse extends AbstractResponse { +// 1: in Terminierung +//2: abgelehnt von erster Inkassostelle +//3: in Bearbeitung +//4: Creditoren-seitig verarbeitet, Buchung veranlasst +//5: R-Transaktion wurde veranlasst +//6: Auftrag fehlgeschagen +//7: Auftrag ausgeführt; Geld für den Zahlungsempfänger verfügbar +//8: Abgelehnt durch Zahlungsdienstleister des Zahlers +//9: Abgelehnt durch Zahlungsdienstleister des Zahlungsempfängers + } diff --git a/onlinebanking-facade/src/main/java/de/adorsys/multibanking/domain/spi/OnlineBankingService.java b/onlinebanking-facade/src/main/java/de/adorsys/multibanking/domain/spi/OnlineBankingService.java index 9a256008f..ace27bb1f 100644 --- a/onlinebanking-facade/src/main/java/de/adorsys/multibanking/domain/spi/OnlineBankingService.java +++ b/onlinebanking-facade/src/main/java/de/adorsys/multibanking/domain/spi/OnlineBankingService.java @@ -33,7 +33,7 @@ public interface OnlineBankingService { LoadBalancesResponse loadBalances(TransactionRequest request); - PaymentResponse executePayment(TransactionRequest paymentRequest); + PaymentResponse executePayment(TransactionRequest paymentRequest); StrongCustomerAuthorisable getStrongCustomerAuthorisation(); } diff --git a/onlinebanking-hbci4java/pom.xml b/onlinebanking-hbci4java/pom.xml index 546d1b86b..1561499b9 100644 --- a/onlinebanking-hbci4java/pom.xml +++ b/onlinebanking-hbci4java/pom.xml @@ -14,7 +14,7 @@ de.adorsys hbci4j-adorsys - 3.5.16 + 3.5.17 de.adorsys.multibanking diff --git a/onlinebanking-hbci4java/src/main/java/de/adorsys/multibanking/hbci/Hbci4JavaBanking.java b/onlinebanking-hbci4java/src/main/java/de/adorsys/multibanking/hbci/Hbci4JavaBanking.java index 662ef428e..14c59ec69 100755 --- a/onlinebanking-hbci4java/src/main/java/de/adorsys/multibanking/hbci/Hbci4JavaBanking.java +++ b/onlinebanking-hbci4java/src/main/java/de/adorsys/multibanking/hbci/Hbci4JavaBanking.java @@ -271,7 +271,7 @@ public LoadBalancesResponse loadBalances(TransactionRequest reques } @Override - public PaymentResponse executePayment(TransactionRequest request) { + public PaymentResponse executePayment(TransactionRequest request) { HbciConsent hbciConsent = (HbciConsent) request.getBankApiConsentData(); try { if (hbciConsent.getHbciTanSubmit() == null || hbciConsent.getStatus() == FINALISED) { @@ -280,9 +280,9 @@ public PaymentResponse executePayment(TransactionRequest reques AbstractPaymentJob paymentJob = Optional.ofNullable(request.getTransaction()) .map(transaction -> (AbstractPaymentJob) createScaJob(request)) - .orElse(new TanRequestJob(request)); + .orElse(new TanRequestJob((TransactionRequest)request)); - PaymentResponse response = paymentJob.execute(hbciCallback); + PaymentResponse response = (PaymentResponse)paymentJob.execute(hbciCallback); updateUpd(hbciCallback, response); return response; diff --git a/onlinebanking-hbci4java/src/main/java/de/adorsys/multibanking/hbci/job/AbstractPaymentJob.java b/onlinebanking-hbci4java/src/main/java/de/adorsys/multibanking/hbci/job/AbstractPaymentJob.java index 5ce61a9b8..850fe8502 100644 --- a/onlinebanking-hbci4java/src/main/java/de/adorsys/multibanking/hbci/job/AbstractPaymentJob.java +++ b/onlinebanking-hbci4java/src/main/java/de/adorsys/multibanking/hbci/job/AbstractPaymentJob.java @@ -30,11 +30,6 @@ public abstract class AbstractPaymentJob extends ScaAwareJob { - @Override - public PaymentResponse execute(HBCICallback hbciCallback) { - return super.execute(hbciCallback); - } - @Override PaymentResponse createJobResponse(PinTanPassport passport, HbciTanSubmit tanSubmit, List msgStatusList) { diff --git a/onlinebanking-hbci4java/src/main/java/de/adorsys/multibanking/hbci/job/BulkPaymentJob.java b/onlinebanking-hbci4java/src/main/java/de/adorsys/multibanking/hbci/job/BulkPaymentJob.java index d3c4bee4f..ee3fac23c 100644 --- a/onlinebanking-hbci4java/src/main/java/de/adorsys/multibanking/hbci/job/BulkPaymentJob.java +++ b/onlinebanking-hbci4java/src/main/java/de/adorsys/multibanking/hbci/job/BulkPaymentJob.java @@ -27,7 +27,7 @@ import org.kapott.hbci.GV.AbstractSEPAGV; import org.kapott.hbci.GV.GVMultiUebSEPA; import org.kapott.hbci.GV.GVTermMultiUebSEPA; -import org.kapott.hbci.GV_Result.GVRTermUeb; +import org.kapott.hbci.GV_Result.GVRPayment; import org.kapott.hbci.GV_Result.HBCIJobResult; import org.kapott.hbci.passport.PinTanPassport; import org.kapott.hbci.structures.Konto; @@ -98,6 +98,6 @@ protected String getHbciJobName(AbstractTransaction.TransactionType transactionT @Override public String orderIdFromJobResult(HBCIJobResult paymentGV) { - return paymentGV instanceof GVRTermUeb ? ((GVRTermUeb) paymentGV).getOrderId() : null; + return paymentGV instanceof GVRPayment ? ((GVRPayment) paymentGV).getOrderId() : null; } } diff --git a/onlinebanking-hbci4java/src/main/java/de/adorsys/multibanking/hbci/job/InstantPaymentStatusJob.java b/onlinebanking-hbci4java/src/main/java/de/adorsys/multibanking/hbci/job/InstantPaymentStatusJob.java index 8b49f185d..7c92e9e66 100644 --- a/onlinebanking-hbci4java/src/main/java/de/adorsys/multibanking/hbci/job/InstantPaymentStatusJob.java +++ b/onlinebanking-hbci4java/src/main/java/de/adorsys/multibanking/hbci/job/InstantPaymentStatusJob.java @@ -35,10 +35,11 @@ public class InstantPaymentStatusJob extends ScaAwareJob { private final TransactionRequest paymentStatusReqest; + private GVInstanstUebSEPAStatus paymentStatusHbciJob; @Override public AbstractHBCIJob createJobMessage(PinTanPassport passport) { - GVInstanstUebSEPAStatus paymentStatusHbciJob = new GVInstanstUebSEPAStatus(passport); + paymentStatusHbciJob = new GVInstanstUebSEPAStatus(passport); paymentStatusHbciJob.setParam("my", getPsuKonto(passport)); paymentStatusHbciJob.setParam("orderid", paymentStatusReqest.getTransaction().getPaymentId()); return paymentStatusHbciJob; @@ -57,6 +58,6 @@ String getHbciJobName(AbstractTransaction.TransactionType transactionType) { @Override public PaymentStatusResponse createJobResponse(PinTanPassport passport, HbciTanSubmit tanSubmit, List msgStatusList) { - return null; + return new PaymentStatusResponse(); } } diff --git a/onlinebanking-hbci4java/src/main/java/de/adorsys/multibanking/hbci/job/NewStandingOrderJob.java b/onlinebanking-hbci4java/src/main/java/de/adorsys/multibanking/hbci/job/NewStandingOrderJob.java index c1ca911e9..3536c8012 100644 --- a/onlinebanking-hbci4java/src/main/java/de/adorsys/multibanking/hbci/job/NewStandingOrderJob.java +++ b/onlinebanking-hbci4java/src/main/java/de/adorsys/multibanking/hbci/job/NewStandingOrderJob.java @@ -24,7 +24,7 @@ import lombok.extern.slf4j.Slf4j; import org.kapott.hbci.GV.AbstractHBCIJob; import org.kapott.hbci.GV.GVDauerSEPANew; -import org.kapott.hbci.GV_Result.GVRDauerNew; +import org.kapott.hbci.GV_Result.GVRPayment; import org.kapott.hbci.GV_Result.HBCIJobResult; import org.kapott.hbci.passport.PinTanPassport; import org.kapott.hbci.structures.Konto; @@ -98,6 +98,6 @@ protected String getHbciJobName(AbstractTransaction.TransactionType transactionT @Override public String orderIdFromJobResult(HBCIJobResult paymentGV) { - return ((GVRDauerNew) paymentGV).getOrderId(); + return ((GVRPayment) paymentGV).getOrderId(); } } diff --git a/onlinebanking-hbci4java/src/main/java/de/adorsys/multibanking/hbci/job/SinglePaymentJob.java b/onlinebanking-hbci4java/src/main/java/de/adorsys/multibanking/hbci/job/SinglePaymentJob.java index c9e7de8f2..830f440e2 100644 --- a/onlinebanking-hbci4java/src/main/java/de/adorsys/multibanking/hbci/job/SinglePaymentJob.java +++ b/onlinebanking-hbci4java/src/main/java/de/adorsys/multibanking/hbci/job/SinglePaymentJob.java @@ -22,7 +22,7 @@ import de.adorsys.multibanking.domain.transaction.SinglePayment; import lombok.RequiredArgsConstructor; import org.kapott.hbci.GV.*; -import org.kapott.hbci.GV_Result.GVRTermUeb; +import org.kapott.hbci.GV_Result.GVRPayment; import org.kapott.hbci.GV_Result.HBCIJobResult; import org.kapott.hbci.passport.PinTanPassport; import org.kapott.hbci.structures.Konto; @@ -90,7 +90,7 @@ protected String getHbciJobName(AbstractTransaction.TransactionType transactionT @Override public String orderIdFromJobResult(HBCIJobResult paymentGV) { - return paymentGV instanceof GVRTermUeb ? ((GVRTermUeb) paymentGV).getOrderId() : null; // no order id for + return paymentGV instanceof GVRPayment ? ((GVRPayment) paymentGV).getOrderId() : null; // no order id for // single payment } } diff --git a/onlinebanking-hbci4java/src/main/java/de/adorsys/multibanking/hbci/job/TanRequestJob.java b/onlinebanking-hbci4java/src/main/java/de/adorsys/multibanking/hbci/job/TanRequestJob.java index cd884d002..252f2b333 100644 --- a/onlinebanking-hbci4java/src/main/java/de/adorsys/multibanking/hbci/job/TanRequestJob.java +++ b/onlinebanking-hbci4java/src/main/java/de/adorsys/multibanking/hbci/job/TanRequestJob.java @@ -18,8 +18,8 @@ import de.adorsys.multibanking.domain.request.TransactionRequest; import de.adorsys.multibanking.domain.response.PaymentResponse; -import de.adorsys.multibanking.domain.transaction.AbstractPayment; import de.adorsys.multibanking.domain.transaction.AbstractTransaction; +import de.adorsys.multibanking.domain.transaction.TanRequest; import de.adorsys.multibanking.hbci.model.HbciTanSubmit; import lombok.RequiredArgsConstructor; import org.kapott.hbci.GV.AbstractHBCIJob; @@ -30,12 +30,12 @@ import java.util.List; @RequiredArgsConstructor -public class TanRequestJob extends AbstractPaymentJob { +public class TanRequestJob extends AbstractPaymentJob { - private final TransactionRequest transactionRequest; + private final TransactionRequest transactionRequest; @Override - TransactionRequest getTransactionRequest() { + TransactionRequest getTransactionRequest() { return transactionRequest; }