Swiss Open Banking Developer Page

Willkommen auf der Open Banking API Entwicklerseite. Hier beschreiben wir die Sandbox-Umgebung von Ergon. Ziel unserer Sandbox ist es, das einfache Entwickeln und Testen einer Drittanbieter-Applikation für die Swiss NextGen API zu ermöglichen. Dazu gehören Anwendungsfälle, bei denen ein Drittanbieter (TPP) Kontoinformationen des Kunden abrufen und in seinem Namen Zahlungsaufträge initiieren kann.

Die Swiss NextGen API ist eine erweiterte Version der PSD2 API der Berlin Group. Sie erfüllt alle spezifischen Anforderungen der Schweizer Zahlungsrichtlinien und soll zum API-Standard für Open Banking in der Schweiz werden.

Die Sandbox basiert auf der Ergon Swiss Open Banking Solution. Sie liefert Banken eine betriebsbereite Applikation, um den Swiss NextGen API Standard zu integrieren und anzubieten. So können sie neue Märkte erschliessen und verbesserte Kundenerlebnisse schaffen.

Sandbox-Architektur

Swiss Open Banking Sandbox Architecture

Airlock
Airlock ist ein von Ergon entwickelter Secure Access Hub, der Webapplikationen schützt und sicheres Access Management gewährleistet. Obwohl die Integration von Airlock in die Architektur nicht zwingend ist, empfehlen wir das PSD2-Modul von Airlock, um die Swiss Open Banking Solution mit massgeschneiderten Sicherheitsfeatures zu ergänzen.

Swiss NextGen API
Die Swiss NextGen API wird durch den TPP angewendet und ist durch OpenBankingProject.ch definiert.

Webapplikation für Consent-Management
Eine Kunden-Webapplikation ermöglicht es, alle «aktiven» Zustimmungen einzusehen und bei Bedarf zu widerrufen.

Webapplikation für die Consent-Autorisierung
Eine Kunden-Webapplikation ermöglicht die Annahme oder Ablehnung von Kontofreigaben und Zahlungen. Der Nutzer wird durch den TPP zu dieser Webapplikation weitergeleitet und durch eine benutzerfreundliche Schnittstelle geführt.

Online-Banking
Ein Mock-up mit unveränderlichen Daten stellt die nötigen Funktionalitäten für die Swiss NextGen API und die Consent-Management-Applikation bereit. In einem produktiven Umfeld würde dieses Mock-up durch ein Core-Banking-Backend und oder durch einen Online-Banking-Server ersetzt werden.

Starke Kundenauthentifizierung (SCA)
Die Swiss Open Banking Solution von Ergon verwendet Weiterleitung für die SCA. Nachdem eine Zustimmung oder eine Zahlung initiiert wurde, sendet die Sandbox eine URL, an welche der TPP seine User weiterleitet.


Testing starten

Die Sandbox bietet eine vereinfachte Umgebung für Entwickler. Entsprechend fallen die Zertifikatverarbeitung und das User-Login beim Consent-Management weg.

Postman
Wir verwenden Postman, um unsere Swiss Open Banking Solution zu entwickeln und zu testen. Wir stellen die Postman-Umgebungskonfiguration für die Sandbox zusammen mit den Kontoinformationsanfragen und den Zahlungsinformationsanfragen zur Verfügung. Diese liefern die Konfiguration für den Zugang zur Sandbox und zeigen Beispiele, wie Sie Ihre Anfragen korrekt formulieren. Deshalb empfehlen wir, den Postman-Client herunterzuladen und die Dateien zu importieren.

Bitte beachten Sie, dass die Anfragensammlungen auch Anfragen enthalten, welche die Consent-Management-Applikation der Bank ausführen würde, wenn der User mit der User-Information interagiert. Diese Anfragen müssen Sie nicht in Ihrer TPP-Applikation implementieren, aber sie ermöglichen eine schnellere Erstellung von Zustimmungen und Zahlungen. Sie können ohne weiteres einfach diese Anfragen ausführen, anstatt manuell mit der Consent-Management-Applikation zu interagieren.

Die Anfragen mit vorangestelltem «TPP» sind Anfragen, welche die TPP-Applikation stellen würde. Ein vorangestelltes «CMS» bezeichnet die Anfragen, welche die Consent-Management-Applikation stellen würde. Diese können im echten Betrieb nicht durch den TPP gestellt werden, da sie durch das Bank-Login geschützt sind.

