SEPA · Uczestnictwo banku · Odpowiedzi API
Sprawdzanie uczestnictwa banku w SEPA za pomocą API IBAN-Test
Użyj odpowiedzi weryfikacyjnej IBAN, aby sprawdzić udział banku w podstawowym poleceniu zapłaty SEPA, poleceniu korporacyjnym, przelewie bankowym i przelewie bankowym w czasie rzeczywistym. Rozważ każdą procedurę osobno i rozróżnij udział potwierdzony i nieznany.
Ten przewodnik wyjaśnia pola odpowiedzi i zawiera przykład języka Python umożliwiający ocenę odpowiedzi na żywo lub zapisanego pliku JSON. Sprawdzane jest uczestnictwo banku, a nie zdolność konkretnego rachunku do dokonania płatności.
Pobierz przykładową odpowiedź SEPA
Pakiet zawiera sepa_check.py, pomocnika API, ilustracyjne dane testowe JSON i testy offline. Wymagana jest wersja Pythona 3.10 lub wyższa; Nie ma żadnych zależności od stron trzecich.
Stan testów: Ocena przeszła siedem lokalnych testów dotyczących niezależnych procedur, brakujących danych, nieprawidłowych numerów IBAN, błędów technicznych i nieprawidłowych pól. Polecenie offline również zostało wykonane. Dane testowe nie pochodzą z prawdziwego zapytania bankowego; w tym przykładzie nie przeprowadzono uwierzytelnionej kontroli API na żywo.
Co oznaczają cztery pola
API IBAN-Test porównuje uczestnictwo z rejestrami uczestników Europejskiej Rady ds. Płatności. Procedury opisują różne usługi płatnicze; Potwierdzenie jednego nie oznacza uczestnictwa w pozostałych. Podstawowe listy można znaleźć w rejestry uczestników EPC.
| Pole odpowiedzi | Procedura | Ważne rozróżnienie |
|---|---|---|
details.sepa.sddCore | Polecenie zapłaty SEPA Core | Udział banku nie stanowi dowodu ważnego upoważnienia ani możliwości polecenia zapłaty dla konkretnego rachunku. |
details.sepa.sddB2b | Polecenie zapłaty SEPA B2B | Potwierdzenie Core nie oznacza uczestnictwa w B2B. |
details.sepa.sct | Przelew SEPA | Przelewy standardowe i przelewy w czasie rzeczywistym mają niezależne wyniki. |
details.sepa.sctInst | Przelew natychmiastowy SEPA | Uczestnictwo nie potwierdza aktualnej dostępności poprzez RT1/TIPS ani nie gwarantuje natychmiastowej realizacji konta. |
1. Sprawdź numer IBAN
Użyj normalnego punktu końcowego weryfikacji IBAN. Do tego procesu nie jest wymagane żadne dodatkowe wywołanie SEPA:
POST https://www.iban-test.eu/api/v2/iban/validate
Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json
{"iban":"DE89 3704 0044 0532 0130 00"}
Powyższy numer IBAN jest przykładem, a nie instrukcją płatności. Najpierw sprawdź status HTTP i wynik sprawdzania poprawności. Użyteczna odpowiedź dla prawidłowego numeru IBAN obejmuje code: 2100 i error: false. Pola SEPA są wówczas dostępne pod details.sepa, jeśli udostępnia je API. Oddzielne punkty końcowe dla weryfikacji BIC i weryfikacji konta w Niemczech nie udostępniają tych pól SEPA.
2. Rozróżnij pomiędzy „potwierdzonymi” i „nieznanymi”.
Każda procedura obejmuje status i reason:
confirmed: API znalazło jednoznaczne, aktualne dopasowanie w rejestrze uczestników tego schematu.unknown: API nie mogło potwierdzić uczestnictwa. Nie oznacza to, że bank nie obsługuje tego schematu.
Poniższy fragment ma wyłącznie charakter ilustracyjny. Pokazuje, dlaczego cztery oddzielne kolumny są bardziej pomocne niż pojedynczy wskaźnik „obsługiwany SEPA”:
{
"sddCore": {"status": "confirmed", "reason": "matched"},
"sddB2b": {"status": "unknown", "reason": "no_match"},
"sct": {"status": "confirmed", "reason": "matched"},
"sctInst": {"status": "unknown", "reason": "stale_data"}
}
Dane testowe potwierdzają Core i SCT. B2B pozostaje niepotwierdzony, a wynik dla przelewów w czasie rzeczywistym opiera się na nieaktualnych danych. Żadna z tych nieznanych wartości nie zmienia pierwotnego wyniku weryfikacji IBAN.
3. Uruchom przykład w trybie offline
Rozpakuj pobrany plik i uruchom:
python3 sepa_check.py --response example-response.json
Żadne żądanie sieciowe nie jest wysyłane i nie jest wymagany żaden token. Program generuje podsumowanie JSON zawierające iban_status, informacje bankowe i cztery oddzielne wyniki procedur. source: "offline_file" wskazuje źródło sygnału wejściowego. W dostarczonym pliku znajduje się nazwa fikcyjnego banku i nie można go używać jako dowodu istnienia prawdziwej instytucji.
Jeśli w zapisanej odpowiedzi brakuje pól SEPA, pomocnik zwraca unknown z missing_response_data. Powód ten jest lokalnym znakiem przykładu, a nie kodem przyczyny interfejsu API IBAN-Test. Nieoczekiwane wartości statusu lub wadliwe obiekty proceduralne zatrzymują program zamiast zostać po cichu zaakceptowane.
4. Sprawdź reakcję na żywo
python3 sepa_check.py --iban "DE89 3704 0044 0532 0130 00"
Program zapyta o Twój token bez jego wyświetlania. Alternatywnie wdróż IBAN_TEST_API_TOKEN poprzez tajną konfigurację środowiska wykonawczego. Uruchomienie na żywo wykonuje żądanie weryfikacji numeru IBAN i obciąża Twój limit API. Pomocnik wykorzystuje limit czasu, sprawdza TLS, nie podąża za przekierowaniami i nie ponawia automatycznie żądań.
W systemie Windows w razie potrzeby użyj py -3 zamiast python3. Kod zakończenia 0 oznacza prawidłowy IBAN, nawet gdy wynik jednego lub kilku schematów jest nieznany; 2 oznacza negatywny wynik walidacji IBAN, a 1 błąd operacyjny lub wejściowy. Sprawdź każdy schemat osobno: kod 0 nie oznacza potwierdzenia wszystkich schematów.
Zrozumienie nieznanego wyniku
| Powód API | Znaczenie dla Twojej integracji |
|---|---|
no_data, missing_bic | Dane potrzebne do potwierdzenia nie były dostępne. |
ambiguous_bank, ambiguous_participant | Nie udało się jednoznacznie przypisać banku ani uczestnika rejestru. |
no_match | Nie znaleziono pasującego wpisu rejestru. Nie należy z tego czerpać całkowitego braku wsparcia. |
not_current, stale_data | Wpis do rejestru lub dostępne dane nie stanowią dowodu na aktualne uczestnictwo. |
lookup_error | Nie można ukończyć zapytania dotyczącego udziału. |
Zapisuj status razem z przyczyną. Dla nieznanego wyniku wyświetl „Nie można potwierdzić uczestnictwa” i skieruj przypadek do procesu weryfikacji w aplikacji. Nie oznaczaj automatycznie IBAN jako nieprawidłowego ani nie twierdź, że bank nie obsługuje danego rodzaju płatności.
Oddziel błędy API od wyników uczestnictwa
Błąd uwierzytelnienia HTTP, wyczerpanie limitu lub błąd serwera nie są wynikiem udziału banku unknown. Przykład zatrzymuje się przed oceną procedury, jeśli żądanie już się nie powiedzie. Podobnie IBAN z nieprawidłową sumą kontrolną nie prowadzi do decyzji proceduralnej. Oznacza to, że niedostępna usługa nie staje się mylącym stwierdzeniem na temat możliwości banku.
Uruchom dołączone testy offline przy użyciu python3 -m unittest -v. W przypadku większych list wejściowych zacznij od Instrukcje CSV i Python i zachowaj oddzielną parę status-przyczyna dla każdej procedury w miarę rozszerzania danych wyjściowych.
Dane techniczne: dokumentacja API IBAN-Test i kody przyczyny SEPA. Weryfikacja IBAN i potwierdzone uczestnictwo banku nie dowodzą własności konta, istnienia konta, upoważnienia, dostępnych środków ani powodzenia płatności.
