From 8b18bdfbb9bc3e0533c5629fc4308f841d405ecc Mon Sep 17 00:00:00 2001 From: KolSmn <74245816+KolSmn@users.noreply.github.com> Date: Mon, 5 Jan 2026 12:09:29 +0100 Subject: [PATCH] Add support for 3945 response despite exact vop name match (#206) * support 3945 response despite exact vop match * replace if by elif --- docs/transfers.rst | 6 +++++- fints/client.py | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/transfers.rst b/docs/transfers.rst index 343cf83..c2e20c2 100644 --- a/docs/transfers.rst +++ b/docs/transfers.rst @@ -79,7 +79,11 @@ Full example tan = input('Please enter TAN:') res = client.send_tan(res, tan) elif isinstance(res, NeedVOPResponse): - if res.vop_result.vop_single_result.result == "RVMC": + if res.vop_result.vop_single_result.result == "RCVC": + print("Payee name is an exact match") + if res.vop_result.vop_single_result.other_identification: + print("Other info retrieved by bank:", res.vop_result.vop_single_result.other_identification) + elif res.vop_result.vop_single_result.result == "RVMC": print("Payee name is a close match") print("Name retrieved by bank:", res.vop_result.vop_single_result.close_match_name) if res.vop_result.vop_single_result.other_identification: diff --git a/fints/client.py b/fints/client.py index 1e73582..7e0898a 100644 --- a/fints/client.py +++ b/fints/client.py @@ -1461,7 +1461,8 @@ class FinTS3PinTanClient(FinTS3Client): hivpp = response.find_segment_first(HIVPP1, throw=True) vop_result = hivpp.vop_single_result - if vop_result.result in ('RVNA', 'RVNM', 'RVMC'): # Not Applicable, No Match, Close Match + # Not Applicable, No Match, Close Match, or exact match but still requires confirmation + if vop_result.result in ('RVNA', 'RVNM', 'RVMC') or (vop_result.result == 'RCVC' and '3945' in [res.code for res in response.responses(tan_seg)]): return NeedVOPResponse( vop_result=hivpp, command_seg=command_seg, -- 2.47.3