Wichtiger Hinweis

Durch dieses vereinfachte Set-up teilen alle Entwickler, die die Sandbox benutzen, die gleiche TPP-ID und können die Daten anderer Entwickler einsehen. Bitte verwenden Sie nie echte Daten, sondern arbeiten Sie ausschliesslich mit Testdaten.

Anwendungsfall «Kontoinformation»

Postman Kontoinformation

Nehmen wir an, der Drittanbieter (TPP) ist ein Kreditgeber, der die Bankkonten des Kunden einsehen möchte, um eine personalisierte Kreditofferte auszuarbeiten. In diesem Fall würde die Kreditapplikation des TPP zuerst eine Anfrage ausführen, um eine neue Zustimmung für den Zugriff auf Kontoinformationen zu erstellen.

 

Postman-Aktion
Anfrage Nummer 1 mit Postman ausführen.

Der TPP könnte eine Liste von Konten weitergeben, die er vom Kunden erhalten hat. Oder aber er lässt die Zustimmung leer, um den Zugang zu jeglichen Konten zu erhalten, zu denen der Kunde den Zugang gewährt. Die Antwort auf die Anfrage würde ungefähr wie folgt aussehen:

Antwort anfordern
    
{
    "consentStatus": "received",
    "consentId": "MmF5ff5I_EIJySWG-EaC_7moFEieyGS6qLPNfMjfnN_0sJxzjJZwQogVubgNMU_bVk6tDBU-9YRguOF9hI9mcPSdMWF3876hAweK_n7HJlg=_=_psGLvQpt9Q",
    "_links": {
        "scaRedirect": {
            "href": "https://bank.openbanking.ergon.ch/consent-api-psu/app/account/consent/2e4bcf88-5bc2-4c42-a4e6-1667dac238ba/MmF5ff5I_EIJySWG-EaC_7moFEieyGS6qLPNfMjfnN_0sJxzjJZwQogVubgNMU_bVk6tDBU-9YRguOF9hI9mcPSdMWF3876hAweK_n7HJlg=_=_psGLvQpt9Q/43a8b150-e869-44cd-8079-d2f9061b00b5"
        },
        "self": {
            "href": "http://swissnextgenapi.openbanking.ergon.ch/v1/consents/MmF5ff5I_EIJySWG-EaC_7moFEieyGS6qLPNfMjfnN_0sJxzjJZwQogVubgNMU_bVk6tDBU-9YRguOF9hI9mcPSdMWF3876hAweK_n7HJlg=_=_psGLvQpt9Q"
        },
        "status": {
            "href": "http://swissnextgenapi.openbanking.ergon.ch/v1/consents/MmF5ff5I_EIJySWG-EaC_7moFEieyGS6qLPNfMjfnN_0sJxzjJZwQogVubgNMU_bVk6tDBU-9YRguOF9hI9mcPSdMWF3876hAweK_n7HJlg=_=_psGLvQpt9Q/status"
        },
        "scaStatus": {
            "href": "http://swissnextgenapi.openbanking.ergon.ch/v1/consents/MmF5ff5I_EIJySWG-EaC_7moFEieyGS6qLPNfMjfnN_0sJxzjJZwQogVubgNMU_bVk6tDBU-9YRguOF9hI9mcPSdMWF3876hAweK_n7HJlg=_=_psGLvQpt9Q/authorisations/2e4bcf88-5bc2-4c42-a4e6-1667dac238ba"
        }
    },
    "psuMessage": ""
}
    
  

Die Kreditapplikation kann die scaRedirect URL extrahieren und den Browser des Kunden zu dieser URL weiterleiten. Die URL führt auf die Seite der Kundenbank und startet deren Consent-Management-Applikation.

Browser-Aktion
Um die Weiterleitung zu simulieren, kopieren Sie den Wert aus der Antwort, die Sie in Ihrer Postman-Anfrage erhalten, und fügen diese in die Adressleiste Ihres Browsers ein.

Nach dem Login in das Bankkonto (in der Sandbox-Umgebung nicht erforderlich) sieht der User die nachfolgenden Screens.

1. Kontoauswahl

Kontofreigabe Auswahl

