Commit Graph

401 Commits

Author SHA1 Message Date
dankito 7d185a805c Using now JobContext as MessageBaseData 2022-02-07 00:18:14 +01:00
dankito f3552248dc Moved ProductData to JobContext and implemented that startNewDialog() create DialogContext 2022-02-07 00:18:14 +01:00
dankito 0a9b31b393 Created JobContext to have a cross dialog context per job and to be able to set FinTsClientCallback (and later on other objects) on a job basis 2022-02-07 00:18:14 +01:00
dankito d5573817ef Fixed that if a message is received that tells us a TAN is required than callback and there updateBankAndCustomerDataIfResponseSuccessful() doesn't get called for this received message - but which is absolutely required for Hypovereinsbank 2022-02-07 00:18:14 +01:00
dankito 3363e427be Calling updateBankAndCustomerDataIfResponseSuccessful() after each received message now 2022-02-07 00:18:14 +01:00
dankito 1b2b960c1b Extracted TanMethodSelector 2022-02-07 00:18:14 +01:00
dankito 3e8d1e6dc6 Implemented setting preferred TanMethod and TanMedium 2022-02-07 00:18:14 +01:00
dankito 4ec82a44d7 Added selectedTanMedium 2022-02-07 00:18:14 +01:00
dankito c82611ad6c Implemented getAllExceptionMessages() to list all messages in exception hierarchy 2022-02-07 00:18:14 +01:00
dankito 1e1e8e8f11 Renamed tanMethodSupportedByBank to tanMethodsSupportedByBank 2022-02-07 00:18:14 +01:00
dankito 27fc67940c Added warningSegmentFeedbacks and errorSegmentFeedbacks 2022-02-07 00:18:14 +01:00
dankito ed784f1827 Renamed errorMessage to internalError, errorsToShowToUser to errorMessagesFromBank, added didBankReturnError and created a method to determine which error message to show to user 2022-02-07 00:18:14 +01:00
dankito bb520de5d5 Renamed messageCreationError to messageThatCouldNotBeCreated 2022-02-07 00:18:14 +01:00
dankito b0af1cd1c9 Added an error message if FinTS message to be sent to bank could not be created 2022-02-07 00:18:14 +01:00
dankito dee1fd7211 Extracted createNoTanMethodSelectedResponse() 2022-02-07 00:18:14 +01:00
dankito fed10e21c0 Fixed return getBankInfoResponse including its error 2022-02-07 00:18:14 +01:00
dankito bd2c96bbcb Fixed returning original getTanMethodsResponse and therefore its errors etc. 2022-02-07 00:18:14 +01:00
dankito 1356249621 Added getTanMediaList() to retrieveBasicDataLikeUsersTanMethods() as may for other calls like getTransactions() this is a requirement to be able to establish strong authentication dialog (only known bank till now: Postbank) 2022-02-07 00:18:14 +01:00
dankito cb25a2294a Added getUsersTanMethod() to retrieveBasicDataLikeUsersTanMethods() so that it's callers don't have to do this 2022-02-07 00:18:14 +01:00
dankito 4d3c1aece3 Fixed that otherPartyName may is just an empty string (like at Targobank) 2022-02-07 00:18:14 +01:00
dankito fb33a7c58a Implemented using updated account information after retrieving new bank data 2022-02-07 00:18:14 +01:00
dankito e8e35a3fe2 Fixed that if balance should not get fetched that we did abort instead of continuing with retrieving transactions 2022-02-07 00:18:14 +01:00
dankito fad4c48b41 Implemented logging client close errors 2022-02-07 00:18:14 +01:00
dankito d35a420c29 Parsing date and time now manually as Java's DateFormat is not thread safe causing a lot of curious errors when executed in parallel 2022-02-07 00:18:14 +01:00
dankito 356b0f7823 Made callback settable (required for fints4kRest 2022-02-07 00:18:14 +01:00
dankito bc7733f618 Implemented toString() 2022-02-07 00:18:14 +01:00
dankito e30127415c Fixed that if TAN is required but we have been told to abort if requiring TAN, RetrievedAccountData is now set to successful 2022-02-07 00:18:14 +01:00
dankito e1e4cbe30a Added bank code and customer ID to log message to be able to track to which account a log message belongs 2022-02-07 00:18:14 +01:00
dankito cc99ebdbce Fixed substracting 90 days as previous implementation had an issue when crossing daylight saving changes (wenn die Zeitumstellung innerhalb der letzten 90 Tage lag) 2022-02-07 00:18:14 +01:00
dankito 9c9ebb9d57 Fixed that if fetchBalanceAndTransactions was set to false accounts haven't been returned 2022-02-07 00:18:14 +01:00
dankito ec85162e00 Couldn't reproduce it but on server parsing balance time sometimes failed 2022-02-07 00:18:14 +01:00
dankito ce3247c7e4 Fixed Atrium dependency; bumped Atrium version to 0.15.0 2022-02-07 00:18:14 +01:00
dankito a4ebdfec8c Added return to make it clearer that code below doesn't get called 2022-02-07 00:18:14 +01:00
dankito 6975502f28 Re-added setting bank name to BankParameters.bankName in case that it's not set (as the value from BankParameters contains a lot of confusion and irrelevant names) 2022-02-07 00:18:14 +01:00
dankito 4ddb55e612 Extracted RequestExecutor 2022-02-07 00:18:14 +01:00
dankito 41d02ec343 Extracted ModelMapper 2022-02-07 00:18:14 +01:00
dankito b6a0e48fd7 Extracted FinTsJobExecutor to separate high level methods of FinTsClient that group multiple low level jobs from FinTsJobExecutor that executes that low level jobs (= FinTS Geschäftsvorfälle) 2022-02-07 00:18:14 +01:00
dankito 7eb35eba55 Removed unused getTanMediaListAsync() 2022-02-07 00:18:14 +01:00
dankito b0afdde7e3 Added infrastructure for automatically retrieving if user entered decoupled TAN 2022-02-07 00:18:14 +01:00
dankito c5bddd94b0 Implemented that errors when retrieving account transactions get displayed in UI 2022-02-07 00:18:14 +01:00
dankito 17110a794c Renamed transactionsSegment to creditCardTransactionsSegment 2022-02-07 00:18:14 +01:00
dankito ef1c927d27 Implemented mapping DecoupledTanMethodParameters 2022-02-07 00:18:14 +01:00
dankito 5af1557642 Fixed getTanMediaList() 2022-02-07 00:18:14 +01:00
dankito 6b2434fe3b Fixed messages (message size; CustomerId and Language; RetrieveAccountTransactionsParameters and PinInfo is now required for HKKAZ) 2022-02-07 00:18:14 +01:00
dankito 187b1805e6 Extracted calculateMessageSize(); fixed MessageHeaderMinLength 2022-02-07 00:18:14 +01:00
dankito 361a4062cb Fixed calculating message size 2022-02-07 00:18:14 +01:00
dankito d43d91b6cc Implemented setting time on Date; fixed formatting time tests 2022-02-07 00:18:14 +01:00
dankito 095d9c467a Fixed that now '2:13' instead of '16:14' is used 2022-02-07 00:18:14 +01:00
dankito 9ef1458edb Fixed that BIC is now written to HKSAL 2022-02-07 00:18:14 +01:00
dankito 4948d2ce7e Fixed that otherPartyName is now named transactionDescriptionBase 2022-02-07 00:18:14 +01:00
dankito e08076de17 Implemented parsing HITANS version 7 2022-02-07 00:18:14 +01:00
dankito 87662d776a Implemented adding stack trace to MessageLog 2022-02-07 00:18:14 +01:00
dankito 66f4eeb6ad Implemented catching exceptions in removeSensitiveDataFromMessage() 2022-02-07 00:18:14 +01:00
dankito 06ef511892 Implemented adding errors of ResponseParser, Mt940Parser and Mt940AccountTransactionsParser to MessageLog 2022-02-07 00:18:14 +01:00
dankito 55f5603cb9 Implemented adding errors to MessageLog 2022-02-07 00:18:14 +01:00
dankito ae7f6328e3 Implemented passing MessageLogEntryType on to UI so that it has the possibility to translate the message prefix 2022-02-07 00:18:14 +01:00
dankito 87e272565f Extracted 2022-02-07 00:18:14 +01:00
dankito ae37442d86 Added parsing transactionDescriptionSupplement 2022-02-07 00:18:13 +01:00
dankito 26cc2088ad Catching errors while parsing credit card transactions 2022-02-07 00:18:13 +01:00
dankito e5c1fa2b50 Fixed retrieving medium name (had to take remainingDataElements not dataElements) 2022-02-07 00:18:13 +01:00
dankito b16390d0eb Fixed that ?, got treated as field code leading to that parsing whole information to account owner failed 2022-02-07 00:18:13 +01:00
dankito 45f926055f Removed setting bank name to value in bank parameters as this value contains a lot of confusing and irrelevant names (like DB24 for Deutsche Bank and Rechenzentrum Bayer. Gen. for Bavarian Raiffeisen banks) 2022-02-07 00:18:13 +01:00
dankito bc49b4ee20 Implemented setting medium name also for unknown medium classes (e.g. Sparkasse sends for pushTan now 'AlleMedien' -> set medium name and everything just works fine) 2022-02-07 00:18:13 +01:00
dankito e43be8f0aa Implemented creating bitcode for exported iOS frameworks as bitcode is needed to create an archive for app 2022-02-07 00:18:08 +01:00
dankito d73e359c27 Adjusted to new constructor signature 2022-02-07 00:18:08 +01:00
dankito 787b91f7a8 Fixed that credit card transactions list may is empty 2022-02-07 00:18:08 +01:00
dankito 5a32ef4958 Added comments 2022-02-07 00:18:08 +01:00
dankito fcde0dcf5b Made order a little bit more logical 2022-02-07 00:18:08 +01:00
dankito 293e8aa849 Also filtering out "9010::Initialisierung fehlgeschlagen, Auftrag nicht bearbeitet." feedbacks, are of now use for user 2022-02-07 00:18:08 +01:00
dankito e4b6a7efd5 If Pin or chipTan is locked only warning but no error is returned by server -> check also these feedbacks to detect if response was successful 2022-02-07 00:18:08 +01:00
dankito df4c8c4a1a Implemented that () returns if a TAN method got selected 2022-02-07 00:18:08 +01:00
dankito eee073fe3b Fixed that if wrong credentials have been entered but bank returned user's TAN methods anyway, GetUserTanMethodsResponse returned success 2022-02-07 00:18:08 +01:00
dankito 269ad0bb33 Mapping accounts named 'Tagesgeld' to Sparkonto as according to Wikipedia some direct banks offer 'Tagesgeldkonten' as a modern version of Sparkonto 2022-02-07 00:18:08 +01:00
dankito 3d3d143023 Added code "0". Even though it's not stated in the docs, but Sparkasse gives some Girokonten the type '0'. 2022-02-07 00:18:08 +01:00
dankito f76603a6ac Fixed that accounts for which types we think we don't support them, but which support to retrieve balance or transactions anyway (e.g. Sparkonten also seem to support HKSAL and HKKAZ, but i can't tell for sure) are now also evaluated as supported 2022-02-07 00:18:08 +01:00
dankito 270f1c6c34 Added upper case diacritics 2022-02-07 00:18:08 +01:00
dankito 318266db0f Fixed that reserved XML characters aren't replaced visibly to user - XML entities would just confuse most users. But XML entities are taking into calculation for max length 2022-02-07 00:18:08 +01:00
dankito 97e7d44a47 Extracted convertReservedXmlCharacters() and convertDiacritics() 2022-02-07 00:18:08 +01:00
dankito bc180f68ab Forgot to commit that closeDialog has been added 2022-02-07 00:18:08 +01:00
dankito 229da4efc8 Calling askUserForTanMethod() instead of selecting user's TAN method automatically 2022-02-07 00:18:08 +01:00
dankito 24dfe34c1f Implemented calling getTanMediaList() only if retrieving TAN media is supported 2022-02-07 00:18:08 +01:00
dankito 63ec9e074a Fixed that getUsersTanMethod() is async but caller had no chance to wait for response 2022-02-07 00:18:08 +01:00
dankito ee38799cad Replaced areWeThatGentleToCloseDialogs by DialogContext.closeDialog 2022-02-07 00:18:08 +01:00
dankito 95736a8150 Removed unused messageMayRequiresTan 2022-02-07 00:18:07 +01:00
dankito f4d8b09260 Added fetchBalanceAndTransactions to addAccount() to determine if balance and transactions should be retrieved after retrieving bank accounts of a newly added account 2022-02-07 00:18:07 +01:00
dankito 9e5b18a522 Renamed initDialog() to initDialogWithStrongCustomerAuthentication() 2022-02-07 00:18:07 +01:00
dankito dd01c7416a Replaced newUserInfoResponse by getAccountsResponse 2022-02-07 00:18:07 +01:00
dankito 75525d704a Also taking now message feedbacks into account to evaluate if wrong credentials have been entered 2022-02-07 00:18:07 +01:00
dankito 38bb0c90ff Implemented detecting if wrong credentials have been entered (not 100 % reliable though) 2022-02-07 00:18:07 +01:00
dankito 69375602e3 Filtering out 'Dialogabbruch' feedbacks 2022-02-07 00:18:07 +01:00
dankito e4aa38e11f Displaying now also response code to user. May she then can help us better (or she may even knows what to do with this information) 2022-02-07 00:18:07 +01:00
dankito 5580313eeb Setting countDaysForWhichTransactionsAreKept now on account and not on bank anymore as the count may differs from account type to account type (e.g. 540 days for checking accounts and 9999 days for credit card accounts) 2022-02-07 00:18:07 +01:00
dankito 6d41b89f1d Implemented parsing credit card transactions parameters 2022-02-07 00:18:07 +01:00
dankito d209bc46fc Renamed haveAllTransactionsBeenFetched to haveAllTransactionsBeenRetrieved and isAccountTypeSupported to isAccountTypeSupportedByApplication 2022-02-07 00:18:07 +01:00
dankito 9854ac000e Little refactoring 2022-02-07 00:18:07 +01:00
dankito b94c5d5cf5 Added toString() 2022-02-07 00:18:07 +01:00
dankito c66f27d88b Fixed parsing the correct amount 2022-02-07 00:18:07 +01:00
dankito bf9d406053 Renamed usage to reference, remittee to recipient and instant payment to real-time transfer 2022-02-07 00:18:07 +01:00
dankito d0910b7180 Parsing now also isCleared 2022-02-07 00:18:07 +01:00
dankito e0dbd00634 Implemented retrieving credit card transactions 2022-02-07 00:18:07 +01:00
dankito d16450d46b Stopping execution now only if a severe error occurred during balance retrieval that closed dialog 2022-02-07 00:18:07 +01:00
dankito c7d6718cce Fixed that if alsoRetrieveBalance is set to false or account doesn't support retrieving balance execution stops here forever and never returns 2022-02-07 00:18:07 +01:00
dankito dee6f4aebe Making use of supportXyz convenience properties 2022-02-07 00:18:07 +01:00
dankito 395ef5445c Fixed that as now retrievedData contains an entry for each account only if account supports retrieving transactions retrieval must be successful 2022-02-07 00:18:07 +01:00
dankito 09d90c6c9d Renamed property accountData to account 2022-02-07 00:18:07 +01:00
dankito 7d8d1eb6d0 Implemented returning default / unsuccessful RetrievedAccountData also for accounts that do not support retrieving transactions or balance 2022-02-07 00:18:07 +01:00
dankito d420cfcfb2 Added convenience properties to determine account features 2022-02-07 00:18:07 +01:00
dankito e973ce256b Added conversion to BigDecimal directly to Amount 2022-02-07 00:18:07 +01:00
dankito b99522fda9 Renamed nameOfTanMediaRequired to nameOfTanMediumRequired 2022-02-07 00:18:07 +01:00
dankito 0efb4ba708 Made supportedFeatures accessible 2022-02-07 00:18:07 +01:00
dankito 1ff2c0ecf3 Renamed messageLogField to messageLog 2022-02-07 00:18:07 +01:00
dankito 50505831ea Removed outdated 'Customer' from method name 2022-02-07 00:18:07 +01:00
dankito f96e7a4b30 Fixed setting ninety days ago to from midnight on so that retrievedTransactionsFromOn gets set correctly -> check in BankingPresenter if all transactions have been fetched also works for this day 2022-02-07 00:18:07 +01:00
dankito 13d95f4bda Implemented storing and displaying for which period account transactions have been fetched 2022-02-07 00:18:07 +01:00
dankito 700e3e6da9 Implemented mapping and displaying if an account type is supported or not 2022-02-07 00:18:07 +01:00
dankito a59b335316 If account type field is not set (as it e.g. comdirect does), trying to extract account type from account name 2022-02-07 00:18:07 +01:00
dankito f5f3f34d3b Renamed TanProcedure to TanMethod in fints4k 2022-02-07 00:18:07 +01:00
dankito 094d669148 Implemented evaluating count days for which bank stores transactions -> don't show fetch all transactions overlay if bank server doesn't store additional transactions 2022-02-07 00:18:07 +01:00
dankito 7a64177d47 Renamed Response to BankResponse 2022-02-07 00:18:07 +01:00
dankito c576673efb Refactored that all internal methods return Response and only public methods return FinTsClientResponse. Fixes bug that when internal methods returned AddAccountResponse successful was false as at this point no account have been added yet 2022-02-07 00:18:07 +01:00
dankito ae56bab18a Fixed updating to new signatures 2022-02-07 00:18:07 +01:00
dankito 129b4f64fa Added account to GetTransactionsParameter 2022-02-07 00:18:07 +01:00
dankito d8739cf193 Renamed isSuccessful to successful 2022-02-07 00:18:07 +01:00
dankito ec3cdb1c39 Added convenience constructor for when an error occurred 2022-02-07 00:18:07 +01:00
dankito 2d4499514a Implemented calculating isSuccessful in AddAccountResponse and GetTransactionsResponse 2022-02-07 00:18:07 +01:00
dankito 044648f569 Calculating supportsRetrievingTransactionsOfLast90DaysWithoutTan now from retrieved data (but try to get rid of it anyway) 2022-02-07 00:18:07 +01:00
dankito 99205b53c9 Removed bankAccount property from GetTransactionsResponse 2022-02-07 00:18:07 +01:00
dankito da5e285d61 Fixed that no Set hasn't been used 2022-02-07 00:18:07 +01:00
dankito 50a5938046 Made all properties overridable 2022-02-07 00:18:07 +01:00
dankito 7cb19d6f7d Extracted RetrievedAccountData, makes code way better readable 2022-02-07 00:18:07 +01:00
dankito 4ae4609ffb Not persisting segmentNumber, referenceSegmentNumber and segmentString. We don't need them after restoring and make resulting JSON file much smaller 2022-02-07 00:18:07 +01:00
dankito f4128a2875 Implemented checking if bank supports setting count max entries. Had to adjust Jackson serialization so that and not just JobParameters gets saved and restored and to implement a lot of default constructors for this 2022-02-07 00:18:07 +01:00
dankito b403557f2d Implemented checking if bank supports setting count max entries. Had to adjust Jackson serialization so that and not just JobParameters gets saved and restored and to implement a lot of default constructors for this 2022-02-07 00:18:07 +01:00
dankito 4ed3d44b9e Implemented parsing retrieve account transactions in MT940 format job parameters 2022-02-07 00:18:07 +01:00
dankito a64e0b9427 Fixed that last allowed job was discarded when extension isn't set 2022-02-07 00:18:07 +01:00
dankito 75399e0664 Implemented logging only if it's really an exception and not a known wrong implementation of FinTS standard 2022-02-07 00:18:07 +01:00
dankito 497b82ce09 Started to implement to remove unnecessary spaces in usage, but now having to few 2022-02-07 00:18:07 +01:00
dankito 0e0a7b5207 Implemented filtering out duplicate transactions as some banks return some transactions multiple times in MT940 response 2022-02-07 00:18:06 +01:00
dankito 0f672f414b Fixed that when entering TAN is required chunkedResponseHandler got called for same handledResponse multiple time, therefore adding e.g. same transactions multiple times to bookedTransactions 2022-02-07 00:18:06 +01:00
dankito 68742cc6a3 Fixed that comparing TanProcedures failed 2022-02-07 00:18:06 +01:00
dankito 50c6a72dff Fixed checking if usage is formatted 2022-02-07 00:18:06 +01:00
dankito f2bbff804d Implemented convenience constructors 2022-02-07 00:18:06 +01:00
dankito e36576e4c6 Added bankCodeForOnlineBanking to make clear that bank code for online banking may differs from bank's bank code 2022-02-07 00:18:06 +01:00
dankito 63259ff404 Merged CustomerData and BankData 2022-02-07 00:18:06 +01:00
dankito 49d34f1733 Removed unused supportsRetrievingTransactionsOfLast90DaysWithoutTan and triedToRetrieveTransactionsOfLast90DaysWithoutTan 2022-02-07 00:18:06 +01:00
dankito 397acebf79 Extracted iOSIsRealDevice so that it's easier to switch between iOS Simulator and real device 2022-02-07 00:18:06 +01:00
dankito 8b1051092a Updated to new method signatures 2022-02-07 00:18:06 +01:00
dankito 2c1c690302 Extracted settings to top of class 2022-02-07 00:18:06 +01:00
dankito dbc30abe2b Moved FinTsClientTestBase back to JVM tests and adjusted to new method signatures 2022-02-07 00:18:06 +01:00
dankito e2199c8494 Generified checking if retrieving user's TAN procedures was successful 2022-02-07 00:18:06 +01:00