Der User wählt die Konten aus, auf die der TPP zugreifen darf. Bitte beachten Sie, dass in der aktuellen Consent-Management-Applikation Kontostände und Transaktionen immer für jedes ausgewählte Konto eingefügt sind.

2. Transaktionssignierung

Kontofreigabe Transaktionssignierung

Der User scannt das Kryptogramm und gibt den Code ein. Verwenden Sie «0000000», um die TAN zu simulieren.

3. Weiterleitung

Weiterleitung

Dies ist der Weiterleitungs-Screen nach der Bestätigung der Transaktion.

Am Ende des Kontofreigabeprozesses leitet die Consent-Management-Applikation der Bank den User zu den URLs weiter, welche die Kreditapplikation in ihrer ersten Anfrage weitergegeben hat. Sie sind mit den Headern TPP-Redirect-URL versehen, um einen Prozess erfolgreich abzuschliessen. Alternativ steht TPP-Nok_Redirect-URL für einen gescheiterten Abschluss oder um den Prozess abzubrechen. Entsprechend sollte die Kreditapplikation URLs wählen, die definieren, ob der Prozess erfolgreich war oder nicht.

Die Kreditapplikation kann zu jedem Zeitpunkt im Prozess beide Endpunkte im Account Information Service in der Swiss NextGen API abrufen. Das erlaubt der Kreditapplikation, den Stand der Zustimmung zu überwachen und Kontoinformationen des Kunden abzurufen. Diese Informationen können nur von spezifischen Konten abgerufen werden, nachdem der Kunde die Kontofreigabe erteilt hat.

Postman-Aktion
Bitte beachten Sie, dass die Anfragen 5–10 nicht erforderlich sind, um den Zugang zu einem Konto zu gewähren. Sie liefern aber nützliche Informationen zum Status der Zustimmungsanfrage.

Anwendungsfall «Zahlung»

Postman Zahlung

Nehmen wir an, der Drittanbieter (TPP) ist ein Online-Shop. Der Kunde hat einige Produkte ausgewählt und sich für Open Banking als Zahlungsmethode entschieden. Der TPP erstellt darauf eine Zahlung vom Bankkonto des Kunden zum Bankkonto des Shops. Der erste Schritt wäre:

 

Postman-Aktion
Anfrage Nummer 1 ausführen im Anwendungsfall «Complete round trip».

Dadurch wird eine temporäre Zahlungsanweisung erstellt, die der User prüfen und genehmigen muss. Eine typische Antwort aus dieser Anfrage sieht wie folgt aus:

Antwort anfordern
    
{
    "transactionStatus": "RCVD",
    "paymentId": "Ew6fUemXdJrEXvUA1oSUbnTeQDtpRdYvjycq7XHxAfuSGrMvM2ci6Lw2dBiipRuM3t8arzxVIETJPRlC18AIY_SdMWF3876hAweK_n7HJlg=_=_psGLvQpt9Q",
    "_links": {
        "scaRedirect": {
            "href": "https://bank.openbanking.ergon.ch/consent-api-psu/app/payment/approve/a159f0ed-7a1b-4180-9117-1f5143ed3877/Ew6fUemXdJrEXvUA1oSUbnTeQDtpRdYvjycq7XHxAfuSGrMvM2ci6Lw2dBiipRuM3t8arzxVIETJPRlC18AIY_SdMWF3876hAweK_n7HJlg=_=_psGLvQpt9Q/f1a62aff-c09e-4557-ad7c-f3ae175a3135"
        },
        "self": {
            "href": "http://swissnextgenapi.openbanking.ergon.ch/v1/payments/swiss-sepa-credit-transfers/Ew6fUemXdJrEXvUA1oSUbnTeQDtpRdYvjycq7XHxAfuSGrMvM2ci6Lw2dBiipRuM3t8arzxVIETJPRlC18AIY_SdMWF3876hAweK_n7HJlg=_=_psGLvQpt9Q"
        },
        "status": {
            "href": "http://swissnextgenapi.openbanking.ergon.ch/v1/payments/swiss-sepa-credit-transfers/Ew6fUemXdJrEXvUA1oSUbnTeQDtpRdYvjycq7XHxAfuSGrMvM2ci6Lw2dBiipRuM3t8arzxVIETJPRlC18AIY_SdMWF3876hAweK_n7HJlg=_=_psGLvQpt9Q/status"
        },
        "scaStatus": {
            "href": "http://swissnextgenapi.openbanking.ergon.ch/v1/payments/swiss-sepa-credit-transfers/Ew6fUemXdJrEXvUA1oSUbnTeQDtpRdYvjycq7XHxAfuSGrMvM2ci6Lw2dBiipRuM3t8arzxVIETJPRlC18AIY_SdMWF3876hAweK_n7HJlg=_=_psGLvQpt9Q/authorisations/a159f0ed-7a1b-4180-9117-1f5143ed3877"
        }
    }
}
    
  

Die Online-Shop-Applikation muss die scaRedirect URL extrahieren und den Browser des Kunden zu dieser URL weiterleiten. Die URL führt auf die Seite der Kundenbank und startet deren Consent-Management-Applikation.

Browser-Aktion
Um die Weiterleitung zu simulieren, kopieren Sie den Wert aus der Antwort, die Sie in Ihrer Postman-Anfrage erhalten und fügen diese in die Adressleiste Ihres Browsers ein. 

Nach dem Login in das Online-Banking der Bank (in der Sandbox-Umgebung nicht erforderlich) sieht der User die nachfolgenden Screens. Beachten Sie, dass für die Sandbox kein echtes Bankkonto nötig ist.

1. Zahlungsverifizierung

Zahlungsverifizierung

Der User verifiziert die Zahlung.

2. Transaktionssignierung

Zahlung Transaktionssignierung

Der User scannt das Kryptogramm und gibt den Code ein. Verwenden Sie «0000000, um den TAN-Code in der Sandbox zu simulieren.

3. Weiterleitung

Weiterleitung

Dies ist der Weiterleitungs-Screen nach der Bestätigung der Transaktion.

Am Ende des Zahlungsfreigabeprozesses leitet die Consent-Management-Applikation der Bank den User zu den URLs weiter, welche die Online-Shop-Applikation in ihrer ersten Anfrage weitergegeben hat. Sie sind mit den Headern TPP-Redirect-URL versehen, um einen Prozess erfolgreich abzuschliessen. Alternativ steht TPP-Nok_Redirect-URL für einen gescheiterten Abschluss oder um den Prozess abzubrechen. Entsprechend sollte die Online-Shop-Applikation URLs wählen, die definieren, ob der Prozess erfolgreich war oder nicht.

Die Online-Shop-Applikation kann zu jedem Zeitpunkt im Prozess beide Endpunkte im Payment Initiation Service in der Swiss NextGen API abrufen. Sie erlauben der Online-Shop-Applikation, den Stand der Zahlung zu überwachen.

Postman-Aktion
Alle TPP-Anfragen von 01a bis 08b können gestellt werden, sobald die initiale Anfrage ausgeführt wurde. Sie liefern Informationen zur Zahlung sowie deren Stand und ermöglichen die Abbruch einer Zahlung.

Glossar

TPP Third party provider (Drittanbieter)
SCA Strong customer authentication (Starke Kundenauthentifizierung)
AIS Account Information Service
PIS Payment Initiation Service
NextGenPSD2 PSD2 API Spezifikationen der Berlin Group.
Swiss NextGen API Swiss Open Banking API Spezifikationen auf Basis von NextGenPSD2. Die Spezifikationen werden durch das OpenbankingProject definiert.
Ergon Swiss Open Banking Solution Implementierung von NextGenPSD2 und SwissNextGenAPI.
Airlock Secure Access Hub von Ergon (API Gateway, Web Application Firewall, Identity Access Management, Zwei-Faktor-Authentifierung)

table { display: block; width: 100%; } th { font-family: "AktivGrotesk",sans-serif; font-weight: bold; } th, td { padding: 5px 25px 5px 0px; margin-right: 5px; text-align: left; hyphens: auto; vertical-align: top; } th p { font-weight: normal; } td { vertical-align: top; } tr { border-bottom: 1px solid black; } .left { width: 25%; font-weight: bold; padding: 5px 0px 5px 0px;; } .spaltenbreite { width: 80%; }

Kontakt bei Ergon

Adrian Berger
Adrian Berger
MD Finance & Telecom Solutions
+41 44 268 89 26
adrian.berger@ergon.ch
Sascha Rieger
Sascha Rieger
Senior Key Account Manager
+41 44 268 86 36
sascha.rieger@ergon.ch